<?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>80831</bug_id>
          
          <creation_ts>2012-03-12 06:07:42 -0700</creation_ts>
          <short_desc>[Blackberry] Make the process of marking all matches interruptible and asynchronous for find-in-page</short_desc>
          <delta_ts>2012-03-12 15:38:28 -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>WebKit BlackBerry</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andy Chen">andchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576093</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-12 06:07:42 -0700</bug_when>
    <thetext>The function needs to be interruptible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576370</commentid>
    <comment_count>1</comment_count>
      <attachid>131376</attachid>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-12 12:09:12 -0700</bug_when>
    <thetext>Created attachment 131376
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576584</commentid>
    <comment_count>2</comment_count>
      <attachid>131376</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-03-12 15:01:07 -0700</bug_when>
    <thetext>Comment on attachment 131376
patch

We are having way to many bool parameters and class members set here and there, whereas it seems to me we actually need a kind of state machine of some sort.

Lets considering cleaning it up at some point please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576626</commentid>
    <comment_count>3</comment_count>
      <attachid>131376</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 15:38:23 -0700</bug_when>
    <thetext>Comment on attachment 131376
patch

Clearing flags on attachment: 131376

Committed r110492: &lt;http://trac.webkit.org/changeset/110492&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576627</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 15:38:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131376</attachid>
            <date>2012-03-12 12:09:12 -0700</date>
            <delta_ts>2012-03-12 15:38:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-2012-03-07-Andy-Chen-andchen-rim.com.patch</filename>
            <type>text/plain</type>
            <size>14482</size>
            <attacher name="Andy Chen">andchen</attacher>
            
              <data encoding="base64">RnJvbSA4NTI2ZjNiNTY5NGM1NjI1YWEyYzhkOWE2MzhjNDcyMDQ2ZmQ3NGE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmR5IENoZW4gPGFuZGNoZW5AcmltLmNvbT4KRGF0ZTogV2Vk
