<?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>9686</bug_id>
          
          <creation_ts>2006-07-01 22:37:35 -0700</creation_ts>
          <short_desc>[Drosera] Need the ability to break into Drosera on Javascript exceptions</short_desc>
          <delta_ts>2008-05-17 09:55:53 -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>New Bugs</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>47949</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-07-01 22:37:35 -0700</bug_when>
    <thetext>Need the ability to break into Drosera on Javascript exceptions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47950</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-07-01 22:38:05 -0700</bug_when>
    <thetext>It should automatically bring Drosera forward, like FireBug does.  It would be even better if this were integrated into the app directly...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49503</commentid>
    <comment_count>2</comment_count>
      <attachid>9418</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-07-12 14:29:07 -0700</bug_when>
    <thetext>Created attachment 9418
Work-in-progress patch

This work in progress patch is almost fully-functional.  I&apos;m quite certain that the code in JSCore hooks in to the wrong place in the execution to catch exceptions, but I couldn&apos;t find a better bottleneck.  The downside of having debugExceptionIfNeeded called from the KJS_CHECKEXCEPTION macro is that it is called for each stack frame the exception propogates out of.  I&apos;ve hacked around that by stashing a property on the object to indicate it has been dealt with.  Needless to say, that isn&apos;t a good solution.  I&apos;m looking for pointers as to a better place to hook into exceptions being raised that can avoid the need for this type of state to be kept.

The Drosera part of the patch adds the bare minimal behaviour.  It is probably desirable to log exceptions to the console window, but I think that should be dealt with in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49535</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-07-12 15:58:33 -0700</bug_when>
    <thetext>Darin suggested that I may be able to achieve the same end result without implementing the exception/exceptionWasRaised method.  The WebScriptCallFrame passed to webView:willExecuteStatement:sourceId:line:forWebFrame: and webView:willLeaveCallFrame:sourceId:line:forWebFrame: knows if an exception has been raised, and this information can be used to determine when to pause the debugger.  The problem is that this will break at the next statement that executes after the exception is raised, or while exiting the current call frame.  In the case of an exception outside of the body of a function, neither of these conditions occurs.  The end result is that an exception outside of the body of a function is not trapped.  A secondary issue is that due to the way Drosera tracks stack frames, the JS code that controls pausing does not have access to the exception object and thus cannot retrieve the line number where the exception was raised.

This approach seems better due to it limiting the changes required to Drosera, but it&apos;s not clear to me how to work around the limitations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49626</commentid>
    <comment_count>4</comment_count>
      <attachid>9425</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-07-13 02:10:48 -0700</bug_when>
    <thetext>Created attachment 9425
Patch

I&apos;ve updated the patch based on feedback from Maciej on IRC.  The exception callback is now called for all exceptions rather than only Object instances, and the KJS::Debugger tracks which exceptions it has seen rather than KJS::Node setting a magical property on the exception object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49704</commentid>
    <comment_count>5</comment_count>
      <attachid>9425</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-07-13 20:47:19 -0700</bug_when>
    <thetext>Comment on attachment 9425
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50633</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-23 23:01:08 -0700</bug_when>
    <thetext>Landed in r15593.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51175</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-30 23:09:11 -0700</bug_when>
    <thetext>Landed the Drosera part in r15701</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80741</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-17 09:55:53 -0700</bug_when>
    <thetext>Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9418</attachid>
            <date>2006-07-12 14:29:07 -0700</date>
            <delta_ts>2006-07-13 02:10:48 -0700</delta_ts>
            <desc>Work-in-progress patch</desc>
            <filename>webkit-bug-9686-v1.patch</filename>
            <type>text/plain</type>
            <size>8463</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">PT09IEphdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9ranMvbm9kZXMuY3BwCShyZXZpc2lvbiA0MDIwKQorKysgSmF2YVNjcmlwdENvcmUva2pz