LCA3IE1hciAyMDEyIDExOjQ1OjQ5IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gMjAxMi0wMy0wNyAg
QW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgoKICAgICAgICBNYWtlIHRoZSBwcm9jZXNzIG9m
IG1hcmtpbmcgYWxsIG1hdGNoZXMgaW50ZXJ1cHRpYmxlIGFuZCBhc3luY2hyb25vdXMgZm9yIGZp
bmQtaW4tcGFnZS4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
ICogV2ViS2l0U3VwcG9ydC9JblBhZ2VTZWFyY2hNYW5hZ2VyLmNwcDoKICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpJblBhZ2VTZWFyY2hNYW5hZ2VyOjpEZWZlcnJlZFNjb3BlU3RyaW5nTWF0
Y2hlczo6RGVmZXJyZWRTY29wZVN0cmluZ01hdGNoZXMpOgogICAgICAgIChCbGFja0JlcnJ5OjpX
ZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFnZXI6OkRlZmVycmVkU2NvcGVTdHJpbmdNYXRjaGVzOjpk
b1RpbWVvdXQpOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFn
ZXI6OmZpbmROZXh0U3RyaW5nKToKICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJblBhZ2VT
ZWFyY2hNYW5hZ2VyOjpmaW5kQW5kTWFya1RleHQpOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OkluUGFnZVNlYXJjaE1hbmFnZXI6OnNjb3BlU3RyaW5nTWF0Y2hlcyk6CiAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6SW5QYWdlU2VhcmNoTWFuYWdlcjo6c2NvcGVTdHJpbmdNYXRjaGVz
U29vbik6CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5QYWdlU2VhcmNoTWFuYWdlcjo6
Y2FsbFNjb3BlU3RyaW5nTWF0Y2hlcyk6CiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0luUGFnZVNl
YXJjaE1hbmFnZXIuaDoKLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICB8ICAgMjMgKysrCiAuLi4vV2ViS2l0U3VwcG9ydC9JblBhZ2VTZWFyY2hN
YW5hZ2VyLmNwcCAgICAgICAgICB8ICAxNTcgKysrKysrKysrKysrKysrKysrLS0KIC4uLi9ibGFj
a2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5QYWdlU2VhcmNoTWFuYWdlci5oIHwgICAxNCArKy0KIDMg
ZmlsZXMgY2hhbmdlZCwgMTgxIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDI4MzE3ZDguLjIxNDhjYjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTEyICBBbmR5IENo
ZW4gIDxhbmRjaGVuQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrYmVycnldIE1ha2UgdGhlIHBy
b2Nlc3Mgb2YgbWFya2luZyBhbGwgbWF0Y2hlcyBpbnRlcnJ1cHRpYmxlIGFuZCBhc3luY2hyb25v
dXMgZm9yIGZpbmQtaW4tcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODA4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5QYWdlU2VhcmNoTWFuYWdlci5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFnZXI6OkRlZmVycmVkU2Nv
cGVTdHJpbmdNYXRjaGVzOjpEZWZlcnJlZFNjb3BlU3RyaW5nTWF0Y2hlcyk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFnZXI6OkRlZmVycmVkU2NvcGVTdHJp
bmdNYXRjaGVzOjpkb1RpbWVvdXQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJblBh
Z2VTZWFyY2hNYW5hZ2VyOjpJblBhZ2VTZWFyY2hNYW5hZ2VyKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6SW5QYWdlU2VhcmNoTWFuYWdlcjo6fkluUGFnZVNlYXJjaE1hbmFnZXIpOgor
ICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJblBhZ2VTZWFyY2hNYW5hZ2VyOjpmaW5kTmV4
dFN0cmluZyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFn
ZXI6OnNob3VsZFNlYXJjaEZvclRleHQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJ
blBhZ2VTZWFyY2hNYW5hZ2VyOjpmaW5kQW5kTWFya1RleHQpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpJblBhZ2VTZWFyY2hNYW5hZ2VyOjpjbGVhclRleHRNYXRjaGVzKToKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5QYWdlU2VhcmNoTWFuYWdlcjo6ZnJhbWVVbmxvYWRl
ZCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNlYXJjaE1hbmFnZXI6OnNj
b3BlU3RyaW5nTWF0Y2hlcyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkluUGFnZVNl
YXJjaE1hbmFnZXI6OnNjb3BlU3RyaW5nTWF0Y2hlc1Nvb24pOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpJblBhZ2VTZWFyY2hNYW5hZ2VyOjpjYWxsU2NvcGVTdHJpbmdNYXRjaGVzKToK
KyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5QYWdlU2VhcmNoTWFuYWdlcjo6Y2FuY2Vs
UGVuZGluZ1Njb3BpbmdFZmZvcnQpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5QYWdlU2Vh
cmNoTWFuYWdlci5oOgorCiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlvbkNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQv
SW5QYWdlU2VhcmNoTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0
U3VwcG9ydC9JblBhZ2VTZWFyY2hNYW5hZ2VyLmNwcAppbmRleCAwOWNmZDU1Li5mNWMxMmE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JblBhZ2VT
ZWFyY2hNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3Vw
cG9ydC9JblBhZ2VTZWFyY2hNYW5hZ2VyLmNwcApAQCAtMjQsMzAgKzI0LDYyIEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2lu
Y2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZV9wLmgiCiAKLXN0YXRpYyBjb25zdCBpbnQgVGV4dE1hdGNoTWFya2VyTGltaXQgPSAxMDA7
CitzdGF0aWMgY29uc3QgZG91YmxlIE1heFNjb3BpbmdEdXJhdGlvbiA9IDAuMTsKIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBCbGFja0JlcnJ5IHsKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitjbGFzcyBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpEZWZlcnJlZFNjb3BlU3RyaW5n
TWF0Y2hlcyB7CitwdWJsaWM6CisgICAgRGVmZXJyZWRTY29wZVN0cmluZ01hdGNoZXMoSW5QYWdl
U2VhcmNoTWFuYWdlciogaXBzbSwgRnJhbWUqIHNjb3BpbmdGcmFtZSwgY29uc3QgU3RyaW5nJiB0
ZXh0LCBib29sIHJlc2V0KQorICAgIDogbV9zZWFyY2hNYW5hZ2VyKGlwc20pCisgICAgLCBtX3Nj
b3BpbmdGcmFtZShzY29waW5nRnJhbWUpCisgICAgLCBtX3RpbWVyKHRoaXMsICZEZWZlcnJlZFNj
b3BlU3RyaW5nTWF0Y2hlczo6ZG9UaW1lb3V0KQorICAgICwgbV9zZWFyY2hUZXh0KHRleHQpCisg
ICAgLCBtX3Jlc2V0KHJlc2V0KQorICAgIHsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MC4wKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBkb1RpbWVvdXQoVGltZXI8RGVmZXJy
ZWRTY29wZVN0cmluZ01hdGNoZXM+KikKKyAgICB7CisgICAgICAgIG1fc2VhcmNoTWFuYWdlci0+
Y2FsbFNjb3BlU3RyaW5nTWF0Y2hlcyh0aGlzLCBtX3Njb3BpbmdGcmFtZSwgbV9zZWFyY2hUZXh0
LCBtX3Jlc2V0KTsKKyAgICB9CisgICAgSW5QYWdlU2VhcmNoTWFuYWdlciogbV9zZWFyY2hNYW5h
Z2VyOworICAgIEZyYW1lKiBtX3Njb3BpbmdGcmFtZTsKKyAgICBUaW1lcjxEZWZlcnJlZFNjb3Bl
U3RyaW5nTWF0Y2hlcz4gbV90aW1lcjsKKyAgICBTdHJpbmcgbV9zZWFyY2hUZXh0OworICAgIGJv
b2wgbV9yZXNldDsKK307CisKIEluUGFnZVNlYXJjaE1hbmFnZXI6OkluUGFnZVNlYXJjaE1hbmFn
ZXIoV2ViUGFnZVByaXZhdGUqIHBhZ2UpCiAgICAgOiBtX3dlYlBhZ2UocGFnZSkKICAgICAsIG1f
YWN0aXZlTWF0Y2goMCkKKyAgICAsIG1fcmVzdW1lU2NvcGluZ0Zyb21SYW5nZSgwKQorICAgICwg
bV9zY29waW5nQ29tcGxldGUoZmFsc2UpCisgICAgLCBtX2xvY2F0aW5nQWN0aXZlTWF0Y2goZmFs
c2UpCiB7CiB9CiAKIEluUGFnZVNlYXJjaE1hbmFnZXI6On5JblBhZ2VTZWFyY2hNYW5hZ2VyKCkK
IHsKKyAgICBjYW5jZWxQZW5kaW5nU2NvcGluZ0VmZm9ydCgpOwogfQogCiBib29sIEluUGFnZVNl
YXJjaE1hbmFnZXI6OmZpbmROZXh0U3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBmb3J3
YXJkKQogewogICAgIGlmICghdGV4dC5sZW5ndGgoKSkgewogICAgICAgICBjbGVhclRleHRNYXRj
aGVzKCk7CisgICAgICAgIGNhbmNlbFBlbmRpbmdTY29waW5nRWZmb3J0KCk7CiAgICAgICAgIG1f
YWN0aXZlU2VhcmNoU3RyaW5nID0gU3RyaW5nKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CkBAIC02MiwxNCArOTQsMTEgQEAgYm9vbCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpmaW5kTmV4
dFN0cmluZyhjb25zdCBTdHJpbmcmIHRleHQsIGJvb2wgZm9yd2FyZCkKICAgICAgICAgbV9hY3Rp
dmVNYXRjaCA9IDA7CiAKICAgICBSZWZQdHI8UmFuZ2U+IHNlYXJjaFN0YXJ0aW5nUG9pbnQobV9h
Y3RpdmVNYXRjaCk7Ci0gICAgaWYgKG1fYWN0aXZlU2VhcmNoU3RyaW5nICE9IHRleHQpIHsgLy8g
U3RhcnQgYSBuZXcgc2VhcmNoLgorICAgIGJvb2wgbmV3U2VhcmNoID0gbV9hY3RpdmVTZWFyY2hT
dHJpbmcgIT0gdGV4dDsKKyAgICBpZiAobmV3U2VhcmNoKSB7IC8vIFN0YXJ0IGEgbmV3IHNlYXJj
aC4KICAgICAgICAgbV9hY3RpdmVTZWFyY2hTdHJpbmcgPSB0ZXh0OworICAgICAgICBjYW5jZWxQ
ZW5kaW5nU2NvcGluZ0VmZm9ydCgpOwogICAgICAgICBtX3dlYlBhZ2UtPm1fcGFnZS0+dW5tYXJr
QWxsVGV4dE1hdGNoZXMoKTsKLSAgICAgICAgbV9hY3RpdmVNYXRjaENvdW50ID0gbV93ZWJQYWdl
LT5tX3BhZ2UtPm1hcmtBbGxNYXRjaGVzRm9yVGV4dCh0ZXh0LCBDYXNlSW5zZW5zaXRpdmUsIHRy
dWUgLyogc2hvdWxkSGlnaGxpZ2h0ICovLCBUZXh0TWF0Y2hNYXJrZXJMaW1pdCk7Ci0gICAgICAg
IGlmICghbV9hY3RpdmVNYXRjaENvdW50KSB7Ci0gICAgICAgICAgICBjbGVhclRleHRNYXRjaGVz
KCk7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KICAgICB9IGVsc2UgeyAv
LyBTZWFyY2ggc2FtZSBzdHJpbmcgZm9yIG5leHQgb2NjdXJyZW5jZS4KICAgICAgICAgc2V0TWFy
a2VyQWN0aXZlKG1fYWN0aXZlTWF0Y2guZ2V0KCksIGZhbHNlIC8qIGFjdGl2ZSAqLyk7CiAgICAg
ICAgIC8vIFNlYXJjaGluZyBmb3Igc2FtZSBzdHJpbmcgc2hvdWxkIHN0YXJ0IGZyb20gdGhlIGVu
ZCBvZiBsYXN0IG1hdGNoLgpAQCAtOTQsMTkgKzEyMywxOSBAQCBib29sIEluUGFnZVNlYXJjaE1h
bmFnZXI6OmZpbmROZXh0U3RyaW5nKGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBmb3J3YXJkKQog
ICAgICAgICB8IENhc2VJbnNlbnNpdGl2ZQogICAgICAgICB8IFN0YXJ0SW5TZWxlY3Rpb247CiAK
LSAgICBpZiAoZmluZEFuZE1hcmtUZXh0KHRleHQsIHNlYXJjaFN0YXJ0aW5nUG9pbnQuZ2V0KCks
IGN1cnJlbnRBY3RpdmVNYXRjaEZyYW1lLCBmaW5kT3B0aW9ucykpCisgICAgaWYgKGZpbmRBbmRN
YXJrVGV4dCh0ZXh0LCBzZWFyY2hTdGFydGluZ1BvaW50LmdldCgpLCBjdXJyZW50QWN0aXZlTWF0
Y2hGcmFtZSwgZmluZE9wdGlvbnMsIG5ld1NlYXJjaCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CiAgICAgRnJhbWUqIHN0YXJ0RnJhbWUgPSBjdXJyZW50QWN0aXZlTWF0Y2hGcmFtZTsKICAgICBk
byB7CiAgICAgICAgIGN1cnJlbnRBY3RpdmVNYXRjaEZyYW1lID0gRE9NU3VwcG9ydDo6aW5jcmVt
ZW50RnJhbWUoY3VycmVudEFjdGl2ZU1hdGNoRnJhbWUsIGZvcndhcmQsIHRydWUgLyogd3JhcEZs
YWcgKi8pOwotICAgICAgICBpZiAoZmluZEFuZE1hcmtUZXh0KHRleHQsIDAsIGN1cnJlbnRBY3Rp
dmVNYXRjaEZyYW1lLCBmaW5kT3B0aW9ucykpCisgICAgICAgIGlmIChmaW5kQW5kTWFya1RleHQo
dGV4dCwgMCwgY3VycmVudEFjdGl2ZU1hdGNoRnJhbWUsIGZpbmRPcHRpb25zLCBuZXdTZWFyY2gp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSB3aGlsZSAoY3VycmVudEFjdGl2ZU1h
dGNoRnJhbWUgJiYgc3RhcnRGcmFtZSAhPSBjdXJyZW50QWN0aXZlTWF0Y2hGcmFtZSk7CiAKICAg
ICBjbGVhclRleHRNYXRjaGVzKCk7CiAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAv
LyBGSVhNRTogV2UgbmVlZCB0byBub3RpZnkgY2xpZW50IGhlcmUuCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCkBAIC0xMTcsNyArMTQ2LDggQEAgYm9vbCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpzaG91
bGRTZWFyY2hGb3JUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKIAogICAgIC8vIElmIHRoZSBwcmV2
aW91cyBzZWFyY2ggc3RyaW5nIGlzIHByZWZpeCBvZiBuZXcgc2VhcmNoIHN0cmluZywKICAgICAv
LyBkb24ndCBzZWFyY2ggaWYgdGhlIHByZXZpb3VzIG9uZSBoYXMgemVybyByZXN1bHQuCi0gICAg
aWYgKCFtX2FjdGl2ZU1hdGNoQ291bnQKKyAgICBpZiAobV9zY29waW5nQ29tcGxldGUKKyAgICAg
ICAgJiYgIW1fYWN0aXZlTWF0Y2hDb3VudAogICAgICAgICAmJiBtX2FjdGl2ZVNlYXJjaFN0cmlu
Zy5sZW5ndGgoKQogICAgICAgICAmJiB0ZXh0Lmxlbmd0aCgpID4gbV9hY3RpdmVTZWFyY2hTdHJp
bmcubGVuZ3RoKCkKICAgICAgICAgJiYgbV9hY3RpdmVTZWFyY2hTdHJpbmcgPT0gdGV4dC5zdWJz
dHJpbmcoMCwgbV9hY3RpdmVTZWFyY2hTdHJpbmcubGVuZ3RoKCkpKQpAQCAtMTI1LDExICsxNTUs
MTUgQEAgYm9vbCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpzaG91bGRTZWFyY2hGb3JUZXh0KGNvbnN0
IFN0cmluZyYgdGV4dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJblBhZ2VTZWFyY2hN
YW5hZ2VyOjpmaW5kQW5kTWFya1RleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBSYW5nZSogcmFuZ2Us
IEZyYW1lKiBmcmFtZSwgY29uc3QgRmluZE9wdGlvbnMmIG9wdGlvbnMpCitib29sIEluUGFnZVNl
YXJjaE1hbmFnZXI6OmZpbmRBbmRNYXJrVGV4dChjb25zdCBTdHJpbmcmIHRleHQsIFJhbmdlKiBy
YW5nZSwgRnJhbWUqIGZyYW1lLCBjb25zdCBGaW5kT3B0aW9ucyYgb3B0aW9ucywgYm9vbCBpc05l
d1NlYXJjaCkKIHsKICAgICBtX2FjdGl2ZU1hdGNoID0gZnJhbWUtPmVkaXRvcigpLT5maW5kU3Ry
aW5nQW5kU2Nyb2xsVG9WaXNpYmxlKHRleHQsIHJhbmdlLCBvcHRpb25zKTsKICAgICBpZiAobV9h
Y3RpdmVNYXRjaCkgewogICAgICAgICBzZXRNYXJrZXJBY3RpdmUobV9hY3RpdmVNYXRjaC5nZXQo
KSwgdHJ1ZSAvKiBhY3RpdmUgKi8pOworICAgICAgICBpZiAoaXNOZXdTZWFyY2gpIHsKKyAgICAg
ICAgICAgIHNjb3BlU3RyaW5nTWF0Y2hlcyh0ZXh0LCB0cnVlIC8qIHJlc2V0ICovKTsKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBJZiBpdCBpcyBhIG5vdCBuZXcgc2VhcmNoLCB3ZSBuZWVkIHRvIGNh
bGN1bGF0ZSBhY3RpdmVNYXRjaEluZGV4IGFuZCBub3RpZnkgY2xpZW50LgorICAgICAgICB9CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMzksNiAr
MTczLDggQEAgdm9pZCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpjbGVhclRleHRNYXRjaGVzKCkKIHsK
ICAgICBtX3dlYlBhZ2UtPm1fcGFnZS0+dW5tYXJrQWxsVGV4dE1hdGNoZXMoKTsKICAgICBtX2Fj
dGl2ZU1hdGNoID0gMDsKKyAgICBtX2FjdGl2ZU1hdGNoQ291bnQgPSAwOworICAgIG1fYWN0aXZl
TWF0Y2hJbmRleCA9IDA7CiB9CiAKIHZvaWQgSW5QYWdlU2VhcmNoTWFuYWdlcjo6c2V0TWFya2Vy
QWN0aXZlKFJhbmdlKiByYW5nZSwgYm9vbCBhY3RpdmUpCkBAIC0xNjEsNiArMTk3LDggQEAgdm9p
ZCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpmcmFtZVVubG9hZGVkKGNvbnN0IEZyYW1lKiBmcmFtZSkK
IAogICAgIEZyYW1lKiBjdXJyZW50QWN0aXZlTWF0Y2hGcmFtZSA9IG1fYWN0aXZlTWF0Y2gtPm93
bmVyRG9jdW1lbnQoKS0+ZnJhbWUoKTsKICAgICBpZiAoY3VycmVudEFjdGl2ZU1hdGNoRnJhbWUg
PT0gZnJhbWUpIHsKKyAgICAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gcmUtc2NvcGUgdGhpcyBm
cmFtZSBpbnN0ZWFkIG9mIGNhbmNlbGxpbmcgYWxsIGVmZm9ydD8KKyAgICAgICAgY2FuY2VsUGVu
ZGluZ1Njb3BpbmdFZmZvcnQoKTsKICAgICAgICAgbV9hY3RpdmVNYXRjaCA9IDA7CiAgICAgICAg
IG1fYWN0aXZlU2VhcmNoU3RyaW5nID0gU3RyaW5nKCk7CiAgICAgICAgIG1fYWN0aXZlTWF0Y2hD
b3VudCA9IDA7CkBAIC0xNzEsNSArMjA5LDEwMCBAQCB2b2lkIEluUGFnZVNlYXJjaE1hbmFnZXI6
OmZyYW1lVW5sb2FkZWQoY29uc3QgRnJhbWUqIGZyYW1lKQogICAgIH0KIH0KIAordm9pZCBJblBh
Z2VTZWFyY2hNYW5hZ2VyOjpzY29wZVN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiB0ZXh0LCBi
b29sIHJlc2V0LCBGcmFtZSogc2NvcGluZ0ZyYW1lKQoreworICAgIGlmIChyZXNldCkgeworICAg
ICAgICBtX2FjdGl2ZU1hdGNoQ291bnQgPSAwOworICAgICAgICBtX3Jlc3VtZVNjb3BpbmdGcm9t
UmFuZ2UgPSAwOworICAgICAgICBtX3Njb3BpbmdDb21wbGV0ZSA9IGZhbHNlOworICAgICAgICBt
X2xvY2F0aW5nQWN0aXZlTWF0Y2ggPSB0cnVlOworICAgICAgICAvLyBOZXcgc2VhcmNoIHNob3Vs
ZCBhbHdheXMgc3RhcnQgZnJvbSBtYWluRnJhbWUuCisgICAgICAgIHNjb3BlU3RyaW5nTWF0Y2hl
c1Nvb24obV93ZWJQYWdlLT5tYWluRnJhbWUoKSwgdGV4dCwgZmFsc2UgLyogcmVzZXQgKi8pOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKG1fcmVzdW1lU2NvcGluZ0Zyb21SYW5n
ZSAmJiBzY29waW5nRnJhbWUgIT0gbV9yZXN1bWVTY29waW5nRnJvbVJhbmdlLT5vd25lckRvY3Vt
ZW50KCktPmZyYW1lKCkpCisgICAgICAgIG1fcmVzdW1lU2NvcGluZ0Zyb21SYW5nZSA9IDA7CisK
KyAgICBSZWZQdHI8UmFuZ2U+IHNlYXJjaFJhbmdlKHJhbmdlT2ZDb250ZW50cyhzY29waW5nRnJh
bWUtPmRvY3VtZW50KCkpKTsKKyAgICBOb2RlKiBvcmlnaW5hbEVuZENvbnRhaW5lciA9IHNlYXJj
aFJhbmdlLT5lbmRDb250YWluZXIoKTsKKyAgICBpbnQgb3JpZ2luYWxFbmRPZmZzZXQgPSBzZWFy
Y2hSYW5nZS0+ZW5kT2Zmc2V0KCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDAsIGVjMiA9IDA7
CisgICAgaWYgKG1fcmVzdW1lU2NvcGluZ0Zyb21SYW5nZSkgeworICAgICAgICBzZWFyY2hSYW5n
ZS0+c2V0U3RhcnQobV9yZXN1bWVTY29waW5nRnJvbVJhbmdlLT5zdGFydENvbnRhaW5lcigpLCBt
X3Jlc3VtZVNjb3BpbmdGcm9tUmFuZ2UtPnN0YXJ0T2Zmc2V0KGVjMikgKyAxLCBlYyk7CisgICAg
ICAgIGlmIChlYyB8fCBlYzIpIHsKKyAgICAgICAgICAgIG1fc2NvcGluZ0NvbXBsZXRlID0gdHJ1
ZTsgLy8gV2Ugc2hvdWxkIHN0b3Agc2NvcGluZyBiZWNhdXNlIG9mIHNvbWUgc3RhbGUgZGF0YS4K
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGludCBtYXRjaENv
dW50ID0gMDsKKyAgICBib29sIHRpbWVvdXQgPSBmYWxzZTsKKyAgICBkb3VibGUgc3RhcnRUaW1l
ID0gY3VycmVudFRpbWUoKTsKKyAgICBkbyB7CisgICAgICAgIFJlZlB0cjxSYW5nZT4gcmVzdWx0
UmFuZ2UoZmluZFBsYWluVGV4dChzZWFyY2hSYW5nZS5nZXQoKSwgdGV4dCwgQ2FzZUluc2Vuc2l0
aXZlKSk7CisgICAgICAgIGlmIChyZXN1bHRSYW5nZS0+Y29sbGFwc2VkKGVjKSkgeworICAgICAg
ICAgICAgaWYgKCFyZXN1bHRSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+aXNJblNoYWRvd1RyZWUo
KSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHNlYXJjaFJhbmdlLT5zZXRT
dGFydEFmdGVyKHJlc3VsdFJhbmdlLT5zdGFydENvbnRhaW5lcigpLT5zaGFkb3dBbmNlc3Rvck5v
ZGUoKSwgZWMpOworICAgICAgICAgICAgc2VhcmNoUmFuZ2UtPnNldEVuZChvcmlnaW5hbEVuZENv
bnRhaW5lciwgb3JpZ2luYWxFbmRPZmZzZXQsIGVjKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKHNjb3BpbmdGcmFtZS0+ZWRpdG9yKCktPmluc2lkZVZp
c2libGVBcmVhKHJlc3VsdFJhbmdlLmdldCgpKSkgeworICAgICAgICAgICAgKyttYXRjaENvdW50
OworICAgICAgICAgICAgYm9vbCBmb3VuZEFjdGl2ZU1hdGNoID0gZmFsc2U7CisgICAgICAgICAg
ICBpZiAobV9sb2NhdGluZ0FjdGl2ZU1hdGNoICYmIGFyZVJhbmdlc0VxdWFsKHJlc3VsdFJhbmdl
LmdldCgpLCBtX2FjdGl2ZU1hdGNoLmdldCgpKSkgeworICAgICAgICAgICAgICAgIGZvdW5kQWN0
aXZlTWF0Y2ggPSB0cnVlOworICAgICAgICAgICAgICAgIG1fbG9jYXRpbmdBY3RpdmVNYXRjaCA9
IGZhbHNlOworICAgICAgICAgICAgICAgIG1fYWN0aXZlTWF0Y2hJbmRleCA9IG1fYWN0aXZlTWF0
Y2hDb3VudCArIG1hdGNoQ291bnQ7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlIG5lZWQg
dG8gbm90aWZ5IGNsaWVudCB3aXRoIG1fYWN0aXZlTWF0Y2hJbmRleC4KKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHJlc3VsdFJhbmdlLT5vd25lckRvY3VtZW50KCktPm1hcmtlcnMoKS0+YWRk
VGV4dE1hdGNoTWFya2VyKHJlc3VsdFJhbmdlLmdldCgpLCBmb3VuZEFjdGl2ZU1hdGNoKTsKKyAg
ICAgICAgfQorICAgICAgICBzZWFyY2hSYW5nZS0+c2V0U3RhcnQocmVzdWx0UmFuZ2UtPmVuZENv
bnRhaW5lcihlYyksIHJlc3VsdFJhbmdlLT5lbmRPZmZzZXQoZWMpLCBlYyk7CisgICAgICAgIE5v
ZGUqIHNoYWRvd1RyZWVSb290ID0gc2VhcmNoUmFuZ2UtPnNoYWRvd1RyZWVSb290Tm9kZSgpOwor
ICAgICAgICBpZiAoc2VhcmNoUmFuZ2UtPmNvbGxhcHNlZChlYykgJiYgc2hhZG93VHJlZVJvb3Qp
CisgICAgICAgICAgICBzZWFyY2hSYW5nZS0+c2V0RW5kKHNoYWRvd1RyZWVSb290LCBzaGFkb3dU
cmVlUm9vdC0+Y2hpbGROb2RlQ291bnQoKSwgZWMpOworICAgICAgICBtX3Jlc3VtZVNjb3BpbmdG
cm9tUmFuZ2UgPSByZXN1bHRSYW5nZTsKKyAgICAgICAgdGltZW91dCA9IChjdXJyZW50VGltZSgp
IC0gc3RhcnRUaW1lKSA+PSBNYXhTY29waW5nRHVyYXRpb247CisgICAgfSB3aGlsZSAoIXRpbWVv
dXQpOworCisgICAgaWYgKG1hdGNoQ291bnQgPiAwKSB7CisgICAgICAgIHNjb3BpbmdGcmFtZS0+
ZWRpdG9yKCktPnNldE1hcmtlZFRleHRNYXRjaGVzQXJlSGlnaGxpZ2h0ZWQodHJ1ZSAvKiBoaWdo
bGlnaHQgKi8pOworICAgICAgICBtX2FjdGl2ZU1hdGNoQ291bnQgKz0gbWF0Y2hDb3VudDsKKyAg
ICB9CisKKyAgICBpZiAodGltZW91dCkKKyAgICAgICAgc2NvcGVTdHJpbmdNYXRjaGVzU29vbihz
Y29waW5nRnJhbWUsIHRleHQsIGZhbHNlIC8qIHJlc2V0ICovKTsKKyAgICBlbHNlIHsKKyAgICAg
ICAgLy8gU2NvcGluZyBpcyBkb25lIGZvciB0aGlzIGZyYW1lLgorICAgICAgICBGcmFtZSogbmV4
dEZyYW1lID0gRE9NU3VwcG9ydDo6aW5jcmVtZW50RnJhbWUoc2NvcGluZ0ZyYW1lLCB0cnVlIC8q
IGZvcndhcmQgKi8sIGZhbHNlIC8qIHdyYXBGbGFnICovKTsKKyAgICAgICAgaWYgKCFuZXh0RnJh
bWUpIHsKKyAgICAgICAgICAgIG1fc2NvcGluZ0NvbXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgICAg
IHJldHVybjsgLy8gU2NvcGluZyBpcyBkb25lIGZvciBhbGwgZnJhbWVzOworICAgICAgICB9Cisg
ICAgICAgIHNjb3BlU3RyaW5nTWF0Y2hlc1Nvb24obmV4dEZyYW1lLCB0ZXh0LCBmYWxzZSAvKiBy
ZXNldCAqLyk7CisgICAgfQorfQorCit2b2lkIEluUGFnZVNlYXJjaE1hbmFnZXI6OnNjb3BlU3Ry
aW5nTWF0Y2hlc1Nvb24oRnJhbWUqIHNjb3BpbmdGcmFtZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBi
b29sIHJlc2V0KQoreworICAgIG1fZGVmZXJyZWRTY29waW5nV29yay5hcHBlbmQobmV3IERlZmVy
cmVkU2NvcGVTdHJpbmdNYXRjaGVzKHRoaXMsIHNjb3BpbmdGcmFtZSwgdGV4dCwgcmVzZXQpKTsK
K30KKwordm9pZCBJblBhZ2VTZWFyY2hNYW5hZ2VyOjpjYWxsU2NvcGVTdHJpbmdNYXRjaGVzKERl
ZmVycmVkU2NvcGVTdHJpbmdNYXRjaGVzKiBjYWxsZXIsIEZyYW1lKiBzY29waW5nRnJhbWUsIGNv
bnN0IFN0cmluZyYgdGV4dCwgYm9vbCByZXNldCkKK3sKKyAgICBtX2RlZmVycmVkU2NvcGluZ1dv
cmsucmVtb3ZlKG1fZGVmZXJyZWRTY29waW5nV29yay5maW5kKGNhbGxlcikpOworICAgIHNjb3Bl
U3RyaW5nTWF0Y2hlcyh0ZXh0LCByZXNldCwgc2NvcGluZ0ZyYW1lKTsKKyAgICBkZWxldGUgY2Fs
bGVyOworfQorCit2b2lkIEluUGFnZVNlYXJjaE1hbmFnZXI6OmNhbmNlbFBlbmRpbmdTY29waW5n
RWZmb3J0KCkKK3sKKyAgICBkZWxldGVBbGxWYWx1ZXMobV9kZWZlcnJlZFNjb3BpbmdXb3JrKTsK
KyAgICBtX2RlZmVycmVkU2NvcGluZ1dvcmsuY2xlYXIoKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5QYWdlU2VhcmNoTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5QYWdlU2Vh
cmNoTWFuYWdlci5oCmluZGV4IDRiMDU2MmIuLjAzYWY4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0luUGFnZVNlYXJjaE1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JblBhZ2VTZWFyY2hNYW5h
Z2VyLmgKQEAgLTQzLDE1ICs0MywyNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmcmFtZVVubG9hZGVk
KGNvbnN0IFdlYkNvcmU6OkZyYW1lKik7CiAKIHByaXZhdGU6CisgICAgY2xhc3MgRGVmZXJyZWRT
Y29wZVN0cmluZ01hdGNoZXM7CisgICAgZnJpZW5kIGNsYXNzIERlZmVycmVkU2NvcGVTdHJpbmdN
YXRjaGVzOworCiAgICAgdm9pZCBjbGVhclRleHRNYXRjaGVzKCk7CiAgICAgdm9pZCBzZXRNYXJr
ZXJBY3RpdmUoV2ViQ29yZTo6UmFuZ2UqLCBib29sKTsKLSAgICBib29sIGZpbmRBbmRNYXJrVGV4
dChjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpSYW5nZSosIFdlYkNvcmU6OkZyYW1lKiwgY29uc3Qg
V2ViQ29yZTo6RmluZE9wdGlvbnMmKTsKKyAgICBib29sIGZpbmRBbmRNYXJrVGV4dChjb25zdCBT
dHJpbmcmLCBXZWJDb3JlOjpSYW5nZSosIFdlYkNvcmU6OkZyYW1lKiwgY29uc3QgV2ViQ29yZTo6
RmluZE9wdGlvbnMmLCBib29sKTsKICAgICBib29sIHNob3VsZFNlYXJjaEZvclRleHQoY29uc3Qg
U3RyaW5nJik7CisgICAgdm9pZCBzY29wZVN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiB0ZXh0
LCBib29sIHJlc2V0LCBXZWJDb3JlOjpGcmFtZSogc2NvcGluZ0ZyYW1lID0gMCk7CisgICAgdm9p
ZCBzY29wZVN0cmluZ01hdGNoZXNTb29uKFdlYkNvcmU6OkZyYW1lKiBzY29waW5nRnJhbWUsIGNv
bnN0IFN0cmluZyYgdGV4dCwgYm9vbCByZXNldCk7CisgICAgdm9pZCBjYWxsU2NvcGVTdHJpbmdN
YXRjaGVzKERlZmVycmVkU2NvcGVTdHJpbmdNYXRjaGVzKiBjYWxsZXIsIFdlYkNvcmU6OkZyYW1l
KiBzY29waW5nRnJhbWUsIGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCByZXNldCk7CisgICAgdm9p
ZCBjYW5jZWxQZW5kaW5nU2NvcGluZ0VmZm9ydCgpOwogCisgICAgVmVjdG9yPERlZmVycmVkU2Nv
cGVTdHJpbmdNYXRjaGVzKj4gbV9kZWZlcnJlZFNjb3BpbmdXb3JrOwogICAgIFdlYlBhZ2VQcml2
YXRlKiBtX3dlYlBhZ2U7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiBtX2FjdGl2ZU1hdGNo
OworICAgIFJlZlB0cjxXZWJDb3JlOjpSYW5nZT4gbV9yZXN1bWVTY29waW5nRnJvbVJhbmdlOwog
ICAgIFN0cmluZyBtX2FjdGl2ZVNlYXJjaFN0cmluZzsKICAgICBpbnQgbV9hY3RpdmVNYXRjaENv
dW50OworICAgIGJvb2wgbV9zY29waW5nQ29tcGxldGU7CisgICAgYm9vbCBtX2xvY2F0aW5nQWN0
aXZlTWF0Y2g7CisgICAgaW50IG1fYWN0aXZlTWF0Y2hJbmRleDsKIH07CiAKIH0KLS0gCjEuNy41
LjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>