L25vZGVzLmNwcAkobG9jYWwpCkBAIC01Nyw2ICs1Nyw3IEBACiAgICAgc2V0RXhjZXB0aW9uRGV0
YWlsc0lmTmVlZGVkKGV4ZWMpOyBcCiAgICAgSlNWYWx1ZSAqZXggPSBleGVjLT5leGNlcHRpb24o
KTsgXAogICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7IFwKKyAgICBkZWJ1Z0V4Y2VwdGlvbklm
TmVlZGVkKGV4ZWMsIGV4KTsgXAogICAgIHJldHVybiBDb21wbGV0aW9uKFRocm93LCBleCk7IFwK
ICAgfSBcCiAgIGlmIChDb2xsZWN0b3I6OmlzT3V0T2ZNZW1vcnkoKSkgXApAQCAtMjY5LDYgKzI3
MCwyMyBAQAogICAgIH0KIH0KIAordm9pZCBOb2RlOjpkZWJ1Z0V4Y2VwdGlvbklmTmVlZGVkKEV4
ZWNTdGF0ZSAqZXhlYywgSlNWYWx1ZSAqZXhjZXB0aW9uVmFsdWUpCit7CisgICAgaWYgKCFleGNl
cHRpb25WYWx1ZS0+aXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgSlNPYmplY3Qg
KmV4Y2VwdGlvbiA9IHN0YXRpY19jYXN0PEpTT2JqZWN0ICo+KGV4Y2VwdGlvblZhbHVlKTsKKyAg
ICBEZWJ1Z2dlciAqZGJnID0gZXhlYy0+ZHluYW1pY0ludGVycHJldGVyKCktPmRlYnVnZ2VyKCk7
CisgICAgaWYgKGRiZyAmJiAhZXhjZXB0aW9uLT5oYXNQcm9wZXJ0eShleGVjLCAiX19fX3Rocm93
bl9fX18iKSkgeworICAgICAgICBleGNlcHRpb24tPnB1dChleGVjLCAiX19fX3Rocm93bl9fX18i
LCBqc0Jvb2xlYW4odHJ1ZSkpOworICAgICAgICBib29sIGNvbnQgPSBkYmctPmV4Y2VwdGlvbihl
eGVjLCBjdXJyZW50U291cmNlSWQoZXhlYyksIG1fbGluZSwgZXhjZXB0aW9uKTsKKyAgICAgICAg
aWYgKCFjb250KQorICAgICAgICAgICAgZGJnLT5pbXAoKS0+YWJvcnQoKTsKKyAgICAgICAgICAg
IC8vIFhYWDogV2hhdCBkbyB3ZSBkbyBpbnN0ZWFkPworICAgICAgICAgICAgLy8gcmV0dXJuIGpz
VW5kZWZpbmVkKCk7CisgICAgfQorfQorCiBOb2RlICpOb2RlOjpub2RlSW5zaWRlQWxsUGFyZW5z
KCkKIHsKICAgICByZXR1cm4gdGhpczsKQEAgLTIyNzQsNiArMjI5Miw4IEBACiAgIEpTVmFsdWUg
KnYgPSBleHByLT5ldmFsdWF0ZShleGVjKTsKICAgS0pTX0NIRUNLRVhDRVBUSU9OCiAKKyAgZGVi
dWdFeGNlcHRpb25JZk5lZWRlZChleGVjLCB2KTsKKwogICByZXR1cm4gQ29tcGxldGlvbihUaHJv
dywgdik7CiB9CiAKPT09IEphdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmgJKHJldmlzaW9uIDQwMjApCisrKyBKYXZhU2NyaXB0
Q29yZS9ranMvbm9kZXMuaAkobG9jYWwpCkBAIC0xMTAsNiArMTEwLDcgQEAKICAgICBKU1ZhbHVl
ICp0aHJvd1VuZGVmaW5lZFZhcmlhYmxlRXJyb3IoRXhlY1N0YXRlICosIGNvbnN0IElkZW50aWZp
ZXIgJik7CiAKICAgICB2b2lkIHNldEV4Y2VwdGlvbkRldGFpbHNJZk5lZWRlZChFeGVjU3RhdGUq
KTsKKyAgICB2b2lkIGRlYnVnRXhjZXB0aW9uSWZOZWVkZWQoRXhlY1N0YXRlICosIEpTVmFsdWUg
Kik7CiAKICAgICBpbnQgbV9saW5lOwogICBwcml2YXRlOgo9PT0gV2ViQ29yZS9icmlkZ2UvbWFj
L1dlYkNvcmVTY3JpcHREZWJ1Z2dlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvbWFj
L1dlYkNvcmVTY3JpcHREZWJ1Z2dlci5oCShyZXZpc2lvbiA0MDIwKQorKysgV2ViQ29yZS9icmlk
Z2UvbWFjL1dlYkNvcmVTY3JpcHREZWJ1Z2dlci5oCShsb2NhbCkKQEAgLTU0LDYgKzU0LDcgQEAK
IC0gKHZvaWQpZW50ZXJlZEZyYW1lOihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291
cmNlSWQ6KGludClzaWQgbGluZTooaW50KWxpbmVubzsKIC0gKHZvaWQpaGl0U3RhdGVtZW50OihX
ZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291cmNlSWQ6KGludClzaWQgbGluZTooaW50
KWxpbmVubzsKIC0gKHZvaWQpbGVhdmluZ0ZyYW1lOihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICop
ZnJhbWUgc291cmNlSWQ6KGludClzaWQgbGluZTooaW50KWxpbmVubzsKKy0gKHZvaWQpZXhjZXB0
aW9uUmFpc2VkOihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291cmNlSWQ6KGludClz
aWQgbGluZTooaW50KWxpbmVubzsKIAogQGVuZAogCj09PSBXZWJDb3JlL2JyaWRnZS9tYWMvV2Vi
Q29yZVNjcmlwdERlYnVnZ2VyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvbWFjL1dl
YkNvcmVTY3JpcHREZWJ1Z2dlci5tbQkocmV2aXNpb24gNDAyMCkKKysrIFdlYkNvcmUvYnJpZGdl
L21hYy9XZWJDb3JlU2NyaXB0RGVidWdnZXIubW0JKGxvY2FsKQpAQCAtMTIyLDYgKzEyMiwxNSBA
QAogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICB2aXJ0dWFsIGJv
b2wgZXhjZXB0aW9uKEV4ZWNTdGF0ZSAqc3RhdGUsIGludCBzaWQsIGludCBsaW5lbm8sIEpTT2Jq
ZWN0ICpleGNlcHRpb25PYmopIHsKKyAgICAgICAgaWYgKCFfbmVzdGVkKSB7CisgICAgICAgICAg
ICBfbmVzdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIFtbX29iamMgZGVsZWdhdGVdIGV4Y2VwdGlv
blJhaXNlZDpfY3VycmVudCBzb3VyY2VJZDpzaWQgbGluZTpsaW5lbm9dOworICAgICAgICAgICAg
X25lc3RlZCA9IGZhbHNlOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KwogfTsKIAogCj09PSBXZWJLaXQvRGVmYXVsdERlbGVnYXRlcy9XZWJEZWZhdWx0U2NyaXB0RGVi
dWdEZWxlZ2F0ZS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0RlZmF1bHREZWxlZ2F0ZXMvV2ViRGVm
YXVsdFNjcmlwdERlYnVnRGVsZWdhdGUubQkocmV2aXNpb24gNDAyMCkKKysrIFdlYktpdC9EZWZh
dWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRTY3JpcHREZWJ1Z0RlbGVnYXRlLm0JKGxvY2FsKQpAQCAt
ODYsNCArODYsMTEgQEAKIHsKIH0KIAorLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmll
dyAgIGV4Y2VwdGlvbldhc1JhaXNlZDooV2ViU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlSWQ6KGludClz
aWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp
bmU6KGludClsaW5lbm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yV2ViRnJhbWU6KFdlYkZyYW1lICopd2ViRnJhbWUKK3sKK30KKwogQGVuZAo9PT0gV2Vi
S2l0L0RlZmF1bHREZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9EZWZhdWx0RGVsZWdhdGVzL1dlYlNjcmlwdERlYnVnU2VydmVyLmgJKHJldmlzaW9u
IDQwMjApCisrKyBXZWJLaXQvRGVmYXVsdERlbGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1NlcnZlci5o
CShsb2NhbCkKQEAgLTY5LDYgKzY5LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNvdXJjZUlkOihpbnQpc2lkCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOihpbnQpbGluZW5vCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFt
ZSAqKXdlYkZyYW1lOworCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3ICAgZXhj
ZXB0aW9uV2FzUmFpc2VkOihXZWJTY3JpcHRDYWxsRnJhbWUgKilmcmFtZQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJZDooaW50KXNpZAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTooaW50
KWxpbmVubworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JX
ZWJGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZTsKIEBlbmQKIAogQHByb3RvY29sIFdlYlNjcmlw
dERlYnVnU2VydmVyIDxOU09iamVjdD4KPT09IFdlYktpdC9EZWZhdWx0RGVsZWdhdGVzL1dlYlNj
cmlwdERlYnVnU2VydmVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvRGVmYXVsdERlbGVnYXRlcy9X
ZWJTY3JpcHREZWJ1Z1NlcnZlci5tCShyZXZpc2lvbiA0MDIwKQorKysgV2ViS2l0L0RlZmF1bHRE
ZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXIubQkobG9jYWwpCkBAIC0zMjksNCArMzI5LDI2
IEBACiAgICAgW3NlbGYgc3VzcGVuZFByb2Nlc3NJZlBhdXNlZF07CiB9CiAKKy0gKHZvaWQpd2Vi
VmlldzooV2ViVmlldyAqKXdlYlZpZXcgICBleGNlcHRpb25XYXNSYWlzZWQ6KFdlYlNjcmlwdENh
bGxGcmFtZSAqKWZyYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNvdXJjZUlkOihpbnQpc2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaW5lOihpbnQpbGluZW5vCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1l
Cit7CisgICAgaWYgKCFbbGlzdGVuZXJzIGNvdW50XSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
TlNFbnVtZXJhdG9yICplbnVtZXJhdG9yID0gW2xpc3RlbmVycyBvYmplY3RFbnVtZXJhdG9yXTsK
KyAgICBOU0Rpc3RhbnRPYmplY3QgPFdlYlNjcmlwdERlYnVnTGlzdGVuZXI+ICpsaXN0ZW5lciA9
IG5pbDsKKworICAgIHdoaWxlICgobGlzdGVuZXIgPSBbZW51bWVyYXRvciBuZXh0T2JqZWN0XSkp
IHsKKyAgICAgICAgaWYgKFtbbGlzdGVuZXIgY29ubmVjdGlvbkZvclByb3h5XSBpc1ZhbGlkXSkK
KyAgICAgICAgICAgIFtsaXN0ZW5lciB3ZWJWaWV3OndlYlZpZXcgZXhjZXB0aW9uV2FzUmFpc2Vk
OmZyYW1lIHNvdXJjZUlkOnNpZCBsaW5lOmxpbmVubyBmb3JXZWJGcmFtZTp3ZWJGcmFtZV07Cisg
ICAgfQorCisgICAgLy8gY2hlY2sgZm9yIG1lc3NhZ2VzIGZyb20gdGhlIGxpc3RlbmVycywgc28g
dGhleSBjYW4gcGF1c2UgaW1tZWRpYXRlbHkKKyAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9v
cF0gcnVuTW9kZTpOU0Nvbm5lY3Rpb25SZXBseU1vZGUgYmVmb3JlRGF0ZTpbTlNEYXRlIGRpc3Rh
bnRQYXN0XV07CisKKyAgICBbc2VsZiBzdXNwZW5kUHJvY2Vzc0lmUGF1c2VkXTsKK30KKwogQGVu
ZAo9PT0gV2ViS2l0L1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5oCShyZXZpc2lvbiA0MDIw
KQorKysgV2ViS2l0L1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5oCShsb2NhbCkKQEAg
LTg0LDYgKzg0LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaW5lOihpbnQpbGluZW5vCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1lOwogCisvLyBl
eGNlcHRpb24gaXMgYmVpbmcgdGhyb3duCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJW
aWV3ICAgZXhjZXB0aW9uV2FzUmFpc2VkOihXZWJTY3JpcHRDYWxsRnJhbWUgKilmcmFtZQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJZDooaW50
KXNpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGluZTooaW50KWxpbmVubworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb3JXZWJGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZTsKIEBlbmQKIAogCj09PSBXZWJL
aXQvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
V2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm0JKHJldmlzaW9uIDQwMjApCisrKyBXZWJL
aXQvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm0JKGxvY2FsKQpAQCAtMTE4LDYgKzEx
OCwxNCBAQAogICAgICAgICBbW1dlYlNjcmlwdERlYnVnU2VydmVyIHNoYXJlZFNjcmlwdERlYnVn
U2VydmVyXSB3ZWJWaWV3OndlYlZpZXcgd2lsbExlYXZlQ2FsbEZyYW1lOltmcmFtZSB3cmFwcGVy
XSBzb3VyY2VJZDpzaWQgbGluZTpsaW5lbm8gZm9yV2ViRnJhbWU6X3dlYkZyYW1lXTsKIH0KIAor
LSAodm9pZClleGNlcHRpb25SYWlzZWQ6KFdlYkNvcmVTY3JpcHRDYWxsRnJhbWUgKilmcmFtZSBz
b3VyY2VJZDooaW50KXNpZCBsaW5lOihpbnQpbGluZW5vCit7CisgICAgV2ViVmlldyAqd2ViVmll
dyA9IFtfd2ViRnJhbWUgd2ViVmlld107CisgICAgW1t3ZWJWaWV3IF9zY3JpcHREZWJ1Z0RlbGVn
YXRlRm9yd2FyZGVyXSB3ZWJWaWV3OndlYlZpZXcgZXhjZXB0aW9uV2FzUmFpc2VkOltmcmFtZSB3
cmFwcGVyXSBzb3VyY2VJZDpzaWQgbGluZTpsaW5lbm8gZm9yV2ViRnJhbWU6X3dlYkZyYW1lXTsK
KyAgICBpZiAoW1dlYlNjcmlwdERlYnVnU2VydmVyIGxpc3RlbmVyQ291bnRdKQorICAgICAgICBb
W1dlYlNjcmlwdERlYnVnU2VydmVyIHNoYXJlZFNjcmlwdERlYnVnU2VydmVyXSB3ZWJWaWV3Ondl
YlZpZXcgZXhjZXB0aW9uV2FzUmFpc2VkOltmcmFtZSB3cmFwcGVyXSBzb3VyY2VJZDpzaWQgbGlu
ZTpsaW5lbm8gZm9yV2ViRnJhbWU6X3dlYkZyYW1lXTsKK30KKwogQGVuZAogCiAKPT09IFdlYktp
dFRvb2xzL0Ryb3NlcmEvRGVidWdnZXJEb2N1bWVudC5tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0JKHJldmlzaW9uIDQwMjApCisrKyBXZWJLaXRU
b29scy9Ecm9zZXJhL0RlYnVnZ2VyRG9jdW1lbnQubQkobG9jYWwpCkBAIC02NDEsNCArNjQxLDE0
IEBACiAgICAgY3VycmVudEZyYW1lID0gW1tmcmFtZSBjYWxsZXJdIHJldGFpbl07CiAgICAgW29s
ZCByZWxlYXNlXTsKIH0KKworLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopdmlldyBleGNlcHRp
b25XYXNSYWlzZWQ6KFdlYlNjcmlwdENhbGxGcmFtZSAqKWZyYW1lIHNvdXJjZUlkOihpbnQpc2lk
IGxpbmU6KGludClsaW5lbm8gZm9yV2ViRnJhbWU6KFdlYkZyYW1lICopd2ViRnJhbWUKK3sKKyAg
ICBpZiAoIXdlYlZpZXdMb2FkZWQpCisgICAgICAgIHJldHVybjsKKworICAgIE5TQXJyYXkgKmFy
Z3MgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRoT2JqZWN0czpbTlNOdW1iZXIgbnVtYmVyV2l0
aEludDpzaWRdLCBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpsaW5lbm9dLCBuaWxdOworICAgIFtb
d2ViVmlldyB3aW5kb3dTY3JpcHRPYmplY3RdIGNhbGxXZWJTY3JpcHRNZXRob2Q6QCJleGNlcHRp
b25XYXNSYWlzZWQiIHdpdGhBcmd1bWVudHM6YXJnc107CisgICAgW2FyZ3MgcmVsZWFzZV07Cit9
CiBAZW5kCj09PSBXZWJLaXRUb29scy9Ecm9zZXJhL2RlYnVnZ2VyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0VG9vbHMvRHJvc2VyYS9kZWJ1Z2dlci5qcwkocmV2aXNpb24gNDAyMCkKKysrIFdlYktp
dFRvb2xzL0Ryb3NlcmEvZGVidWdnZXIuanMJKGxvY2FsKQpAQCAtODQ3LDYgKzg0NywxMiBAQAog
ICAgICAgICBzdGVwcGluZ1N0YWNrLS07CiB9CiAKK2Z1bmN0aW9uIGV4Y2VwdGlvbldhc1JhaXNl
ZChzb3VyY2VJZCwgbGluZSkKK3sKKyAgICBwYXVzZSgpOworICAgIHdpbGxFeGVjdXRlU3RhdGVt
ZW50KHNvdXJjZUlkLCBsaW5lKTsKK30KKwogZnVuY3Rpb24gc2hvd0NvbnNvbGVXaW5kb3coKQog
ewogICAgIGlmICghY29uc29sZVdpbmRvdykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9425</attachid>
            <date>2006-07-13 02:10:48 -0700</date>
            <delta_ts>2006-07-13 20:47:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit-bug-9686-v2.patch</filename>
            <type>text/plain</type>
            <size>17321</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDYtMDctMTMgIE1hcmsgUm93
ZSAgPG9wZW5kYXJ3aW4ub3JnQGJkYXNoLm5ldC5uej4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgOTY4NjogW0Ryb3NlcmFdIE5lZWQgdGhlIGFi
aWxpdHkgdG8gYnJlYWsgaW50byBEcm9zZXJhIG9uIEphdmFzY3JpcHQgZXhjZXB0aW9ucworICAg
ICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODYK
KworCUphdmFTY3JpcHRDb3JlIHBvcnRpb24gb2YgdGhlIGZpeC4KKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDogVXBkYXRlIHN5bWJvbCBmb3IgY2hhbmdlIGluIGFyZ3VtZW50IHR5cGUu
CisgICAgICAgICoga2pzL2RlYnVnZ2VyLmNwcDoKKyAgICAgICAgKERlYnVnZ2VyOjpkZXRhY2gp
OiBDbGVhciBtYXAgb2YgcmVjZW50IGV4Y2VwdGlvbnMuCisgICAgICAgIChEZWJ1Z2dlcjo6aGFz
SGFuZGxlZEV4Y2VwdGlvbik6IFRyYWNrIHRoZSBtb3N0IHJlY2VudCBleGNlcHRpb24KKyAgICAg
ICAgdGhyb3duIGJ5IGFuIGludGVycHJldGVyLgorICAgICAgICAoRGVidWdnZXI6OmV4Y2VwdGlv
bik6IENoYW5nZSBleGNlcHRpb24gYXJndW1lbnQgdG8gYSBKU1ZhbHVlLgorICAgICAgICAqIGtq
cy9kZWJ1Z2dlci5oOgorICAgICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChOb2RlOjpk
ZWJ1Z0V4Y2VwdGlvbklmTmVlZGVkKTogTm90aWZ5IHRoZSBkZWJ1Z2dlciBvZiBhbiBleGNlcHRp
b24KKyAgICAgICAgaWYgaXQgaGFzbid0IHNlZW4gaXQgYmVmb3JlLgorICAgICAgICAoVGhyb3dO
b2RlOjpleGVjdXRlKTogTm90aWZ5IHRoZSBkZWJ1Z2dlciB0aGF0IGFuIGV4Y2VwdGlvbiBpcyBi
ZWluZyB0aHJvd24uCisgICAgICAgICoga2pzL25vZGVzLmg6CisKIDIwMDYtMDctMTMgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBQbGVhc2luZyB0byBNYWNp
ZWouCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCShyZXZpc2lvbiAxNTQwMykKKysr
IEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMTc5
LDcgKzE3OSw3IEBAIF9fWk4zS0pTOEJpbmRpbmdzOEluc3RhbmNlMjFzZXREaWRFeGVjdXQKIF9f
Wk4zS0pTOEJpbmRpbmdzOEluc3RhbmNlMzJjcmVhdGVCaW5kaW5nRm9yTGFuZ3VhZ2VJbnN0YW5j
ZUVOUzFfMTVCaW5kaW5nTGFuZ3VhZ2VFUHZQS05TMF8xMFJvb3RPYmplY3RFCiBfX1pOM0tKUzhE
ZWJ1Z2dlcjEyc291cmNlVW51c2VkRVBOU185RXhlY1N0YXRlRWkKIF9fWk4zS0pTOERlYnVnZ2Vy
NmF0dGFjaEVQTlNfMTFJbnRlcnByZXRlckUKLV9fWk4zS0pTOERlYnVnZ2VyOWV4Y2VwdGlvbkVQ
TlNfOUV4ZWNTdGF0ZUVpaVBOU184SlNPYmplY3RFCitfX1pOM0tKUzhEZWJ1Z2dlcjlleGNlcHRp
b25FUE5TXzlFeGVjU3RhdGVFaWlQTlNfN0pTVmFsdWVFCiBfX1pOM0tKUzhEZWJ1Z2dlckMyRXYK
IF9fWk4zS0pTOERlYnVnZ2VyRDJFdgogX19aTjNLSlM4SlNPYmplY3QxMWhhc0luc3RhbmNlRVBO
U185RXhlY1N0YXRlRVBOU183SlNWYWx1ZUUKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9kZWJ1
Z2dlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL2RlYnVnZ2VyLmNwcAko
cmV2aXNpb24gMTU0MDMpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvZGVidWdnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MCw2ICs4MCwyMCBAQCB2b2lkIERlYnVnZ2VyOjpkZXRhY2goSW50ZXJw
cmV0ZXIqIGludGVyCiAgICAgfSBlbHNlCiAgICAgICBwID0gJnEtPm5leHQ7CiAgIH0KKworICBp
ZiAoaW50ZXJwKQorICAgIGxhdGVzdEV4Y2VwdGlvbnMucmVtb3ZlKGludGVycCk7CisgIGVsc2UK
KyAgICBsYXRlc3RFeGNlcHRpb25zLmNsZWFyKCk7Cit9CisKK2Jvb2wgRGVidWdnZXI6Omhhc0hh
bmRsZWRFeGNlcHRpb24oRXhlY1N0YXRlICpleGVjLCBKU1ZhbHVlICpleGNlcHRpb24pCit7Cisg
ICAgaWYgKGxhdGVzdEV4Y2VwdGlvbnMuZ2V0KGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpKS5n
ZXQoKSA9PSBleGNlcHRpb24pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgbGF0ZXN0RXhj
ZXB0aW9ucy5zZXQoZXhlYy0+ZHluYW1pY0ludGVycHJldGVyKCksIGV4Y2VwdGlvbik7CisgICAg
cmV0dXJuIGZhbHNlOwogfQogCiBib29sIERlYnVnZ2VyOjpzb3VyY2VQYXJzZWQoRXhlY1N0YXRl
ICovKmV4ZWMqLywgaW50IC8qc291cmNlSWQqLywgY29uc3QgVVN0cmluZyAmLypzb3VyY2VVUkwq
LywgCkBAIC05NCw3ICsxMDgsNyBAQCBib29sIERlYnVnZ2VyOjpzb3VyY2VVbnVzZWQoRXhlY1N0
YXRlICovCiB9CiAKIGJvb2wgRGVidWdnZXI6OmV4Y2VwdGlvbihFeGVjU3RhdGUgKi8qZXhlYyov
LCBpbnQgLypzb3VyY2VJZCovLCBpbnQgLypsaW5lbm8qLywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICBKU09iamVjdCAqLypleGNlcHRpb25PYmoqLykKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBKU1ZhbHVlICovKmV4Y2VwdGlvbiovKQogewogICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL2tqcy9kZWJ1Z2dlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L2tqcy9kZWJ1Z2dlci5oCShyZXZpc2lvbiAxNTQwMykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9k
ZWJ1Z2dlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMiArMjMsMTYgQEAKICNpZm5kZWYgX0tK
U0RFQlVHR0VSX0hfCiAjZGVmaW5lIF9LSlNERUJVR0dFUl9IXwogCisjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KKyNpbmNsdWRlICJwcm90ZWN0LmgiCisKIG5hbWVzcGFjZSBLSlMgewogCiAgIGNs
YXNzIERlYnVnZ2VySW1wOwogICBjbGFzcyBJbnRlcnByZXRlcjsKICAgY2xhc3MgRXhlY1N0YXRl
OwogICBjbGFzcyBKU09iamVjdDsKKyAgY2xhc3MgSlNWYWx1ZTsKICAgY2xhc3MgVVN0cmluZzsK
ICAgY2xhc3MgTGlzdDsKIApAQCAtMTQ0LDcgKzE0OCw5IEBAIG5hbWVzcGFjZSBLSlMgewogICAg
ICAqIGJlIGFib3J0ZWQKICAgICAgKi8KICAgICB2aXJ0dWFsIGJvb2wgZXhjZXB0aW9uKEV4ZWNT
dGF0ZSAqZXhlYywgaW50IHNvdXJjZUlkLCBpbnQgbGluZW5vLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSlNPYmplY3QgKmV4Y2VwdGlvbk9iaik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBKU1ZhbHVlICpleGNlcHRpb24pOworCisgICAgYm9vbCBoYXNIYW5kbGVkRXhjZXB0aW9u
KEV4ZWNTdGF0ZSAqLCBKU1ZhbHVlICopOwogCiAgICAgLyoqCiAgICAgICogQ2FsbGVkIHdoZW4g
YSBsaW5lIG9mIHRoZSBzY3JpcHQgaXMgcmVhY2hlZCAoYmVmb3JlIGl0IGlzIGV4ZWN1dGVkKQpA
QCAtMjA5LDYgKzIxNSw3IEBAIG5hbWVzcGFjZSBLSlMgewogCiAgIHByaXZhdGU6CiAgICAgRGVi
dWdnZXJJbXAgKnJlcDsKKyAgICBIYXNoTWFwPEludGVycHJldGVyKiwgUHJvdGVjdGVkUHRyPEpT
VmFsdWU+ID4gbGF0ZXN0RXhjZXB0aW9uczsKIAogICBwdWJsaWM6CiAgICAgc3RhdGljIGludCBk
ZWJ1Z2dlcnNQcmVzZW50OwpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwCShyZXZpc2lvbiAxNTQwMykK
KysrIEphdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYg
KzU3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEtKUzsKICAgICBzZXRFeGNlcHRpb25EZXRhaWxzSWZO
ZWVkZWQoZXhlYyk7IFwKICAgICBKU1ZhbHVlICpleCA9IGV4ZWMtPmV4Y2VwdGlvbigpOyBcCiAg
ICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsgXAorICAgIGRlYnVnRXhjZXB0aW9uSWZOZWVkZWQo
ZXhlYywgZXgpOyBcCiAgICAgcmV0dXJuIENvbXBsZXRpb24oVGhyb3csIGV4KTsgXAogICB9IFwK
ICAgaWYgKENvbGxlY3Rvcjo6aXNPdXRPZk1lbW9yeSgpKSBcCkBAIC02NSw2ICs2Niw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBLSlM7CiAjZGVmaW5lIEtKU19DSEVDS0VYQ0VQVElPTlZBTFVFIFwKICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKSB7IFwKICAgICBzZXRFeGNlcHRpb25EZXRhaWxzSWZO
ZWVkZWQoZXhlYyk7IFwKKyAgICBkZWJ1Z0V4Y2VwdGlvbklmTmVlZGVkKGV4ZWMsIGV4ZWMtPmV4
Y2VwdGlvbigpKTsgXAogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOyBcCiAgIH0gXAogICBpZiAo
Q29sbGVjdG9yOjppc091dE9mTWVtb3J5KCkpIFwKQEAgLTczLDYgKzc1LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIEtKUzsKICNkZWZpbmUgS0pTX0NIRUNLRVhDRVBUSU9OTElTVCBcCiAgIGlmIChleGVj
LT5oYWRFeGNlcHRpb24oKSkgeyBcCiAgICAgc2V0RXhjZXB0aW9uRGV0YWlsc0lmTmVlZGVkKGV4
ZWMpOyBcCisgICAgZGVidWdFeGNlcHRpb25JZk5lZWRlZChleGVjLCBleGVjLT5leGNlcHRpb24o
KSk7IFwKICAgICByZXR1cm4gTGlzdCgpOyBcCiAgIH0gXAogICBpZiAoQ29sbGVjdG9yOjppc091
dE9mTWVtb3J5KCkpIFwKQEAgLTI2OSw2ICsyNzIsMTYgQEAgdm9pZCBOb2RlOjpzZXRFeGNlcHRp
b25EZXRhaWxzSWZOZWVkZWQoRQogICAgIH0KIH0KIAordm9pZCBOb2RlOjpkZWJ1Z0V4Y2VwdGlv
bklmTmVlZGVkKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSogZXhjZXB0aW9uVmFsdWUpCit7Cisg
ICAgRGVidWdnZXIqIGRiZyA9IGV4ZWMtPmR5bmFtaWNJbnRlcnByZXRlcigpLT5kZWJ1Z2dlcigp
OworICAgIGlmIChkYmcgJiYgIWRiZy0+aGFzSGFuZGxlZEV4Y2VwdGlvbihleGVjLCBleGNlcHRp
b25WYWx1ZSkpIHsKKyAgICAgICAgYm9vbCBjb250ID0gZGJnLT5leGNlcHRpb24oZXhlYywgY3Vy
cmVudFNvdXJjZUlkKGV4ZWMpLCBtX2xpbmUsIGV4Y2VwdGlvblZhbHVlKTsKKyAgICAgICAgaWYg
KCFjb250KQorICAgICAgICAgICAgZGJnLT5pbXAoKS0+YWJvcnQoKTsKKyAgICB9Cit9CisKIE5v
ZGUgKk5vZGU6Om5vZGVJbnNpZGVBbGxQYXJlbnMoKQogewogICAgIHJldHVybiB0aGlzOwpAQCAt
MjI3NCw2ICsyMjg3LDggQEAgQ29tcGxldGlvbiBUaHJvd05vZGU6OmV4ZWN1dGUoRXhlY1N0YXRl
IAogICBKU1ZhbHVlICp2ID0gZXhwci0+ZXZhbHVhdGUoZXhlYyk7CiAgIEtKU19DSEVDS0VYQ0VQ
VElPTgogCisgIGRlYnVnRXhjZXB0aW9uSWZOZWVkZWQoZXhlYywgdik7CisKICAgcmV0dXJuIENv
bXBsZXRpb24oVGhyb3csIHYpOwogfQogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaAkocmV2aXNpb24gMTU0
MDMpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTEw
LDYgKzExMCw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgIEpTVmFsdWUgKnRocm93VW5kZWZpbmVk
VmFyaWFibGVFcnJvcihFeGVjU3RhdGUgKiwgY29uc3QgSWRlbnRpZmllciAmKTsKIAogICAgIHZv
aWQgc2V0RXhjZXB0aW9uRGV0YWlsc0lmTmVlZGVkKEV4ZWNTdGF0ZSopOworICAgIHZvaWQgZGVi
dWdFeGNlcHRpb25JZk5lZWRlZChFeGVjU3RhdGUqLCBKU1ZhbHVlKik7CiAKICAgICBpbnQgbV9s
aW5lOwogICBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDA0KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAwNi0wNy0xMyAgTWFyayBSb3dlICA8
b3BlbmRhcndpbi5vcmdAYmRhc2gubmV0Lm56PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5Njg2OiBbRHJvc2VyYV0gTmVlZCB0aGUgYWJpbGl0
eSB0byBicmVhayBpbnRvIERyb3NlcmEgb24gSmF2YXNjcmlwdCBleGNlcHRpb25zCisgICAgICAg
IGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NgorCisg
ICAgICAgIFdlYkNvcmUgcG9ydGlvbiBvZiB0aGUgZml4LgorCisgICAgICAgICogYnJpZGdlL21h
Yy9XZWJDb3JlU2NyaXB0RGVidWdnZXIuaDoKKyAgICAgICAgKC1bV2ViU2NyaXB0RGVidWdnZXIg
ZXhjZXB0aW9uUmFpc2VkOnNvdXJjZUlkOmxpbmU6Ol0pOiBBZGQgZGVsZWdhdGUgbWV0aG9kLgor
ICAgICAgICAqIGJyaWRnZS9tYWMvV2ViQ29yZVNjcmlwdERlYnVnZ2VyLm1tOgorICAgICAgICAo
V2ViQ29yZVNjcmlwdERlYnVnZ2VySW1wOjpleGNlcHRpb24pOiBDYWxsIGRlbGVnYXRlIG1ldGhv
ZCB3aGVuIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisKIDIwMDYtMDctMTIgIE1pdHogUGV0dGVs
ICA8b3BlbmRhcndpbi5vcmdAbWl0enBldHRlbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRlbGUuCkluZGV4OiBXZWJDb3JlL2JyaWRnZS9tYWMvV2ViQ29yZVNjcmlwdERlYnVnZ2VyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2UvbWFjL1dlYkNvcmVTY3JpcHREZWJ1Z2dlci5o
CShyZXZpc2lvbiAxNTQwMykKKysrIFdlYkNvcmUvYnJpZGdlL21hYy9XZWJDb3JlU2NyaXB0RGVi
dWdnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQCB1c2luZyBLSlM6OkV4ZWNT
dGF0ZTsKIC0gKHZvaWQpZW50ZXJlZEZyYW1lOihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJh
bWUgc291cmNlSWQ6KGludClzaWQgbGluZTooaW50KWxpbmVubzsKIC0gKHZvaWQpaGl0U3RhdGVt
ZW50OihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291cmNlSWQ6KGludClzaWQgbGlu
ZTooaW50KWxpbmVubzsKIC0gKHZvaWQpbGVhdmluZ0ZyYW1lOihXZWJDb3JlU2NyaXB0Q2FsbEZy
YW1lICopZnJhbWUgc291cmNlSWQ6KGludClzaWQgbGluZTooaW50KWxpbmVubzsKKy0gKHZvaWQp
ZXhjZXB0aW9uUmFpc2VkOihXZWJDb3JlU2NyaXB0Q2FsbEZyYW1lICopZnJhbWUgc291cmNlSWQ6
KGludClzaWQgbGluZTooaW50KWxpbmVubzsKIAogQGVuZAogCkluZGV4OiBXZWJDb3JlL2JyaWRn
ZS9tYWMvV2ViQ29yZVNjcmlwdERlYnVnZ2VyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYnJp
ZGdlL21hYy9XZWJDb3JlU2NyaXB0RGVidWdnZXIubW0JKHJldmlzaW9uIDE1NDAzKQorKysgV2Vi
Q29yZS9icmlkZ2UvbWFjL1dlYkNvcmVTY3JpcHREZWJ1Z2dlci5tbQkod29ya2luZyBjb3B5KQpA
QCAtMTIyLDYgKzEyMiwxNSBAQCBjbGFzcyBXZWJDb3JlU2NyaXB0RGVidWdnZXJJbXAgOiBwdWJs
aWMgCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIHZpcnR1YWwg
Ym9vbCBleGNlcHRpb24oRXhlY1N0YXRlICpzdGF0ZSwgaW50IHNpZCwgaW50IGxpbmVubywgSlNW
YWx1ZSAqZXhjZXB0aW9uKSB7CisgICAgICAgIGlmICghX25lc3RlZCkgeworICAgICAgICAgICAg
X25lc3RlZCA9IHRydWU7CisgICAgICAgICAgICBbW19vYmpjIGRlbGVnYXRlXSBleGNlcHRpb25S
YWlzZWQ6X2N1cnJlbnQgc291cmNlSWQ6c2lkIGxpbmU6bGluZW5vXTsKKyAgICAgICAgICAgIF9u
ZXN0ZWQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisK
IH07CiAKIApJbmRleDogV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTQwNCkKKysrIFdlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTQgKzEsMzQgQEAKKzIwMDYtMDctMTMgIE1hcmsgUm93ZSAgPG9wZW5kYXJ3aW4u
b3JnQGJkYXNoLm5ldC5uej4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCdWcgOTY4NjogW0Ryb3NlcmFdIE5lZWQgdGhlIGFiaWxpdHkgdG8gYnJlYWsg
aW50byBEcm9zZXJhIG9uIEphdmFzY3JpcHQgZXhjZXB0aW9ucworICAgICAgICBodHRwOi8vYnVn
emlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTk2ODYKKworICAgICAgICBXZWJL
aXQgcG9ydGlvbiBvZiB0aGUgZml4LgorCisgICAgICAgICogRGVmYXVsdERlbGVnYXRlcy9XZWJE
ZWZhdWx0U2NyaXB0RGVidWdEZWxlZ2F0ZS5tOgorICAgICAgICAoLVtXZWJEZWZhdWx0U2NyaXB0
RGVidWdEZWxlZ2F0ZSB3ZWJWaWV3OmV4Y2VwdGlvbldhc1JhaXNlZDpzb3VyY2VJZDpsaW5lOmZv
cldlYkZyYW1lOl0pOgorICAgICAgICAqIERlZmF1bHREZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdT
ZXJ2ZXIuaDoKKyAgICAgICAgKiBEZWZhdWx0RGVsZWdhdGVzL1dlYlNjcmlwdERlYnVnU2VydmVy
Lm06CisgICAgICAgICgtW1dlYlNjcmlwdERlYnVnU2VydmVyIHdlYlZpZXc6ZXhjZXB0aW9uV2Fz
UmFpc2VkOnNvdXJjZUlkOmxpbmU6Zm9yV2ViRnJhbWU6XSk6IE5vdGlmeQorICAgICAgICBsaXN0
ZW5lcnMgdGhhdCBhbiBleGNlcHRpb24gaGFzIGJlZW4gcmFpc2VkLgorICAgICAgICAqIFdlYlZp
ZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViU2NyaXB0
RGVidWdEZWxlZ2F0ZS5tOgorICAgICAgICAoLVtXZWJTY3JpcHRDYWxsRnJhbWUgZXhjZXB0aW9u
UmFpc2VkOnNvdXJjZUlkOmxpbmU6XSk6IERpc3BhdGNoIHRocm91Z2ggdG8gZGVsZWdhdGUgYW5k
CisgICAgICAgIFdlYlNjcmlwdERlYnVnU2VydmVyLgorCiAyMDA2LTA3LTEyICBBbmRlcnMgQ2Fy
bHNzb24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
LgogCiAgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTYyNAogICAgICAgICBSRUdSRVNTSU9OOiBBZnRlciBjdHJsLWNsaWNraW5nIGluIGEgRU1Q
VFkgaW5wdXQgb3IgdGV4dGFyZWEgZmllbGQsIHRoZSBjb250ZXh0dWFsIG1lbnUgc2hvd3MgIlNl
YXJjaCBpbiBHb29nbGUiIGFuZCAiU2VhcmNoIGluIFNwb3RsaWdodCIgYXMgYWN0aXZlIG1lbnUg
aXRlbXMKLSAgICAgICAgCisKICAgICAgICAgKiBEZWZhdWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRD
b250ZXh0TWVudURlbGVnYXRlLm06CiAgICAgICAgICgtW1dlYkRlZmF1bHRVSURlbGVnYXRlIGVk
aXRpbmdDb250ZXh0TWVudUl0ZW1zRm9yRWxlbWVudDpkZWZhdWx0TWVudUl0ZW1zOl0pOgogICAg
ICAgICBEb24ndCBjcmVhdGUgRGljdGlvbmFyeSwgU3BvdGxpZ2h0IG9yIEdvb2dsZSBsb29rdXAg
aXRlbXMgaWYgdGhlcmUncyBubyBzZWxlY3Rpb24uCi0gICAgICAgIAorCiAyMDA2LTA3LTEyICBN
YXJrIFJvd2UgIDxvcGVuZGFyd2luLm9yZ0BiZGFzaC5uZXQubno+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgVGltb3RoeS4KSW5kZXg6IFdlYktpdC9EZWZhdWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRT
Y3JpcHREZWJ1Z0RlbGVnYXRlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0RlZmF1bHREZWxlZ2F0
ZXMvV2ViRGVmYXVsdFNjcmlwdERlYnVnRGVsZWdhdGUubQkocmV2aXNpb24gMTU0MDMpCisrKyBX
ZWJLaXQvRGVmYXVsdERlbGVnYXRlcy9XZWJEZWZhdWx0U2NyaXB0RGVidWdEZWxlZ2F0ZS5tCSh3
b3JraW5nIGNvcHkpCkBAIC04Niw0ICs4NiwxMSBAQCBzdGF0aWMgV2ViRGVmYXVsdFNjcmlwdERl
YnVnRGVsZWdhdGUgKnNoCiB7CiB9CiAKKy0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXdlYlZp
ZXcgICBleGNlcHRpb25XYXNSYWlzZWQ6KFdlYlNjcmlwdENhbGxGcmFtZSAqKWZyYW1lCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUlkOihpbnQp
c2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aW5lOihpbnQpbGluZW5vCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1lCit7Cit9CisKIEBlbmQKSW5kZXg6
IFdlYktpdC9EZWZhdWx0RGVsZWdhdGVzL1dlYlNjcmlwdERlYnVnU2VydmVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L0RlZmF1bHREZWxlZ2F0ZXMvV2ViU2NyaXB0RGVidWdTZXJ2ZXIuaAkocmV2
aXNpb24gMTU0MDMpCisrKyBXZWJLaXQvRGVmYXVsdERlbGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1Nl
cnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSwxMSBAQCBleHRlcm4gTlNTdHJpbmcg
KldlYlNjcmlwdERlYnVnU2VydmVyV2lsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNvdXJjZUlkOihpbnQpc2lkCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOihpbnQpbGluZW5vCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAq
KXdlYkZyYW1lOworCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3ICAgZXhjZXB0
aW9uV2FzUmFpc2VkOihXZWJTY3JpcHRDYWxsRnJhbWUgKilmcmFtZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJZDooaW50KXNpZAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTooaW50KWxp
bmVubworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JXZWJG
cmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZTsKIEBlbmQKIAogQHByb3RvY29sIFdlYlNjcmlwdERl
YnVnU2VydmVyIDxOU09iamVjdD4KSW5kZXg6IFdlYktpdC9EZWZhdWx0RGVsZWdhdGVzL1dlYlNj
cmlwdERlYnVnU2VydmVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0RlZmF1bHREZWxlZ2F0ZXMv
V2ViU2NyaXB0RGVidWdTZXJ2ZXIubQkocmV2aXNpb24gMTU0MDMpCisrKyBXZWJLaXQvRGVmYXVs
dERlbGVnYXRlcy9XZWJTY3JpcHREZWJ1Z1NlcnZlci5tCSh3b3JraW5nIGNvcHkpCkBAIC0zMjks
NCArMzI5LDI2IEBAIHN0YXRpYyB1bnNpZ25lZCBsaXN0ZW5lckNvdW50ID0gMDsKICAgICBbc2Vs
ZiBzdXNwZW5kUHJvY2Vzc0lmUGF1c2VkXTsKIH0KIAorLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3
ICopd2ViVmlldyAgIGV4Y2VwdGlvbldhc1JhaXNlZDooV2ViU2NyaXB0Q2FsbEZyYW1lICopZnJh
bWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNl
SWQ6KGludClzaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpbmU6KGludClsaW5lbm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZm9yV2ViRnJhbWU6KFdlYkZyYW1lICopd2ViRnJhbWUKK3sKKyAgICBpZiAo
IVtsaXN0ZW5lcnMgY291bnRdKQorICAgICAgICByZXR1cm47CisKKyAgICBOU0VudW1lcmF0b3Ig
KmVudW1lcmF0b3IgPSBbbGlzdGVuZXJzIG9iamVjdEVudW1lcmF0b3JdOworICAgIE5TRGlzdGFu
dE9iamVjdCA8V2ViU2NyaXB0RGVidWdMaXN0ZW5lcj4gKmxpc3RlbmVyID0gbmlsOworCisgICAg
d2hpbGUgKChsaXN0ZW5lciA9IFtlbnVtZXJhdG9yIG5leHRPYmplY3RdKSkgeworICAgICAgICBp
ZiAoW1tsaXN0ZW5lciBjb25uZWN0aW9uRm9yUHJveHldIGlzVmFsaWRdKQorICAgICAgICAgICAg
W2xpc3RlbmVyIHdlYlZpZXc6d2ViVmlldyBleGNlcHRpb25XYXNSYWlzZWQ6ZnJhbWUgc291cmNl
SWQ6c2lkIGxpbmU6bGluZW5vIGZvcldlYkZyYW1lOndlYkZyYW1lXTsKKyAgICB9CisKKyAgICAv
LyBjaGVjayBmb3IgbWVzc2FnZXMgZnJvbSB0aGUgbGlzdGVuZXJzLCBzbyB0aGV5IGNhbiBwYXVz
ZSBpbW1lZGlhdGVseQorICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5Nb2RlOk5T
Q29ubmVjdGlvblJlcGx5TW9kZSBiZWZvcmVEYXRlOltOU0RhdGUgZGlzdGFudFBhc3RdXTsKKwor
ICAgIFtzZWxmIHN1c3BlbmRQcm9jZXNzSWZQYXVzZWRdOworfQorCiBAZW5kCkluZGV4OiBXZWJL
aXQvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5oCShyZXZpc2lvbiAxNTQwMykKKysrIFdl
YktpdC9XZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
ODQsNiArODQsMTEgQEAgZW51bSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lOihpbnQpbGluZW5vCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZvcldlYkZyYW1lOihXZWJGcmFtZSAqKXdlYkZyYW1lOwog
CisvLyBleGNlcHRpb24gaXMgYmVpbmcgdGhyb3duCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcg
Kil3ZWJWaWV3ICAgZXhjZXB0aW9uV2FzUmFpc2VkOihXZWJTY3JpcHRDYWxsRnJhbWUgKilmcmFt
ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VJ
ZDooaW50KXNpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGluZTooaW50KWxpbmVubworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmb3JXZWJGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZTsKIEBlbmQKIAogCklu
ZGV4OiBXZWJLaXQvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tCShyZXZpc2lvbiAxNTQw
MykKKysrIFdlYktpdC9XZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUubQkod29ya2luZyBj
b3B5KQpAQCAtMTE4LDYgKzExOCwxNCBAQCBOU1N0cmluZyAqIGNvbnN0IFdlYlNjcmlwdEVycm9y
TGluZU51bWJlCiAgICAgICAgIFtbV2ViU2NyaXB0RGVidWdTZXJ2ZXIgc2hhcmVkU2NyaXB0RGVi
dWdTZXJ2ZXJdIHdlYlZpZXc6d2ViVmlldyB3aWxsTGVhdmVDYWxsRnJhbWU6W2ZyYW1lIHdyYXBw
ZXJdIHNvdXJjZUlkOnNpZCBsaW5lOmxpbmVubyBmb3JXZWJGcmFtZTpfd2ViRnJhbWVdOwogfQog
CistICh2b2lkKWV4Y2VwdGlvblJhaXNlZDooV2ViQ29yZVNjcmlwdENhbGxGcmFtZSAqKWZyYW1l
IHNvdXJjZUlkOihpbnQpc2lkIGxpbmU6KGludClsaW5lbm8KK3sKKyAgICBXZWJWaWV3ICp3ZWJW
aWV3ID0gW193ZWJGcmFtZSB3ZWJWaWV3XTsKKyAgICBbW3dlYlZpZXcgX3NjcmlwdERlYnVnRGVs
ZWdhdGVGb3J3YXJkZXJdIHdlYlZpZXc6d2ViVmlldyBleGNlcHRpb25XYXNSYWlzZWQ6W2ZyYW1l
IHdyYXBwZXJdIHNvdXJjZUlkOnNpZCBsaW5lOmxpbmVubyBmb3JXZWJGcmFtZTpfd2ViRnJhbWVd
OworICAgIGlmIChbV2ViU2NyaXB0RGVidWdTZXJ2ZXIgbGlzdGVuZXJDb3VudF0pCisgICAgICAg
IFtbV2ViU2NyaXB0RGVidWdTZXJ2ZXIgc2hhcmVkU2NyaXB0RGVidWdTZXJ2ZXJdIHdlYlZpZXc6
d2ViVmlldyBleGNlcHRpb25XYXNSYWlzZWQ6W2ZyYW1lIHdyYXBwZXJdIHNvdXJjZUlkOnNpZCBs
aW5lOmxpbmVubyBmb3JXZWJGcmFtZTpfd2ViRnJhbWVdOworfQorCiBAZW5kCiAKIApJbmRleDog
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTU0MDQpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAwNi0wNy0xMyAgTWFyayBSb3dlICA8b3BlbmRhcndpbi5v
cmdAYmRhc2gubmV0Lm56PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEJ1ZyA5Njg2OiBbRHJvc2VyYV0gTmVlZCB0aGUgYWJpbGl0eSB0byBicmVhayBp
bnRvIERyb3NlcmEgb24gSmF2YXNjcmlwdCBleGNlcHRpb25zCisgICAgICAgIGh0dHA6Ly9idWd6
aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NgorCisgICAgICAgICogRHJv
c2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm06CisgICAgICAgICgtW1dlYlNjcmlwdE9iamVjdCBzd2l0
Y2hUb1NlcnZlck5hbWVkOl0pOiBSZW1vdmUgYXMgbGlzdGVuZXIgYmVmb3JlIHJlc3VtaW5nIHRv
CisgICAgICAgIGVuc3VyZSB0aGF0IHRoZSBzZXJ2ZXIgZG9lcyBub3QgdHJ5IGFuZCBub3RpZnkg
dXMgb2YgZXZlbnRzIHJlbGF0ZWQgdG8gdGhlIHJlc3VtcHRpb24uCisgICAgICAgICgtW1dlYlNj
cmlwdE9iamVjdCB3ZWJWaWV3OmV4Y2VwdGlvbldhc1JhaXNlZDpzb3VyY2VJZDpsaW5lOmZvcldl
YkZyYW1lOl0pOiBEZWxlZ2F0ZQorICAgICAgICBjYWxsIHRocm91Z2ggdG8gSmF2YVNjcmlwdC4K
KyAgICAgICAgKiBEcm9zZXJhL2RlYnVnZ2VyLmpzOiBQYXVzZSBkZWJ1Z2dlciB3aGVuIGV4Y2Vw
dGlvbiBpcyByYWlzZWQuCisKIDIwMDYtMDctMTMgIE1hcmsgUm93ZSAgPG9wZW5kYXJ3aW4ub3Jn
QGJkYXNoLm5ldC5uej4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5LgpJbmRleDogV2Vi
S2l0VG9vbHMvRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0JKHJldmlzaW9uIDE1NDAzKQorKysgV2Vi
S2l0VG9vbHMvRHJvc2VyYS9EZWJ1Z2dlckRvY3VtZW50Lm0JKHdvcmtpbmcgY29weSkKQEAgLTI3
Niw4ICsyNzYsOCBAQCBzdGF0aWMgTlNTdHJpbmcgKkRlYnVnZ2VyU3RlcE91dFRvb2xiYXJJCiAg
ICAgaWYgKHNlcnZlcikgewogICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU0Nvbm5lY3Rpb25EaWREaWVOb3RpZmlj
YXRpb24gb2JqZWN0OlsoTlNEaXN0YW50T2JqZWN0ICopc2VydmVyIGNvbm5lY3Rpb25Gb3JQcm94
eV1dOwogICAgICAgICBpZiAoW1soTlNEaXN0YW50T2JqZWN0ICopc2VydmVyIGNvbm5lY3Rpb25G
b3JQcm94eV0gaXNWYWxpZF0pIHsKLSAgICAgICAgICAgIFtzZWxmIHJlc3VtZV07CiAgICAgICAg
ICAgICBbc2VydmVyIHJlbW92ZUxpc3RlbmVyOnNlbGZdOworICAgICAgICAgICAgW3NlbGYgcmVz
dW1lXTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNjQxLDQgKzY0MSwxNCBAQCBzdGF0aWMgTlNT
dHJpbmcgKkRlYnVnZ2VyU3RlcE91dFRvb2xiYXJJCiAgICAgY3VycmVudEZyYW1lID0gW1tmcmFt
ZSBjYWxsZXJdIHJldGFpbl07CiAgICAgW29sZCByZWxlYXNlXTsKIH0KKworLSAodm9pZCl3ZWJW
aWV3OihXZWJWaWV3ICopdmlldyBleGNlcHRpb25XYXNSYWlzZWQ6KFdlYlNjcmlwdENhbGxGcmFt
ZSAqKWZyYW1lIHNvdXJjZUlkOihpbnQpc2lkIGxpbmU6KGludClsaW5lbm8gZm9yV2ViRnJhbWU6
KFdlYkZyYW1lICopd2ViRnJhbWUKK3sKKyAgICBpZiAoIXdlYlZpZXdMb2FkZWQpCisgICAgICAg
IHJldHVybjsKKworICAgIE5TQXJyYXkgKmFyZ3MgPSBbW05TQXJyYXkgYWxsb2NdIGluaXRXaXRo
T2JqZWN0czpbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpzaWRdLCBbTlNOdW1iZXIgbnVtYmVyV2l0
aEludDpsaW5lbm9dLCBuaWxdOworICAgIFtbd2ViVmlldyB3aW5kb3dTY3JpcHRPYmplY3RdIGNh
bGxXZWJTY3JpcHRNZXRob2Q6QCJleGNlcHRpb25XYXNSYWlzZWQiIHdpdGhBcmd1bWVudHM6YXJn
c107CisgICAgW2FyZ3MgcmVsZWFzZV07Cit9CiBAZW5kCkluZGV4OiBXZWJLaXRUb29scy9Ecm9z
ZXJhL2RlYnVnZ2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0Ryb3NlcmEvZGVidWdn
ZXIuanMJKHJldmlzaW9uIDE1NDAzKQorKysgV2ViS2l0VG9vbHMvRHJvc2VyYS9kZWJ1Z2dlci5q
cwkod29ya2luZyBjb3B5KQpAQCAtODUwLDYgKzg1MCwxMiBAQCBmdW5jdGlvbiB3aWxsTGVhdmVD
YWxsRnJhbWUoc291cmNlSWQsIGxpCiAgICAgICAgIHN0ZXBwaW5nU3RhY2stLTsKIH0KIAorZnVu
Y3Rpb24gZXhjZXB0aW9uV2FzUmFpc2VkKHNvdXJjZUlkLCBsaW5lKQoreworICAgIHBhdXNlKCk7
CisgICAgd2lsbEV4ZWN1dGVTdGF0ZW1lbnQoc291cmNlSWQsIGxpbmUpOworfQorCiBmdW5jdGlv
biBzaG93Q29uc29sZVdpbmRvdygpCiB7CiAgICAgaWYgKCFjb25zb2xlV2luZG93KQo=
</data>
<flag name="review"
          id="2868"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>