<?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>9818</bug_id>
          
          <creation_ts>2006-07-09 18:23:11 -0700</creation_ts>
          <short_desc>move new UIDelegate API that has been through API review to public headers</short_desc>
          <delta_ts>2006-07-09 19:55:30 -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 API</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49003</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 18:23:11 -0700</bug_when>
    <thetext>Move the approved API to public headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49005</commentid>
    <comment_count>1</comment_count>
      <attachid>9319</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 18:27:52 -0700</bug_when>
    <thetext>Created attachment 9319
Moves the API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49008</commentid>
    <comment_count>2</comment_count>
      <attachid>9321</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 18:40:54 -0700</bug_when>
    <thetext>Created attachment 9321
New version that keeps the deprecated methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49014</commentid>
    <comment_count>3</comment_count>
      <attachid>9321</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 19:55:19 -0700</bug_when>
    <thetext>Comment on attachment 9321
New version that keeps the deprecated methods.

Reviewed by Kevin on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49015</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 19:55:30 -0700</bug_when>
    <thetext>Landed in r15275</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9319</attachid>
            <date>2006-07-09 18:27:52 -0700</date>
            <delta_ts>2006-07-09 18:40:54 -0700</delta_ts>
            <desc>Moves the API</desc>
            <filename>9818.patch</filename>
            <type>text/plain</type>
            <size>21320</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mjcy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMjcgQEAKIDIwMDYtMDct
MDkgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5ODE4OiBtb3ZlIG5ldyBVSURl
bGVnYXRlIEFQSSB0aGF0IGhhcyBiZWVuIHRocm91Z2ggQVBJIHJldmlldyB0byBwdWJsaWMgaGVh
ZGVycworICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTk4MTgKKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM4NzU0MT4gQVBJOiBSZW1vdmUg
d2ViVmlldzpzZXRDb250ZW50UmVjdDogJiB3ZWJWaWV3Q29udGVudFJlY3Q6IGRlbGVnYXRlIG1l
dGhvZHM/CisgICAgICAgIFRoZSBmaXggZm9yIDQzMTAzNjMgcmVtb3ZlZCB0aGUgb25seSB1c2Ug
b2Ygd2ViVmlld0NvbnRlbnRSZWN0OiBpbiBvdXIgY29kZS4gd2ViVmlldzpzZXRDb250ZW50UmVj
dDoKKyAgICAgICAgd2FzIG5ldmVyIHVzZWQgdG8gYmVnaW4gd2l0aC4gVGhlcmUncyBubyBoYXJt
IGluIGxlYXZpbmcgdGhlc2UgYXJvdW5kIGluIHRoZSBBUEksIGJ1dCB0aGV5J2xsIGNydWZ0IGl0
IHVwLgorCisgICAgICAgIEFsc28gcmVtb3ZlcyB0aGUgbmV2ZXIgdXNlZCB3ZWJWaWV3UHJpbnQ6
IEFQSSB0aGF0IHdhcyByZXBsYWNlZCBieSB3ZWJWaWV3OnByaW50RnJhbWVWaWV3Oi4KKworICAg
ICAgICAqIERlZmF1bHREZWxlZ2F0ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUJyaWRnZS5tOgorICAgICAgICAoLVtXZWJGcmFtZUJy
aWRnZSBwcmludF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVWaWV3Lmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJGcmFtZVZpZXcubToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lVmll
d1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlVJRGVsZWdhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmg6CisKKzIwMDYtMDctMDkgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
LgogCiAgICAgICAgIEJ1ZyA5ODE0OiBNb3ZlIG5ldyBXZWJWaWV3IEFQSSB0aGF0IGhhcyBiZWVu
IHRocm91Z2ggQVBJIHJldmlldyB0byBwdWJsaWMgaGVhZGVycwpJbmRleDogRGVmYXVsdERlbGVn
YXRlcy9XZWJEZWZhdWx0VUlEZWxlZ2F0ZS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERlZmF1bHREZWxlZ2F0
ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubQkocmV2aXNpb24gMTUyNzEpCisrKyBEZWZhdWx0RGVs
ZWdhdGVzL1dlYkRlZmF1bHRVSURlbGVnYXRlLm0JKHdvcmtpbmcgY29weSkKQEAgLTE0NywxNyAr
MTQ3LDYgQEAgc3RhdGljIFdlYkRlZmF1bHRVSURlbGVnYXRlICpzaGFyZWREZWxlZwogICAgIHJl
dHVybiB3aW5kb3cgPT0gbmlsID8gTlNaZXJvUmVjdCA6IFt3aW5kb3cgZnJhbWVdOwogfQogCi0t
ICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IHNldENvbnRlbnRSZWN0OihOU1JlY3Qp
Y29udGVudFJlY3QKLXsKLSAgICBbc2VsZiB3ZWJWaWV3OndlYlZpZXcgc2V0RnJhbWU6W05TV2lu
ZG93IGZyYW1lUmVjdEZvckNvbnRlbnRSZWN0OmNvbnRlbnRSZWN0IHN0eWxlTWFzazpbW3dlYlZp
ZXcgd2luZG93XSBzdHlsZU1hc2tdXV07Ci19Ci0KLS0gKE5TUmVjdCl3ZWJWaWV3Q29udGVudFJl
Y3Q6KFdlYlZpZXcgKil3ZWJWaWV3Ci17Ci0gICAgTlNXaW5kb3cgKndpbmRvdyA9IFt3ZWJWaWV3
IHdpbmRvd107Ci0gICAgcmV0dXJuIHdpbmRvdyA9PSBuaWwgPyBOU1plcm9SZWN0IDogW05TV2lu
ZG93IGNvbnRlbnRSZWN0Rm9yRnJhbWVSZWN0Olt3aW5kb3cgZnJhbWVdIHN0eWxlTWFzazpbd2lu
ZG93IHN0eWxlTWFza11dOwotfQotCiAtICh2b2lkKXdlYlZpZXc6IChXZWJWaWV3ICopd3YgcnVu
SmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRp
YXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWUKIHsKICAgICAvLyBGSVhNRTogV2Ugd2FudCBh
IGRlZmF1bHQgaGVyZSwgYnV0IHRoYXQgd291bGQgYWRkIGxvY2FsaXplZCBzdHJpbmdzLgpJbmRl
eDogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVCcmlkZ2UubQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUJyaWRnZS5tCShyZXZpc2lvbiAxNTI3MSkKKysrIFdlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lQnJpZGdlLm0JKHdvcmtpbmcgY29weSkKQEAgLTc4LDkgKzc4LDEyIEBACiAj
aW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVGcmFtZU5hbWVzcGFjZXMuaD4KICNpbXBvcnQgPFdlYktp
dFN5c3RlbUludGVyZmFjZS5oPgogCi0vLyBGb3IgY29tcGF0aWJpbGl0eSBvbmx5IHdpdGggb2xk
IFNQSS4gCi1AaW50ZXJmYWNlIE5TT2JqZWN0IChPbGRXZWJQbHVnaW4pCisvLyBGb3IgY29tcGF0
aWJpbGl0eSBvbmx5IHdpdGggb2xkIFNQSSBhbmQgZGVwcmVjYXRlZCBBUEkuIAorQGludGVyZmFj
ZSBOU09iamVjdCAoRGVwcmVjYXRlZE1ldGhvZHMpCiAtICh2b2lkKXNldElzU2VsZWN0ZWQ6KEJP
T0wpZjsKKy0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0QWxl
cnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2U7CistIChCT09MKXdlYlZpZXc6
KFdlYlZpZXcgKilzZW5kZXIgcnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOihO
U1N0cmluZyAqKW1lc3NhZ2U7CistIChOU1N0cmluZyAqKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5k
ZXIgcnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdDooTlNTdHJpbmcgKilwcm9t
cHQgZGVmYXVsdFRleHQ6KE5TU3RyaW5nICopZGVmYXVsdFRleHQ7CiBAZW5kCiAKIEBpbnRlcmZh
Y2UgTlNBcHBsaWNhdGlvbiAoRGVjbGFyYXRpb25TdG9sZW5Gcm9tQXBwS2l0KQpAQCAtMTM1MSw5
ICsxMzU0LDYgQEAgc3RhdGljIGlkIDxXZWJGb3JtRGVsZWdhdGU+IGZvcm1EZWxlZ2F0ZQogICAg
IAogICAgIGlmIChbd2QgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OnByaW50
RnJhbWVWaWV3OildKSB7CiAgICAgICAgIFt3ZCB3ZWJWaWV3OltzZWxmIHdlYlZpZXddIHByaW50
RnJhbWVWaWV3OltfZnJhbWUgZnJhbWVWaWV3XV07Ci0gICAgfSBlbHNlIGlmIChbd2QgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3UHJpbnQ6KV0pIHsKLSAgICAgICAgLy8gQmFj
a3dhcmQtY29tcGF0aWJsZSwgYnV0IHdlYlZpZXdQcmludDogd2FzIG5ldmVyIHB1YmxpYywgc28g
cHJvYmFibHkgbm90IG5lZWRlZC4KLSAgICAgICAgW3dkIHdlYlZpZXdQcmludDpbc2VsZiB3ZWJW
aWV3XV07CiAgICAgfSBlbHNlIHsKICAgICAgICAgW1tXZWJEZWZhdWx0VUlEZWxlZ2F0ZSBzaGFy
ZWRVSURlbGVnYXRlXSB3ZWJWaWV3OltzZWxmIHdlYlZpZXddIHByaW50RnJhbWVWaWV3OltfZnJh
bWUgZnJhbWVWaWV3XV07CiAgICAgfQpJbmRleDogV2ViVmlldy9XZWJGcmFtZVZpZXcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJWaWV3L1dlYkZyYW1lVmlldy5oCShyZXZpc2lvbiAxNTI3MSkKKysrIFdl
YlZpZXcvV2ViRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDQgKzcxLDMzIEBACiAq
LwogLSAoQk9PTClhbGxvd3NTY3JvbGxpbmc7CiAKKy8qIQorICAgIEBtZXRob2QgY2FuUHJpbnRI
ZWFkZXJzQW5kRm9vdGVycworICAgIEBhYnN0cmFjdCBUZWxscyB3aGV0aGVyIHRoaXMgZnJhbWUg
Y2FuIHByaW50IGhlYWRlcnMgYW5kIGZvb3RlcnMKKyAgICBAcmVzdWx0IFlFUyBpZiB0aGUgZnJh
bWUgY2FuLCBubyBvdGhlcndpc2UKKyovCistIChCT09MKWNhblByaW50SGVhZGVyc0FuZEZvb3Rl
cnM7CisKKy8qIQorICAgIEBtZXRob2QgcHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJbmZvCisgICAg
QGFic3RyYWN0IENyZWF0ZXMgYSBwcmludCBvcGVyYXRpb24gc2V0IHVwIHRvIHByaW50IHRoaXMg
ZnJhbWUKKyAgICBAcmVzdWx0IEEgbmV3bHkgY3JlYXRlZCBwcmludCBvcGVyYXRpb24gb2JqZWN0
CisqLworLSAoTlNQcmludE9wZXJhdGlvbiAqKXByaW50T3BlcmF0aW9uV2l0aFByaW50SW5mbzoo
TlNQcmludEluZm8gKilwcmludEluZm87CisKKy8qIQorICAgIEBtZXRob2QgZG9jdW1lbnRWaWV3
U2hvdWxkSGFuZGxlUHJpbnQKKyAgICBAYWJzdHJhY3QgQ2FsbGVkIGJ5IHRoZSBob3N0IGFwcGxp
Y2F0aW9uIGJlZm9yZSBpdCBpbml0aWFsaXplcyBhbmQgcnVucyBhIHByaW50IG9wZXJhdGlvbi4K
KyAgICBAcmVzdWx0IElmIE5PIGlzIHJldHVybmVkLCB0aGUgaG9zdCBhcHBsaWNhdGlvbiB3aWxs
IGFib3J0IGl0cyBwcmludCBvcGVyYXRpb24gYW5kIGNhbGwgLXByaW50RG9jdW1lbnRWaWV3IG9u
IHRoZQorICAgIFdlYkZyYW1lVmlldy4gIFRoZSBkb2N1bWVudCB2aWV3IGlzIHRoZW4gZXhwZWN0
ZWQgdG8gcnVuIGl0cyBvd24gcHJpbnQgb3BlcmF0aW9uLiAgSWYgWUVTIGlzIHJldHVybmVkLCB0
aGUgaG9zdCAKKyAgICBhcHBsaWNhdGlvbidzIHByaW50IG9wZXJhdGlvbiB3aWxsIGNvbnRpbnVl
IGFzIG5vcm1hbC4KKyovCistIChCT09MKWRvY3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50Owor
CisvKiEKKyAgICBAbWV0aG9kIHByaW50RG9jdW1lbnRWaWV3CisgICAgQGFic3RyYWN0IENhbGxl
ZCBieSB0aGUgaG9zdCBhcHBsaWNhdGlvbiB3aGVuIHRoZSBXZWJGcmFtZVZpZXcgcmV0dXJucyBZ
RVMgZnJvbSAtZG9jdW1lbnRWaWV3U2hvdWxkSGFuZGxlUHJpbnQuCisqLworLSAodm9pZClwcmlu
dERvY3VtZW50VmlldzsKKwogQGVuZApJbmRleDogV2ViVmlldy9XZWJGcmFtZVZpZXcubQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJWaWV3L1dlYkZyYW1lVmlldy5tCShyZXZpc2lvbiAxNTI3MSkKKysrIFdl
YlZpZXcvV2ViRnJhbWVWaWV3Lm0JKHdvcmtpbmcgY29weSkKQEAgLTg1NiwxMCArODU2LDYgQEAg
c3RhdGljIGlubGluZSB2b2lkIGFkZFR5cGVzRnJvbUNsYXNzKE5TTQogICAgIHJldHVybiB2aWV3
ID8gW3ZpZXcgX3dlYmNvcmVfZWZmZWN0aXZlRmlyc3RSZXNwb25kZXJdIDogW3N1cGVyIF93ZWJj
b3JlX2VmZmVjdGl2ZUZpcnN0UmVzcG9uZGVyXTsKIH0KIAotQGVuZAotCi1AaW1wbGVtZW50YXRp
b24gV2ViRnJhbWVWaWV3IChXZWJQcml2YXRlKQotCiAtIChCT09MKWNhblByaW50SGVhZGVyc0Fu
ZEZvb3RlcnMKIHsKICAgICBOU1ZpZXcgKmRvY3VtZW50VmlldyA9IFtbc2VsZiBfc2Nyb2xsVmll
d10gZG9jdW1lbnRWaWV3XTsKQEAgLTg5Nyw2ICs4OTMsMTAgQEAgc3RhdGljIGlubGluZSB2b2lk
IGFkZFR5cGVzRnJvbUNsYXNzKE5TTQogICAgICAgICBbKGlkKWRvY3VtZW50VmlldyBwcmludERv
Y3VtZW50Vmlld107CiB9CiAKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFdlYkZyYW1lVmlldyAo
V2ViUHJpdmF0ZSkKKwogLSAoZmxvYXQpX2FyZWEKIHsKICAgICBOU1JlY3QgZnJhbWUgPSBbc2Vs
ZiBmcmFtZV07CkluZGV4OiBXZWJWaWV3L1dlYkZyYW1lVmlld1ByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJWaWV3L1dlYkZyYW1lVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTUyNzEpCisrKyBX
ZWJWaWV3L1dlYkZyYW1lVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMzUgKzMx
LDYgQEAKIEBpbnRlcmZhY2UgV2ViRnJhbWVWaWV3IChXZWJQcml2YXRlKQogCiAvKiEKLSAgICBA
bWV0aG9kIGNhblByaW50SGVhZGVyc0FuZEZvb3RlcnMKLSAgICBAYWJzdHJhY3QgVGVsbHMgd2hl
dGhlciB0aGlzIGZyYW1lIGNhbiBwcmludCBoZWFkZXJzIGFuZCBmb290ZXJzCi0gICAgQHJlc3Vs
dCBZRVMgaWYgdGhlIGZyYW1lIGNhbiwgbm8gb3RoZXJ3aXNlCi0qLwotLSAoQk9PTCljYW5Qcmlu
dEhlYWRlcnNBbmRGb290ZXJzOwotCi0vKiEKLSAgICBAbWV0aG9kIHByaW50T3BlcmF0aW9uV2l0
aFByaW50SW5mbwotICAgIEBhYnN0cmFjdCBDcmVhdGVzIGEgcHJpbnQgb3BlcmF0aW9uIHNldCB1
cCB0byBwcmludCB0aGlzIGZyYW1lCi0gICAgQHJlc3VsdCBBIG5ld2x5IGNyZWF0ZWQgcHJpbnQg
b3BlcmF0aW9uIG9iamVjdAotKi8KLS0gKE5TUHJpbnRPcGVyYXRpb24gKilwcmludE9wZXJhdGlv
bldpdGhQcmludEluZm86KE5TUHJpbnRJbmZvICopcHJpbnRJbmZvOwotCi0vKiEKLSAgICBAbWV0
aG9kIGRvY3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50Ci0gICAgQGFic3RyYWN0IENhbGxlZCBi
eSB0aGUgaG9zdCBhcHBsaWNhdGlvbiBiZWZvcmUgaXQgaW5pdGlhbGl6ZXMgYW5kIHJ1bnMgYSBw
cmludCBvcGVyYXRpb24uCi0gICAgQHJlc3VsdCBJZiBOTyBpcyByZXR1cm5lZCwgdGhlIGhvc3Qg
YXBwbGljYXRpb24gd2lsbCBhYm9ydCBpdHMgcHJpbnQgb3BlcmF0aW9uIGFuZCBjYWxsIC1wcmlu
dERvY3VtZW50VmlldyBvbiB0aGUKLSAgICBXZWJGcmFtZVZpZXcuICBUaGUgZG9jdW1lbnQgdmll
dyBpcyB0aGVuIGV4cGVjdGVkIHRvIHJ1biBpdHMgb3duIHByaW50IG9wZXJhdGlvbi4gIElmIFlF
UyBpcyByZXR1cm5lZCwgdGhlIGhvc3QgCi0gICAgYXBwbGljYXRpb24ncyBwcmludCBvcGVyYXRp
b24gd2lsbCBjb250aW51ZSBhcyBub3JtYWwuCi0qLwotLSAoQk9PTClkb2N1bWVudFZpZXdTaG91
bGRIYW5kbGVQcmludDsKLQotLyohCi0gICAgQG1ldGhvZCBwcmludERvY3VtZW50VmlldwotICAg
IEBhYnN0cmFjdCBDYWxsZWQgYnkgdGhlIGhvc3QgYXBwbGljYXRpb24gd2hlbiB0aGUgV2ViRnJh
bWVWaWV3IHJldHVybnMgWUVTIGZyb20gLWRvY3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50Lgot
Ki8KLS0gKHZvaWQpcHJpbnREb2N1bWVudFZpZXc7Ci0KLS8qIQogICAgIEBtZXRob2QgX2xhcmdl
c3RDaGlsZFdpdGhTY3JvbGxCYXJzCiAgICAgQGFic3RyYWN0IE9mIHRoZSBjaGlsZCBXZWJGcmFt
ZVZpZXdzIHRoYXQgYXJlIGRpc3BsYXlpbmcgc2Nyb2xsIGJhcnMsIGRldGVybWluZXMgd2hpY2gg
aGFzIHRoZSBsYXJnZXN0IGFyZWEuCiAgICAgQHJlc3VsdCBBIGNoaWxkIFdlYkZyYW1lVmlldyB0
aGF0IGlzIGRpc3BsYXlpbmcgc2Nyb2xsIGJhcnMsIG9yIG5pbCBpZiBub25lLgpJbmRleDogV2Vi
Vmlldy9XZWJVSURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViVmlldy9XZWJVSURlbGVnYXRl
LmgJKHJldmlzaW9uIDE1MjcxKQorKysgV2ViVmlldy9XZWJVSURlbGVnYXRlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE2OCw2ICsxNjgsMjcgQEAgdHlwZWRlZiBlbnVtIHsKIC0gKHZvaWQpd2ViVmll
d1Nob3c6KFdlYlZpZXcgKilzZW5kZXI7CiAKIC8qIQorICAgIEBtZXRob2Qgd2ViVmlldzpjcmVh
dGVXZWJWaWV3TW9kYWxEaWFsb2dXaXRoUmVxdWVzdDoKKyAgICBAYWJzdHJhY3QgQ3JlYXRlIGEg
bmV3IHdpbmRvdyBhbmQgYmVnaW4gdG8gbG9hZCB0aGUgc3BlY2lmaWVkIHJlcXVlc3QuCisgICAg
QGRpc2N1c3Npb24gVGhlIG5ld2x5IGNyZWF0ZWQgd2luZG93IGlzIGhpZGRlbiwgYW5kIHRoZSB3
aW5kb3cgb3BlcmF0aW9ucyBkZWxlZ2F0ZSBvbiB0aGUKKyAgICBuZXcgV2ViVmlld3Mgd2lsbCBn
ZXQgYSB3ZWJWaWV3U2hvdzogY2FsbC4KKyAgICBAcGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNl
bmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KKyAgICBAcGFyYW0gcmVxdWVzdCBUaGUgcmVxdWVz
dCB0byBsb2FkLgorICAgIEByZXN1bHQgVGhlIFdlYlZpZXcgZm9yIHRoZSBuZXcgd2luZG93Lgor
Ki8KKy0gKFdlYlZpZXcgKil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGNyZWF0ZVdlYlZpZXdN
b2RhbERpYWxvZ1dpdGhSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0OworCisvKiEKKyAg
ICBAbWV0aG9kIHdlYlZpZXdSdW5Nb2RhbDoKKyAgICBAcGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3
IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KKyAgICBAYWJzdHJhY3QgU2hvdyB0aGUgd2lu
ZG93IHRoYXQgY29udGFpbnMgdGhlIHRvcCBsZXZlbCB2aWV3IG9mIHRoZSBXZWJWaWV3LAorICAg
IG9yZGVyaW5nIGl0IGZyb250bW9zdC4gVGhlIHdpbmRvdyBzaG91bGQgYmUgcnVuIG1vZGFsIGlu
IHRoZSBhcHBsaWNhdGlvbi4KKyAgICBAZGlzY3Vzc2lvbiBUaGlzIHdpbGwgb25seSBiZSBjYWxs
ZWQganVzdCBhZnRlciBjcmVhdGVXZWJWaWV3TW9kYWxEaWFsb2dXaXRoUmVxdWVzdDoKKyAgICBp
cyB1c2VkIHRvIGNyZWF0ZSBhIG5ldyB3aW5kb3cuCisqLworLSAodm9pZCl3ZWJWaWV3UnVuTW9k
YWw6KFdlYlZpZXcgKilzZW5kZXI7CisKKy8qIQogICAgIEBtZXRob2Qgd2ViVmlld0Nsb3NlOgog
ICAgIEBhYnN0cmFjdCBDbG9zZSB0aGUgY3VycmVudCB3aW5kb3cuIAogICAgIEBwYXJhbSBzZW5k
ZXIgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kLgpAQCAtMzIwLDU4ICsz
NDEsNTYgQEAgdHlwZWRlZiBlbnVtIHsKIC0gKE5TUmVjdCl3ZWJWaWV3RnJhbWU6KFdlYlZpZXcg
KilzZW5kZXI7CiAKIC8qIQotICAgIEBtZXRob2Qgd2ViVmlldzpzZXRDb250ZW50UmVjdDoKLSAg
ICBAYWJzdHJhY3QgU2V0IHRoZSB3aW5kb3cncyBjb250ZW50IHJlY3QKKyAgICBAbWV0aG9kIHdl
YlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRCeUZyYW1l
OgorICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgSmF2YVNjcmlwdCBhbGVydCBwYW5lbC4KICAgICBA
cGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAg
ICBAcGFyYW0gZnJhbWUgVGhlIG5ldyB3aW5kb3cgY29udGVudCByZWN0Ci0gICAgQGRpc2N1c3Np
b24gRXZlbiB0aG91Z2ggYSBjYWxsZXIgY291bGQgc2V0IHRoZSBjb250ZW50IHJlY3QKLSAgICBk
aXJlY3RseSB1c2luZyB0aGUgTlNXaW5kb3csIHRoaXMgbWV0aG9kIGlzIHByb3ZpZGVkIHNvCi0g
ICAgaW1wbGVtZW50b3JzIG9mIHRoaXMgcHJvdG9jb2wgY2FuIGRvIHNwZWNpYWwgdGhpbmdzIG9u
Ci0gICAgcHJvZ3JhbW1hdGljIG1vdmUvcmVzaXplLCBsaWtlIGF2b2lkaW5nIGF1dG9zYXZpbmcg
b2YgdGhlIHNpemUuCi0qLwotLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHNldENv
bnRlbnRSZWN0OihOU1JlY3QpY29udGVudFJlY3Q7Ci0KLS8qIQotICAgIEBtZXRob2Qgd2ViVmll
d0NvbnRlbnRSZWN0OgotICAgIEBhYnN0cmFjdCBSZXR1cm4gdGhlIHdpbmRvdydzIGNvbnRlbnQg
cmVjdAotICAgIEBkaXNjdXNzaW9uIAorICAgIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRv
IGRpc3BsYXkuCisgICAgQHBhcmFtIGZyYW1lIFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0
IGluaXRpYXRlZCB0aGlzIGNhbGwuCisgICAgQGRpc2N1c3Npb24gQ2xpZW50cyBzaG91bGQgdmlz
dWFsbHkgaW5kaWNhdGUgdGhhdCB0aGlzIHBhbmVsIGNvbWVzCisgICAgZnJvbSBKYXZhU2NyaXB0
IGluaXRpYXRlZCBieSB0aGUgc3BlY2lmaWVkIGZyYW1lLiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUg
CisgICAgYSBzaW5nbGUgT0sgYnV0dG9uLgogKi8KLS0gKE5TUmVjdCl3ZWJWaWV3Q29udGVudFJl
Y3Q6KFdlYlZpZXcgKilzZW5kZXI7CistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIg
cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGlu
aXRpYXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7CiAKIC8qIQotICAgIEBtZXRob2Qgd2Vi
VmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOgotICAgIEBhYnN0cmFjdCBE
aXNwbGF5IGEgSmF2YVNjcmlwdCBhbGVydCBwYW5lbAorICAgIEBtZXRob2Qgd2ViVmlldzpydW5K
YXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZToKKyAgICBA
YWJzdHJhY3QgRGlzcGxheSBhIEphdmFTY3JpcHQgY29uZmlybSBwYW5lbC4KICAgICBAcGFyYW0g
c2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAgICBAcGFy
YW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5CisgICAgQHBhcmFtIG1lc3NhZ2UgVGhl
IG1lc3NhZ2UgdG8gZGlzcGxheS4KKyAgICBAcGFyYW0gZnJhbWUgVGhlIFdlYkZyYW1lIHdob3Nl
IEphdmFTY3JpcHQgaW5pdGlhdGVkIHRoaXMgY2FsbC4KKyAgICBAcmVzdWx0IFlFUyBpZiB0aGUg
dXNlciBoaXQgT0ssIE5PIGlmIHRoZSB1c2VyIGNob3NlIENhbmNlbC4KICAgICBAZGlzY3Vzc2lv
biBDbGllbnRzIHNob3VsZCB2aXN1YWxseSBpbmRpY2F0ZSB0aGF0IHRoaXMgcGFuZWwgY29tZXMK
LSAgICBmcm9tIEphdmFTY3JpcHQuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSBhIHNpbmdsZSBPSyBi
dXR0b24uCisgICAgZnJvbSBKYXZhU2NyaXB0IGluaXRpYXRlZCBieSB0aGUgc3BlY2lmaWVkIGZy
YW1lLiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgCisgICAgdHdvIGJ1dHRvbnMsIGUuZy4gIk9LIiBh
bmQgIkNhbmNlbCIuCiAqLwotLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkph
dmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZTsKKy0gKEJP
T0wpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0
aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAq
KWZyYW1lOwogCiAvKiEKLSAgICBAbWV0aG9kIHdlYlZpZXc6cnVuSmF2YVNjcmlwdENvbmZpcm1Q
YW5lbFdpdGhNZXNzYWdlOgotICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgSmF2YVNjcmlwdCBjb25m
aXJtIHBhbmVsCisgICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5l
bFdpdGhQcm9tcHQ6ZGVmYXVsdFRleHQ6aW5pdGlhdGVkQnlGcmFtZToKKyAgICBAYWJzdHJhY3Qg
RGlzcGxheSBhIEphdmFTY3JpcHQgdGV4dCBpbnB1dCBwYW5lbC4KICAgICBAcGFyYW0gc2VuZGVy
IFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAgICBAcGFyYW0gbWVz
c2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5Ci0gICAgQHJlc3VsdCBZRVMgaWYgdGhlIHVzZXIg
aGl0IE9LLCBubyBpZiB0aGUgdXNlciBjaG9zZSBDYW5jZWwuCisgICAgQHBhcmFtIG1lc3NhZ2Ug
VGhlIG1lc3NhZ2UgdG8gZGlzcGxheS4KKyAgICBAcGFyYW0gZGVmYXVsdFRleHQgVGhlIGluaXRp
YWwgdGV4dCBmb3IgdGhlIHRleHQgZW50cnkgYXJlYS4KKyAgICBAcGFyYW0gZnJhbWUgVGhlIFdl
YkZyYW1lIHdob3NlIEphdmFTY3JpcHQgaW5pdGlhdGVkIHRoaXMgY2FsbC4KKyAgICBAcmVzdWx0
IFRoZSB0eXBlZCB0ZXh0IGlmIHRoZSB1c2VyIGhpdCBPSywgb3RoZXJ3aXNlIG5pbC4KICAgICBA
ZGlzY3Vzc2lvbiBDbGllbnRzIHNob3VsZCB2aXN1YWxseSBpbmRpY2F0ZSB0aGF0IHRoaXMgcGFu
ZWwgY29tZXMKLSAgICBmcm9tIEphdmFTY3JpcHQuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSB0d28g
YnV0dG9ucywgZS5nLiAiT0siIGFuZAotICAgICJDYW5jZWwiLgorICAgIGZyb20gSmF2YVNjcmlw
dCBpbml0aWF0ZWQgYnkgdGhlIHNwZWNpZmllZCBmcmFtZS4gVGhlIHBhbmVsIHNob3VsZCBoYXZl
IAorICAgIHR3byBidXR0b25zLCBlLmcuICJPSyIgYW5kICJDYW5jZWwiLCBhbmQgYW4gYXJlYSB0
byB0eXBlIHRleHQuCiAqLwotLSAoQk9PTCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkph
dmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlOworLSAo
TlNTdHJpbmcgKil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRUZXh0SW5w
dXRQYW5lbFdpdGhQcm9tcHQ6KE5TU3RyaW5nICopcHJvbXB0IGRlZmF1bHRUZXh0OihOU1N0cmlu
ZyAqKWRlZmF1bHRUZXh0IGluaXRpYXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7CiAKIC8q
IQotICAgIEBtZXRob2Qgd2ViVmlldzpydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJv
bXB0OmRlZmF1bHRUZXh0OgotICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgSmF2YVNjcmlwdCB0ZXh0
IGlucHV0IHBhbmVsCisgICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRDb25maXJtUGFu
ZWxXaXRoTWVzc2FnZTppbml0aWF0ZWRCeUZyYW1lOgorICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEg
Y29uZmlybSBwYW5lbCBieSBhbiAiYmVmb3JlIHVubG9hZCIgZXZlbnQgaGFuZGxlci4KICAgICBA
cGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAg
ICBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5Ci0gICAgQHBhcmFtIGRlZmF1
bHRUZXh0IFRoZSBpbml0aWFsIHRleHQgZm9yIHRoZSB0ZXh0IGVudHJ5IGFyZWEuCi0gICAgQHJl
c3VsdCBUaGUgdHlwZWQgdGV4dCBpZiB0aGUgdXNlciBoaXQgT0ssIG90aGVyd2lzZSBuaWwuCi0g
ICAgQGRpc2N1c3Npb24gQ2xpZW50cyBzaG91bGQgdmlzdWFsbHkgaW5kaWNhdGUgdGhhdCB0aGlz
IHBhbmVsIGNvbWVzCi0gICAgZnJvbSBKYXZhU2NyaXB0LiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUg
dHdvIGJ1dHRvbnMsIGUuZy4gIk9LIiBhbmQKLSAgICAiQ2FuY2VsIiwgYW5kIGFuIGFyZWEgdG8g
dHlwZSB0ZXh0LgorICAgIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuCisg
ICAgQHBhcmFtIGZyYW1lIFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0IGluaXRpYXRlZCB0
aGlzIGNhbGwuCisgICAgQHJlc3VsdCBZRVMgaWYgdGhlIHVzZXIgaGl0IE9LLCBOTyBpZiB0aGUg
dXNlciBjaG9zZSBDYW5jZWwuCisgICAgQGRpc2N1c3Npb24gQ2xpZW50cyBzaG91bGQgaW5jbHVk
ZSBhIG1lc3NhZ2UgaW4gYWRkaXRpb24gdG8gdGhlIG9uZQorICAgIHN1cHBsaWVkIGJ5IHRoZSB3
ZWIgcGFnZSB0aGF0IGluZGljYXRlcy4gVGhlIHBhbmVsIHNob3VsZCBoYXZlIAorICAgIHR3byBi
dXR0b25zLCBlLmcuICJPSyIgYW5kICJDYW5jZWwiLgogKi8KLS0gKE5TU3RyaW5nICopd2ViVmll
dzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0
OihOU1N0cmluZyAqKXByb21wdCBkZWZhdWx0VGV4dDooTlNTdHJpbmcgKilkZWZhdWx0VGV4dDsK
Ky0gKEJPT0wpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdl
YkZyYW1lICopZnJhbWU7CiAKIC8qIQogICAgIEBtZXRob2Qgd2ViVmlldzpydW5PcGVuUGFuZWxG
b3JGaWxlQnV0dG9uV2l0aFJlc3VsdExpc3RlbmVyOgpAQCAtNDczLDYgKzQ5Miw1NSBAQCB0eXBl
ZGVmIGVudW0gewogKi8KIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcgd2lsbFBl
cmZvcm1EcmFnU291cmNlQWN0aW9uOihXZWJEcmFnU291cmNlQWN0aW9uKWFjdGlvbiBmcm9tUG9p
bnQ6KE5TUG9pbnQpcG9pbnQgd2l0aFBhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBhc3RlYm9h
cmQ7CiAKKy8qIQorICAgIEBtZXRob2Qgd2ViVmlldzpwcmludEZyYW1lVmlldzoKKyAgICBAYWJz
dHJhY3QgSW5mb3JtcyB0aGF0IGEgV2ViRnJhbWVWaWV3IG5lZWRzIHRvIGJlIHByaW50ZWQKKyAg
ICBAcGFyYW0gd2ViVmlldyBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QK
KyAgICBAcGFyYW0gZnJhbWVWaWV3IFRoZSBXZWJGcmFtZVZpZXcgbmVlZGluZyB0byBiZSBwcmlu
dGVkCisgICAgQGRpc2N1c3Npb24gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYSBzY3JpcHQg
b3IgdXNlciByZXF1ZXN0cyB0aGUgcGFnZSB0byBiZSBwcmludGVkLgorICAgIEluIHRoaXMgbWV0
aG9kIHRoZSBkZWxlZ2F0ZSBjYW4gcHJlcGFyZSB0aGUgV2ViRnJhbWVWaWV3IHRvIGJlIHByaW50
ZWQuIFNvbWUgY29udGVudCB0aGF0IFdlYktpdAorICAgIGRpc3BsYXlzIGNhbiBiZSBwcmludGVk
IGRpcmVjdGx5IGJ5IHRoZSBXZWJGcmFtZVZpZXcsIG90aGVyIGNvbnRlbnQgd2lsbCBuZWVkIHRv
IGJlIGhhbmRsZWQgYnkKKyAgICB0aGUgZGVsZWdhdGUuIFRvIGRldGVybWluZSBpZiB0aGUgV2Vi
RnJhbWVWaWV3IGNhbiBoYW5kbGUgcHJpbnRpbmcgdGhlIGRlbGVnYXRlIHNob3VsZCBjaGVjawor
ICAgIFdlYkZyYW1lVmlldydzIGRvY3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50LCBpZiBZRVMg
dGhlbiB0aGUgZGVsZWdhdGUgY2FuIGNhbGwgcHJpbnREb2N1bWVudFZpZXcKKyAgICBvbiB0aGUg
V2ViRnJhbWVWaWV3LiBPdGhlcndpc2UgdGhlIGRlbGVnYXRlIHdpbGwgbmVlZCB0byByZXF1ZXN0
IGEgTlNQcmludE9wZXJhdGlvbiBmcm9tCisgICAgdGhlIFdlYkZyYW1lVmlldydzIHByaW50T3Bl
cmF0aW9uV2l0aFByaW50SW5mbyB0byBoYW5kbGUgdGhlIHByaW50aW5nLgorKi8KKy0gKHZvaWQp
d2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBwcmludEZyYW1lVmlldzooV2ViRnJhbWVWaWV3ICop
ZnJhbWVWaWV3OworCisvKiEKKyAgICBAbWV0aG9kIHdlYlZpZXdIZWFkZXJIZWlnaHQ6CisgICAg
QHBhcmFtIHdlYlZpZXcgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kCisg
ICAgQGFic3RyYWN0IFJlc2VydmUgYSBoZWlnaHQgZm9yIHRoZSBwcmludGVkIHBhZ2UgaGVhZGVy
LgorICAgIEByZXN1bHQgVGhlIGhlaWdodCB0byByZXNlcnZlIGZvciB0aGUgcHJpbnRlZCBwYWdl
IGhlYWRlciwgcmV0dXJuIDAuMCB0byBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UgZm9yIGEgaGVhZGVy
LgorICAgIEBkaXNjdXNzaW9uIFRoZSBoZWlnaHQgcmV0dXJuZWQgd2lsbCBiZSB1c2VkIHRvIGNh
bGN1bGF0ZSB0aGUgcmVjdCBwYXNzZWQgdG8gd2ViVmlldzpkcmF3SGVhZGVySW5SZWN0Oi4KKyov
CistIChmbG9hdCl3ZWJWaWV3SGVhZGVySGVpZ2h0OihXZWJWaWV3ICopc2VuZGVyOworCisvKiEK
KyAgICBAbWV0aG9kIHdlYlZpZXdGb290ZXJIZWlnaHQ6CisgICAgQHBhcmFtIHdlYlZpZXcgVGhl
IFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kCisgICAgQGFic3RyYWN0IFJlc2Vy
dmUgYSBoZWlnaHQgZm9yIHRoZSBwcmludGVkIHBhZ2UgZm9vdGVyLgorICAgIEByZXN1bHQgVGhl
IGhlaWdodCB0byByZXNlcnZlIGZvciB0aGUgcHJpbnRlZCBwYWdlIGZvb3RlciwgcmV0dXJuIDAu
MCB0byBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UgZm9yIGEgZm9vdGVyLgorICAgIEBkaXNjdXNzaW9u
IFRoZSBoZWlnaHQgcmV0dXJuZWQgd2lsbCBiZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVjdCBw
YXNzZWQgdG8gd2ViVmlldzpkcmF3Rm9vdGVySW5SZWN0Oi4KKyovCistIChmbG9hdCl3ZWJWaWV3
Rm9vdGVySGVpZ2h0OihXZWJWaWV3ICopc2VuZGVyOworCisvKiEKKyAgICBAbWV0aG9kIHdlYlZp
ZXc6ZHJhd0hlYWRlckluUmVjdDoKKyAgICBAcGFyYW0gd2ViVmlldyBUaGUgV2ViVmlldyBzZW5k
aW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QKKyAgICBAcGFyYW0gcmVjdCBUaGUgTlNSZWN0IHJlc2Vy
dmVkIGZvciB0aGUgaGVhZGVyIG9mIHRoZSBwYWdlCisgICAgQGFic3RyYWN0IFRoZSBkZWxlZ2F0
ZSBzaG91bGQgZHJhdyBhIGhlYWRlciBmb3IgdGhlIHNlbmRlciBpbiB0aGUgc3VwcGxpZWQgcmVj
dC4KKyovCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZHJhd0hlYWRlckluUmVj
dDooTlNSZWN0KXJlY3Q7CisKKy8qIQorICAgIEBtZXRob2Qgd2ViVmlldzpkcmF3Rm9vdGVySW5S
ZWN0OgorICAgIEBwYXJhbSB3ZWJWaWV3IFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRl
IG1ldGhvZAorICAgIEBwYXJhbSByZWN0IFRoZSBOU1JlY3QgcmVzZXJ2ZWQgZm9yIHRoZSBmb290
ZXIgb2YgdGhlIHBhZ2UKKyAgICBAYWJzdHJhY3QgVGhlIGRlbGVnYXRlIHNob3VsZCBkcmF3IGEg
Zm9vdGVyIGZvciB0aGUgc2VuZGVyIGluIHRoZSBzdXBwbGllZCByZWN0LgorKi8KKy0gKHZvaWQp
d2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBkcmF3Rm9vdGVySW5SZWN0OihOU1JlY3QpcmVjdDsK
KwogQGVuZAogCiAjdW5kZWYgV2ViTlNVSW50ZWdlcgpJbmRleDogV2ViVmlldy9XZWJVSURlbGVn
YXRlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZhdGUu
aAkocmV2aXNpb24gMTUyNzEpCisrKyBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDE0ICszMCw2IEBACiAKIEBpbnRlcmZhY2UgTlNPYmplY3QgKFdl
YlVJRGVsZWdhdGVQcml2YXRlKQogCi0vLyB3ZWJWaWV3UHJpbnQ6IGlzIG9ic29sZXRlOyBkZWxl
Z2F0ZXMgc2hvdWxkIHJlc3BvbmQgdG8gd2ViVmlldzpwcmludEZyYW1lVmlldzogaW5zdGVhZAot
LSAodm9pZCl3ZWJWaWV3UHJpbnQ6KFdlYlZpZXcgKilzZW5kZXI7Ci0tICh2b2lkKXdlYlZpZXc6
KFdlYlZpZXcgKilzZW5kZXIgcHJpbnRGcmFtZVZpZXc6KFdlYkZyYW1lVmlldyAqKWZyYW1lVmll
dzsKLQotLSAoZmxvYXQpd2ViVmlld0hlYWRlckhlaWdodDooV2ViVmlldyAqKXNlbmRlcjsKLS0g
KGZsb2F0KXdlYlZpZXdGb290ZXJIZWlnaHQ6KFdlYlZpZXcgKilzZW5kZXI7Ci0tICh2b2lkKXdl
YlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZHJhd0hlYWRlckluUmVjdDooTlNSZWN0KXJlY3Q7Ci0t
ICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZHJhd0Zvb3RlckluUmVjdDooTlNSZWN0
KXJlY3Q7CiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGFkZE1lc3NhZ2VUb0Nv
bnNvbGU6KE5TRGljdGlvbmFyeSAqKW1lc3NhZ2U7CiAKIC0gKE5TVmlldyAqKXdlYlZpZXc6KFdl
YlZpZXcgKil3ZWJWaWV3IHBsdWdJblZpZXdXaXRoQXJndW1lbnRzOihOU0RpY3Rpb25hcnkgKilh
cmd1bWVudHM7CkBAIC00NSw2NSArMzcsNiBAQAogLy8gcmVnaW9ucyBpcyBhbiBkaWN0aW9uYXJ5
IHdob3NlIGtleXMgYXJlIHJlZ2lvbnMgbGFiZWwgYW5kIHZhbHVlcyBhcmUgYXJyYXlzIG9mIFdl
YkRhc2hib2FyZFJlZ2lvbnMuCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGRh
c2hib2FyZFJlZ2lvbnNDaGFuZ2VkOihOU0RpY3Rpb25hcnkgKilyZWdpb25zOwogCi0tIChXZWJW
aWV3ICopd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBjcmVhdGVXZWJWaWV3TW9kYWxEaWFsb2dX
aXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKLS0gKHZvaWQpd2ViVmlld1J1bk1v
ZGFsOihXZWJWaWV3ICopc2VuZGVyOwotCi0vLyBUaGVzZSB0aHJlZSBtZXRob2RzIGFyZSByZXBs
YWNlbWVudHMgZm9yIHRoZSBleGlzdGluZyBvbmVzIHRoYXQgbGFjayB0aGUgZnJhbWUgcGFyYW1l
dGVyLiBUaGUgb2xkCi0vLyBtZXRob2RzIHNob3VsZCBiZSBkZXByZWNhdGVkLgotCi0vKiEKLSAg
ICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5p
dGlhdGVkQnlGcmFtZToKLSAgICAgQGFic3RyYWN0IERpc3BsYXkgYSBKYXZhU2NyaXB0IGFsZXJ0
IHBhbmVsLgotICAgICBAcGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVn
YXRlIG1ldGhvZC4KLSAgICAgQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS4K
LSAgICAgQHBhcmFtIGZyYW1lIFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0IGluaXRpYXRl
ZCB0aGlzIGNhbGwuCi0gICAgIEBkaXNjdXNzaW9uIENsaWVudHMgc2hvdWxkIHZpc3VhbGx5IGlu
ZGljYXRlIHRoYXQgdGhpcyBwYW5lbCBjb21lcwotICAgICBmcm9tIEphdmFTY3JpcHQgaW5pdGlh
dGVkIGJ5IHRoZSBzcGVjaWZpZWQgZnJhbWUuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKLSAgICAg
YSBzaW5nbGUgT0sgYnV0dG9uLgotKi8KLS0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRl
ciBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2Ug
aW5pdGlhdGVkQnlGcmFtZTooV2ViRnJhbWUgKilmcmFtZTsKLQotLyohCi0gICAgIEBtZXRob2Qg
d2ViVmlldzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlG
cmFtZToKLSAgICAgQGFic3RyYWN0IERpc3BsYXkgYSBKYXZhU2NyaXB0IGNvbmZpcm0gcGFuZWwu
Ci0gICAgIEBwYXJhbSBzZW5kZXIgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0
aG9kLgotICAgICBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LgotICAgICBA
cGFyYW0gZnJhbWUgVGhlIFdlYkZyYW1lIHdob3NlIEphdmFTY3JpcHQgaW5pdGlhdGVkIHRoaXMg
Y2FsbC4KLSAgICAgQHJlc3VsdCBZRVMgaWYgdGhlIHVzZXIgaGl0IE9LLCBOTyBpZiB0aGUgdXNl
ciBjaG9zZSBDYW5jZWwuCi0gICAgIEBkaXNjdXNzaW9uIENsaWVudHMgc2hvdWxkIHZpc3VhbGx5
IGluZGljYXRlIHRoYXQgdGhpcyBwYW5lbCBjb21lcwotICAgICBmcm9tIEphdmFTY3JpcHQgaW5p
dGlhdGVkIGJ5IHRoZSBzcGVjaWZpZWQgZnJhbWUuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKLSAg
ICAgdHdvIGJ1dHRvbnMsIGUuZy4gIk9LIiBhbmQgIkNhbmNlbCIuCi0qLwotLSAoQk9PTCl3ZWJW
aWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2Fn
ZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7
Ci0KLS8qIQotICAgICBAbWV0aG9kIHdlYlZpZXc6cnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVs
V2l0aFByb21wdDpkZWZhdWx0VGV4dDppbml0aWF0ZWRCeUZyYW1lOgotICAgICBAYWJzdHJhY3Qg
RGlzcGxheSBhIEphdmFTY3JpcHQgdGV4dCBpbnB1dCBwYW5lbC4KLSAgICAgQHBhcmFtIHNlbmRl
ciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgIEBwYXJhbSBt
ZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuCi0gICAgIEBwYXJhbSBkZWZhdWx0VGV4dCBU
aGUgaW5pdGlhbCB0ZXh0IGZvciB0aGUgdGV4dCBlbnRyeSBhcmVhLgotICAgICBAcGFyYW0gZnJh
bWUgVGhlIFdlYkZyYW1lIHdob3NlIEphdmFTY3JpcHQgaW5pdGlhdGVkIHRoaXMgY2FsbC4KLSAg
ICAgQHJlc3VsdCBUaGUgdHlwZWQgdGV4dCBpZiB0aGUgdXNlciBoaXQgT0ssIG90aGVyd2lzZSBu
aWwuCi0gICAgIEBkaXNjdXNzaW9uIENsaWVudHMgc2hvdWxkIHZpc3VhbGx5IGluZGljYXRlIHRo
YXQgdGhpcyBwYW5lbCBjb21lcwotICAgICBmcm9tIEphdmFTY3JpcHQgaW5pdGlhdGVkIGJ5IHRo
ZSBzcGVjaWZpZWQgZnJhbWUuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKLSAgICAgdHdvIGJ1dHRv
bnMsIGUuZy4gIk9LIiBhbmQgIkNhbmNlbCIsIGFuZCBhbiBhcmVhIHRvIHR5cGUgdGV4dC4KLSov
Ci0tIChOU1N0cmluZyAqKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgcnVuSmF2YVNjcmlwdFRl
eHRJbnB1dFBhbmVsV2l0aFByb21wdDooTlNTdHJpbmcgKilwcm9tcHQgZGVmYXVsdFRleHQ6KE5T
U3RyaW5nICopZGVmYXVsdFRleHQgaW5pdGlhdGVkQnlGcmFtZTooV2ViRnJhbWUgKilmcmFtZTsK
LQotLyohCi0gICAgIEBtZXRob2Qgd2ViVmlldzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0
aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZToKLSAgICAgQGFic3RyYWN0IERpc3BsYXkgYSBjb25m
aXJtIHBhbmVsIGJ5IGFuICJiZWZvcmUgdW5sb2FkIiBldmVudCBoYW5kbGVyLgotICAgICBAcGFy
YW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAgICAg
QHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS4KLSAgICAgQHBhcmFtIGZyYW1l
IFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0IGluaXRpYXRlZCB0aGlzIGNhbGwuCi0gICAg
IEByZXN1bHQgWUVTIGlmIHRoZSB1c2VyIGhpdCBPSywgTk8gaWYgdGhlIHVzZXIgY2hvc2UgQ2Fu
Y2VsLgotICAgICBAZGlzY3Vzc2lvbiBDbGllbnRzIHNob3VsZCBpbmNsdWRlIGEgbWVzc2FnZSBp
biBhZGRpdGlvbiB0byB0aGUgb25lCi0gICAgIHN1cHBsaWVkIGJ5IHRoZSB3ZWIgcGFnZSB0aGF0
IGluZGljYXRlcy4gVGhlIHBhbmVsIHNob3VsZCBoYXZlIAotICAgICB0d28gYnV0dG9ucywgZS5n
LiAiT0siIGFuZCAiQ2FuY2VsIi4KLSovCi0vLyBGSVhNRTogU2hvdWxkIHdlIGluZGljYXRlIGEg
ZGlzdGluY3Rpb24gYmV0d2VlbiBuYXZpZ2F0aW9uIGFuZCBjbG9zZT8KLS0gKEJPT0wpd2ViVmll
dzooV2ViVmlldyAqKXNlbmRlciBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVzc2Fn
ZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7
Ci0KIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBkcmFnSW1hZ2U6KE5TSW1hZ2Ug
KilhbkltYWdlIGF0OihOU1BvaW50KXZpZXdMb2NhdGlvbiBvZmZzZXQ6KE5TU2l6ZSlpbml0aWFs
T2Zmc2V0IGV2ZW50OihOU0V2ZW50ICopZXZlbnQgcGFzdGVib2FyZDooTlNQYXN0ZWJvYXJkICop
cGJvYXJkIHNvdXJjZTooaWQpc291cmNlT2JqIHNsaWRlQmFjazooQk9PTClzbGlkZUZsYWcgZm9y
VmlldzooTlNWaWV3ICopdmlldzsKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBk
aWREcmF3UmVjdDooTlNSZWN0KXJlY3Q7CiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5k
ZXIgZGlkU2Nyb2xsRG9jdW1lbnRJbkZyYW1lVmlldzooV2ViRnJhbWVWaWV3ICopZnJhbWVWaWV3
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9321</attachid>
            <date>2006-07-09 18:40:54 -0700</date>
            <delta_ts>2006-07-09 19:55:19 -0700</delta_ts>
            <desc>New version that keeps the deprecated methods.</desc>
            <filename>9818.patch</filename>
            <type>text/plain</type>
            <size>21312</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE1Mjcy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsMjcgQEAKIDIwMDYtMDct
MDkgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA5ODE4OiBtb3ZlIG5ldyBVSURl
bGVnYXRlIEFQSSB0aGF0IGhhcyBiZWVuIHRocm91Z2ggQVBJIHJldmlldyB0byBwdWJsaWMgaGVh
ZGVycworICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTk4MTgKKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM4NzU0MT4gQVBJOiBSZW1vdmUg
d2ViVmlldzpzZXRDb250ZW50UmVjdDogJiB3ZWJWaWV3Q29udGVudFJlY3Q6IGRlbGVnYXRlIG1l
dGhvZHM/CisgICAgICAgIFRoZSBmaXggZm9yIDQzMTAzNjMgcmVtb3ZlZCB0aGUgb25seSB1c2Ug
b2Ygd2ViVmlld0NvbnRlbnRSZWN0OiBpbiBvdXIgY29kZS4gd2ViVmlldzpzZXRDb250ZW50UmVj
dDoKKyAgICAgICAgd2FzIG5ldmVyIHVzZWQgdG8gYmVnaW4gd2l0aC4gVGhlcmUncyBubyBoYXJt
IGluIGxlYXZpbmcgdGhlc2UgYXJvdW5kIGluIHRoZSBBUEksIGJ1dCB0aGV5J2xsIGNydWZ0IGl0
IHVwLgorCisgICAgICAgIEFsc28gcmVtb3ZlcyB0aGUgbmV2ZXIgdXNlZCB3ZWJWaWV3UHJpbnQ6
IEFQSSB0aGF0IHdhcyByZXBsYWNlZCBieSB3ZWJWaWV3OnByaW50RnJhbWVWaWV3Oi4KKworICAg
ICAgICAqIERlZmF1bHREZWxlZ2F0ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUJyaWRnZS5tOgorICAgICAgICAoLVtXZWJGcmFtZUJy
aWRnZSBwcmludF0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVWaWV3Lmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJGcmFtZVZpZXcubToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lVmll
d1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlVJRGVsZWdhdGUuaDoKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmg6CisKKzIwMDYtMDctMDkgIFRpbW90aHkg
SGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
LgogCiAgICAgICAgIEJ1ZyA5ODE0OiBNb3ZlIG5ldyBXZWJWaWV3IEFQSSB0aGF0IGhhcyBiZWVu
IHRocm91Z2ggQVBJIHJldmlldyB0byBwdWJsaWMgaGVhZGVycwpJbmRleDogRGVmYXVsdERlbGVn
YXRlcy9XZWJEZWZhdWx0VUlEZWxlZ2F0ZS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERlZmF1bHREZWxlZ2F0
ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubQkocmV2aXNpb24gMTUyNzEpCisrKyBEZWZhdWx0RGVs
ZWdhdGVzL1dlYkRlZmF1bHRVSURlbGVnYXRlLm0JKHdvcmtpbmcgY29weSkKQEAgLTE0NywxNyAr
MTQ3LDYgQEAgc3RhdGljIFdlYkRlZmF1bHRVSURlbGVnYXRlICpzaGFyZWREZWxlZwogICAgIHJl
dHVybiB3aW5kb3cgPT0gbmlsID8gTlNaZXJvUmVjdCA6IFt3aW5kb3cgZnJhbWVdOwogfQogCi0t
ICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IHNldENvbnRlbnRSZWN0OihOU1JlY3Qp
Y29udGVudFJlY3QKLXsKLSAgICBbc2VsZiB3ZWJWaWV3OndlYlZpZXcgc2V0RnJhbWU6W05TV2lu
ZG93IGZyYW1lUmVjdEZvckNvbnRlbnRSZWN0OmNvbnRlbnRSZWN0IHN0eWxlTWFzazpbW3dlYlZp
ZXcgd2luZG93XSBzdHlsZU1hc2tdXV07Ci19Ci0KLS0gKE5TUmVjdCl3ZWJWaWV3Q29udGVudFJl
Y3Q6KFdlYlZpZXcgKil3ZWJWaWV3Ci17Ci0gICAgTlNXaW5kb3cgKndpbmRvdyA9IFt3ZWJWaWV3
IHdpbmRvd107Ci0gICAgcmV0dXJuIHdpbmRvdyA9PSBuaWwgPyBOU1plcm9SZWN0IDogW05TV2lu
ZG93IGNvbnRlbnRSZWN0Rm9yRnJhbWVSZWN0Olt3aW5kb3cgZnJhbWVdIHN0eWxlTWFzazpbd2lu
ZG93IHN0eWxlTWFza11dOwotfQotCiAtICh2b2lkKXdlYlZpZXc6IChXZWJWaWV3ICopd3YgcnVu
SmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRp
YXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWUKIHsKICAgICAvLyBGSVhNRTogV2Ugd2FudCBh
IGRlZmF1bHQgaGVyZSwgYnV0IHRoYXQgd291bGQgYWRkIGxvY2FsaXplZCBzdHJpbmdzLgpJbmRl
eDogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVCcmlkZ2UubQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUJyaWRnZS5tCShyZXZpc2lvbiAxNTI3MSkKKysrIFdlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lQnJpZGdlLm0JKHdvcmtpbmcgY29weSkKQEAgLTEzNTEsOSArMTM1MSw2IEBA
IHN0YXRpYyBpZCA8V2ViRm9ybURlbGVnYXRlPiBmb3JtRGVsZWdhdGUKICAgICAKICAgICBpZiAo
W3dkIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmlldzpwcmludEZyYW1lVmlldzop
XSkgewogICAgICAgICBbd2Qgd2ViVmlldzpbc2VsZiB3ZWJWaWV3XSBwcmludEZyYW1lVmlldzpb
X2ZyYW1lIGZyYW1lVmlld11dOwotICAgIH0gZWxzZSBpZiAoW3dkIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Iod2ViVmlld1ByaW50OildKSB7Ci0gICAgICAgIC8vIEJhY2t3YXJkLWNvbXBh
dGlibGUsIGJ1dCB3ZWJWaWV3UHJpbnQ6IHdhcyBuZXZlciBwdWJsaWMsIHNvIHByb2JhYmx5IG5v
dCBuZWVkZWQuCi0gICAgICAgIFt3ZCB3ZWJWaWV3UHJpbnQ6W3NlbGYgd2ViVmlld11dOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFtbV2ViRGVmYXVsdFVJRGVsZWdhdGUgc2hhcmVkVUlEZWxlZ2F0
ZV0gd2ViVmlldzpbc2VsZiB3ZWJWaWV3XSBwcmludEZyYW1lVmlldzpbX2ZyYW1lIGZyYW1lVmll
d11dOwogICAgIH0KSW5kZXg6IFdlYlZpZXcvV2ViRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViVmlldy9XZWJGcmFtZVZpZXcuaAkocmV2aXNpb24gMTUyNzEpCisrKyBXZWJWaWV3L1dlYkZy
YW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw0ICs3MSwzMyBAQAogKi8KIC0gKEJPT0wp
YWxsb3dzU2Nyb2xsaW5nOwogCisvKiEKKyAgICBAbWV0aG9kIGNhblByaW50SGVhZGVyc0FuZEZv
b3RlcnMKKyAgICBAYWJzdHJhY3QgVGVsbHMgd2hldGhlciB0aGlzIGZyYW1lIGNhbiBwcmludCBo
ZWFkZXJzIGFuZCBmb290ZXJzCisgICAgQHJlc3VsdCBZRVMgaWYgdGhlIGZyYW1lIGNhbiwgbm8g
b3RoZXJ3aXNlCisqLworLSAoQk9PTCljYW5QcmludEhlYWRlcnNBbmRGb290ZXJzOworCisvKiEK
KyAgICBAbWV0aG9kIHByaW50T3BlcmF0aW9uV2l0aFByaW50SW5mbworICAgIEBhYnN0cmFjdCBD
cmVhdGVzIGEgcHJpbnQgb3BlcmF0aW9uIHNldCB1cCB0byBwcmludCB0aGlzIGZyYW1lCisgICAg
QHJlc3VsdCBBIG5ld2x5IGNyZWF0ZWQgcHJpbnQgb3BlcmF0aW9uIG9iamVjdAorKi8KKy0gKE5T
UHJpbnRPcGVyYXRpb24gKilwcmludE9wZXJhdGlvbldpdGhQcmludEluZm86KE5TUHJpbnRJbmZv
ICopcHJpbnRJbmZvOworCisvKiEKKyAgICBAbWV0aG9kIGRvY3VtZW50Vmlld1Nob3VsZEhhbmRs
ZVByaW50CisgICAgQGFic3RyYWN0IENhbGxlZCBieSB0aGUgaG9zdCBhcHBsaWNhdGlvbiBiZWZv
cmUgaXQgaW5pdGlhbGl6ZXMgYW5kIHJ1bnMgYSBwcmludCBvcGVyYXRpb24uCisgICAgQHJlc3Vs
dCBJZiBOTyBpcyByZXR1cm5lZCwgdGhlIGhvc3QgYXBwbGljYXRpb24gd2lsbCBhYm9ydCBpdHMg
cHJpbnQgb3BlcmF0aW9uIGFuZCBjYWxsIC1wcmludERvY3VtZW50VmlldyBvbiB0aGUKKyAgICBX
ZWJGcmFtZVZpZXcuICBUaGUgZG9jdW1lbnQgdmlldyBpcyB0aGVuIGV4cGVjdGVkIHRvIHJ1biBp
dHMgb3duIHByaW50IG9wZXJhdGlvbi4gIElmIFlFUyBpcyByZXR1cm5lZCwgdGhlIGhvc3QgCisg
ICAgYXBwbGljYXRpb24ncyBwcmludCBvcGVyYXRpb24gd2lsbCBjb250aW51ZSBhcyBub3JtYWwu
CisqLworLSAoQk9PTClkb2N1bWVudFZpZXdTaG91bGRIYW5kbGVQcmludDsKKworLyohCisgICAg
QG1ldGhvZCBwcmludERvY3VtZW50VmlldworICAgIEBhYnN0cmFjdCBDYWxsZWQgYnkgdGhlIGhv
c3QgYXBwbGljYXRpb24gd2hlbiB0aGUgV2ViRnJhbWVWaWV3IHJldHVybnMgWUVTIGZyb20gLWRv
Y3VtZW50Vmlld1Nob3VsZEhhbmRsZVByaW50LgorKi8KKy0gKHZvaWQpcHJpbnREb2N1bWVudFZp
ZXc7CisKIEBlbmQKSW5kZXg6IFdlYlZpZXcvV2ViRnJhbWVWaWV3Lm0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViVmlldy9XZWJGcmFtZVZpZXcubQkocmV2aXNpb24gMTUyNzEpCisrKyBXZWJWaWV3L1dlYkZy
YW1lVmlldy5tCSh3b3JraW5nIGNvcHkpCkBAIC04NTYsMTAgKzg1Niw2IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBhZGRUeXBlc0Zyb21DbGFzcyhOU00KICAgICByZXR1cm4gdmlldyA/IFt2aWV3IF93
ZWJjb3JlX2VmZmVjdGl2ZUZpcnN0UmVzcG9uZGVyXSA6IFtzdXBlciBfd2ViY29yZV9lZmZlY3Rp
dmVGaXJzdFJlc3BvbmRlcl07CiB9CiAKLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdlYkZyYW1l
VmlldyAoV2ViUHJpdmF0ZSkKLQogLSAoQk9PTCljYW5QcmludEhlYWRlcnNBbmRGb290ZXJzCiB7
CiAgICAgTlNWaWV3ICpkb2N1bWVudFZpZXcgPSBbW3NlbGYgX3Njcm9sbFZpZXddIGRvY3VtZW50
Vmlld107CkBAIC04OTcsNiArODkzLDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRUeXBlc0Zy
b21DbGFzcyhOU00KICAgICAgICAgWyhpZClkb2N1bWVudFZpZXcgcHJpbnREb2N1bWVudFZpZXdd
OwogfQogCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXZWJGcmFtZVZpZXcgKFdlYlByaXZhdGUp
CisKIC0gKGZsb2F0KV9hcmVhCiB7CiAgICAgTlNSZWN0IGZyYW1lID0gW3NlbGYgZnJhbWVdOwpJ
bmRleDogV2ViVmlldy9XZWJGcmFtZVZpZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViVmll
dy9XZWJGcmFtZVZpZXdQcml2YXRlLmgJKHJldmlzaW9uIDE1MjcxKQorKysgV2ViVmlldy9XZWJG
cmFtZVZpZXdQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDM1ICszMSw2IEBACiBAaW50
ZXJmYWNlIFdlYkZyYW1lVmlldyAoV2ViUHJpdmF0ZSkKIAogLyohCi0gICAgQG1ldGhvZCBjYW5Q
cmludEhlYWRlcnNBbmRGb290ZXJzCi0gICAgQGFic3RyYWN0IFRlbGxzIHdoZXRoZXIgdGhpcyBm
cmFtZSBjYW4gcHJpbnQgaGVhZGVycyBhbmQgZm9vdGVycwotICAgIEByZXN1bHQgWUVTIGlmIHRo
ZSBmcmFtZSBjYW4sIG5vIG90aGVyd2lzZQotKi8KLS0gKEJPT0wpY2FuUHJpbnRIZWFkZXJzQW5k
Rm9vdGVyczsKLQotLyohCi0gICAgQG1ldGhvZCBwcmludE9wZXJhdGlvbldpdGhQcmludEluZm8K
LSAgICBAYWJzdHJhY3QgQ3JlYXRlcyBhIHByaW50IG9wZXJhdGlvbiBzZXQgdXAgdG8gcHJpbnQg
dGhpcyBmcmFtZQotICAgIEByZXN1bHQgQSBuZXdseSBjcmVhdGVkIHByaW50IG9wZXJhdGlvbiBv
YmplY3QKLSovCi0tIChOU1ByaW50T3BlcmF0aW9uICopcHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJ
bmZvOihOU1ByaW50SW5mbyAqKXByaW50SW5mbzsKLQotLyohCi0gICAgQG1ldGhvZCBkb2N1bWVu
dFZpZXdTaG91bGRIYW5kbGVQcmludAotICAgIEBhYnN0cmFjdCBDYWxsZWQgYnkgdGhlIGhvc3Qg
YXBwbGljYXRpb24gYmVmb3JlIGl0IGluaXRpYWxpemVzIGFuZCBydW5zIGEgcHJpbnQgb3BlcmF0
aW9uLgotICAgIEByZXN1bHQgSWYgTk8gaXMgcmV0dXJuZWQsIHRoZSBob3N0IGFwcGxpY2F0aW9u
IHdpbGwgYWJvcnQgaXRzIHByaW50IG9wZXJhdGlvbiBhbmQgY2FsbCAtcHJpbnREb2N1bWVudFZp
ZXcgb24gdGhlCi0gICAgV2ViRnJhbWVWaWV3LiAgVGhlIGRvY3VtZW50IHZpZXcgaXMgdGhlbiBl
eHBlY3RlZCB0byBydW4gaXRzIG93biBwcmludCBvcGVyYXRpb24uICBJZiBZRVMgaXMgcmV0dXJu
ZWQsIHRoZSBob3N0IAotICAgIGFwcGxpY2F0aW9uJ3MgcHJpbnQgb3BlcmF0aW9uIHdpbGwgY29u
dGludWUgYXMgbm9ybWFsLgotKi8KLS0gKEJPT0wpZG9jdW1lbnRWaWV3U2hvdWxkSGFuZGxlUHJp
bnQ7Ci0KLS8qIQotICAgIEBtZXRob2QgcHJpbnREb2N1bWVudFZpZXcKLSAgICBAYWJzdHJhY3Qg
Q2FsbGVkIGJ5IHRoZSBob3N0IGFwcGxpY2F0aW9uIHdoZW4gdGhlIFdlYkZyYW1lVmlldyByZXR1
cm5zIFlFUyBmcm9tIC1kb2N1bWVudFZpZXdTaG91bGRIYW5kbGVQcmludC4KLSovCi0tICh2b2lk
KXByaW50RG9jdW1lbnRWaWV3OwotCi0vKiEKICAgICBAbWV0aG9kIF9sYXJnZXN0Q2hpbGRXaXRo
U2Nyb2xsQmFycwogICAgIEBhYnN0cmFjdCBPZiB0aGUgY2hpbGQgV2ViRnJhbWVWaWV3cyB0aGF0
IGFyZSBkaXNwbGF5aW5nIHNjcm9sbCBiYXJzLCBkZXRlcm1pbmVzIHdoaWNoIGhhcyB0aGUgbGFy
Z2VzdCBhcmVhLgogICAgIEByZXN1bHQgQSBjaGlsZCBXZWJGcmFtZVZpZXcgdGhhdCBpcyBkaXNw
bGF5aW5nIHNjcm9sbCBiYXJzLCBvciBuaWwgaWYgbm9uZS4KSW5kZXg6IFdlYlZpZXcvV2ViVUlE
ZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZS5oCShyZXZpc2lv
biAxNTI3MSkKKysrIFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjgsNiArMTY4LDI3IEBAIHR5cGVkZWYgZW51bSB7CiAtICh2b2lkKXdlYlZpZXdTaG93OihXZWJW
aWV3ICopc2VuZGVyOwogCiAvKiEKKyAgICBAbWV0aG9kIHdlYlZpZXc6Y3JlYXRlV2ViVmlld01v
ZGFsRGlhbG9nV2l0aFJlcXVlc3Q6CisgICAgQGFic3RyYWN0IENyZWF0ZSBhIG5ldyB3aW5kb3cg
YW5kIGJlZ2luIHRvIGxvYWQgdGhlIHNwZWNpZmllZCByZXF1ZXN0LgorICAgIEBkaXNjdXNzaW9u
IFRoZSBuZXdseSBjcmVhdGVkIHdpbmRvdyBpcyBoaWRkZW4sIGFuZCB0aGUgd2luZG93IG9wZXJh
dGlvbnMgZGVsZWdhdGUgb24gdGhlCisgICAgbmV3IFdlYlZpZXdzIHdpbGwgZ2V0IGEgd2ViVmll
d1Nob3c6IGNhbGwuCisgICAgQHBhcmFtIHNlbmRlciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBk
ZWxlZ2F0ZSBtZXRob2QuCisgICAgQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3QgdG8gbG9hZC4K
KyAgICBAcmVzdWx0IFRoZSBXZWJWaWV3IGZvciB0aGUgbmV3IHdpbmRvdy4KKyovCistIChXZWJW
aWV3ICopd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBjcmVhdGVXZWJWaWV3TW9kYWxEaWFsb2dX
aXRoUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdDsKKworLyohCisgICAgQG1ldGhvZCB3
ZWJWaWV3UnVuTW9kYWw6CisgICAgQHBhcmFtIHNlbmRlciBUaGUgV2ViVmlldyBzZW5kaW5nIHRo
ZSBkZWxlZ2F0ZSBtZXRob2QuCisgICAgQGFic3RyYWN0IFNob3cgdGhlIHdpbmRvdyB0aGF0IGNv
bnRhaW5zIHRoZSB0b3AgbGV2ZWwgdmlldyBvZiB0aGUgV2ViVmlldywKKyAgICBvcmRlcmluZyBp
dCBmcm9udG1vc3QuIFRoZSB3aW5kb3cgc2hvdWxkIGJlIHJ1biBtb2RhbCBpbiB0aGUgYXBwbGlj
YXRpb24uCisgICAgQGRpc2N1c3Npb24gVGhpcyB3aWxsIG9ubHkgYmUgY2FsbGVkIGp1c3QgYWZ0
ZXIgY3JlYXRlV2ViVmlld01vZGFsRGlhbG9nV2l0aFJlcXVlc3Q6CisgICAgaXMgdXNlZCB0byBj
cmVhdGUgYSBuZXcgd2luZG93LgorKi8KKy0gKHZvaWQpd2ViVmlld1J1bk1vZGFsOihXZWJWaWV3
ICopc2VuZGVyOworCisvKiEKICAgICBAbWV0aG9kIHdlYlZpZXdDbG9zZToKICAgICBAYWJzdHJh
Y3QgQ2xvc2UgdGhlIGN1cnJlbnQgd2luZG93LiAKICAgICBAcGFyYW0gc2VuZGVyIFRoZSBXZWJW
aWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KQEAgLTMyMCw1OCArMzQxLDU2IEBAIHR5
cGVkZWYgZW51bSB7CiAtIChOU1JlY3Qpd2ViVmlld0ZyYW1lOihXZWJWaWV3ICopc2VuZGVyOwog
CiAvKiEKLSAgICBAbWV0aG9kIHdlYlZpZXc6c2V0Q29udGVudFJlY3Q6Ci0gICAgQGFic3RyYWN0
IFNldCB0aGUgd2luZG93J3MgY29udGVudCByZWN0CisgICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkph
dmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFtZToKKyAgICBAYWJz
dHJhY3QgRGlzcGxheSBhIEphdmFTY3JpcHQgYWxlcnQgcGFuZWwuCiAgICAgQHBhcmFtIHNlbmRl
ciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgQHBhcmFtIGZy
YW1lIFRoZSBuZXcgd2luZG93IGNvbnRlbnQgcmVjdAotICAgIEBkaXNjdXNzaW9uIEV2ZW4gdGhv
dWdoIGEgY2FsbGVyIGNvdWxkIHNldCB0aGUgY29udGVudCByZWN0Ci0gICAgZGlyZWN0bHkgdXNp
bmcgdGhlIE5TV2luZG93LCB0aGlzIG1ldGhvZCBpcyBwcm92aWRlZCBzbwotICAgIGltcGxlbWVu
dG9ycyBvZiB0aGlzIHByb3RvY29sIGNhbiBkbyBzcGVjaWFsIHRoaW5ncyBvbgotICAgIHByb2dy
YW1tYXRpYyBtb3ZlL3Jlc2l6ZSwgbGlrZSBhdm9pZGluZyBhdXRvc2F2aW5nIG9mIHRoZSBzaXpl
LgotKi8KLS0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBzZXRDb250ZW50UmVjdDoo
TlNSZWN0KWNvbnRlbnRSZWN0OwotCi0vKiEKLSAgICBAbWV0aG9kIHdlYlZpZXdDb250ZW50UmVj
dDoKLSAgICBAYWJzdHJhY3QgUmV0dXJuIHRoZSB3aW5kb3cncyBjb250ZW50IHJlY3QKLSAgICBA
ZGlzY3Vzc2lvbiAKKyAgICBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5Lgor
ICAgIEBwYXJhbSBmcmFtZSBUaGUgV2ViRnJhbWUgd2hvc2UgSmF2YVNjcmlwdCBpbml0aWF0ZWQg
dGhpcyBjYWxsLgorICAgIEBkaXNjdXNzaW9uIENsaWVudHMgc2hvdWxkIHZpc3VhbGx5IGluZGlj
YXRlIHRoYXQgdGhpcyBwYW5lbCBjb21lcworICAgIGZyb20gSmF2YVNjcmlwdCBpbml0aWF0ZWQg
YnkgdGhlIHNwZWNpZmllZCBmcmFtZS4gVGhlIHBhbmVsIHNob3VsZCBoYXZlIAorICAgIGEgc2lu
Z2xlIE9LIGJ1dHRvbi4KICovCi0tIChOU1JlY3Qpd2ViVmlld0NvbnRlbnRSZWN0OihXZWJWaWV3
ICopc2VuZGVyOworLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3Jp
cHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZy
YW1lOihXZWJGcmFtZSAqKWZyYW1lOwogCiAvKiEKLSAgICBAbWV0aG9kIHdlYlZpZXc6cnVuSmF2
YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZToKLSAgICBAYWJzdHJhY3QgRGlzcGxheSBhIEph
dmFTY3JpcHQgYWxlcnQgcGFuZWwKKyAgICBAbWV0aG9kIHdlYlZpZXc6cnVuSmF2YVNjcmlwdENv
bmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6CisgICAgQGFic3RyYWN0IERp
c3BsYXkgYSBKYXZhU2NyaXB0IGNvbmZpcm0gcGFuZWwuCiAgICAgQHBhcmFtIHNlbmRlciBUaGUg
V2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgQHBhcmFtIG1lc3NhZ2Ug
VGhlIG1lc3NhZ2UgdG8gZGlzcGxheQorICAgIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRv
IGRpc3BsYXkuCisgICAgQHBhcmFtIGZyYW1lIFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0
IGluaXRpYXRlZCB0aGlzIGNhbGwuCisgICAgQHJlc3VsdCBZRVMgaWYgdGhlIHVzZXIgaGl0IE9L
LCBOTyBpZiB0aGUgdXNlciBjaG9zZSBDYW5jZWwuCiAgICAgQGRpc2N1c3Npb24gQ2xpZW50cyBz
aG91bGQgdmlzdWFsbHkgaW5kaWNhdGUgdGhhdCB0aGlzIHBhbmVsIGNvbWVzCi0gICAgZnJvbSBK
YXZhU2NyaXB0LiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgYSBzaW5nbGUgT0sgYnV0dG9uLgorICAg
IGZyb20gSmF2YVNjcmlwdCBpbml0aWF0ZWQgYnkgdGhlIHNwZWNpZmllZCBmcmFtZS4gVGhlIHBh
bmVsIHNob3VsZCBoYXZlIAorICAgIHR3byBidXR0b25zLCBlLmcuICJPSyIgYW5kICJDYW5jZWwi
LgogKi8KLS0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0QWxl
cnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2U7CistIChCT09MKXdlYlZpZXc6
KFdlYlZpZXcgKilzZW5kZXIgcnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOihO
U1N0cmluZyAqKW1lc3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTooV2ViRnJhbWUgKilmcmFtZTsKIAog
LyohCi0gICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZToKLSAgICBAYWJzdHJhY3QgRGlzcGxheSBhIEphdmFTY3JpcHQgY29uZmlybSBwYW5lbAor
ICAgIEBtZXRob2Qgd2ViVmlldzpydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0
OmRlZmF1bHRUZXh0OmluaXRpYXRlZEJ5RnJhbWU6CisgICAgQGFic3RyYWN0IERpc3BsYXkgYSBK
YXZhU2NyaXB0IHRleHQgaW5wdXQgcGFuZWwuCiAgICAgQHBhcmFtIHNlbmRlciBUaGUgV2ViVmll
dyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgQHBhcmFtIG1lc3NhZ2UgVGhlIG1l
c3NhZ2UgdG8gZGlzcGxheQotICAgIEByZXN1bHQgWUVTIGlmIHRoZSB1c2VyIGhpdCBPSywgbm8g
aWYgdGhlIHVzZXIgY2hvc2UgQ2FuY2VsLgorICAgIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdl
IHRvIGRpc3BsYXkuCisgICAgQHBhcmFtIGRlZmF1bHRUZXh0IFRoZSBpbml0aWFsIHRleHQgZm9y
IHRoZSB0ZXh0IGVudHJ5IGFyZWEuCisgICAgQHBhcmFtIGZyYW1lIFRoZSBXZWJGcmFtZSB3aG9z
ZSBKYXZhU2NyaXB0IGluaXRpYXRlZCB0aGlzIGNhbGwuCisgICAgQHJlc3VsdCBUaGUgdHlwZWQg
dGV4dCBpZiB0aGUgdXNlciBoaXQgT0ssIG90aGVyd2lzZSBuaWwuCiAgICAgQGRpc2N1c3Npb24g
Q2xpZW50cyBzaG91bGQgdmlzdWFsbHkgaW5kaWNhdGUgdGhhdCB0aGlzIHBhbmVsIGNvbWVzCi0g
ICAgZnJvbSBKYXZhU2NyaXB0LiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgdHdvIGJ1dHRvbnMsIGUu
Zy4gIk9LIiBhbmQKLSAgICAiQ2FuY2VsIi4KKyAgICBmcm9tIEphdmFTY3JpcHQgaW5pdGlhdGVk
IGJ5IHRoZSBzcGVjaWZpZWQgZnJhbWUuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKKyAgICB0d28g
YnV0dG9ucywgZS5nLiAiT0siIGFuZCAiQ2FuY2VsIiwgYW5kIGFuIGFyZWEgdG8gdHlwZSB0ZXh0
LgogKi8KLS0gKEJPT0wpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0Q29u
ZmlybVBhbmVsV2l0aE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZTsKKy0gKE5TU3RyaW5nICop
d2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRo
UHJvbXB0OihOU1N0cmluZyAqKXByb21wdCBkZWZhdWx0VGV4dDooTlNTdHJpbmcgKilkZWZhdWx0
VGV4dCBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOwogCiAvKiEKLSAgICBAbWV0
aG9kIHdlYlZpZXc6cnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdDpkZWZhdWx0
VGV4dDoKLSAgICBAYWJzdHJhY3QgRGlzcGxheSBhIEphdmFTY3JpcHQgdGV4dCBpbnB1dCBwYW5l
bAorICAgIEBtZXRob2Qgd2ViVmlldzpydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3Nh
Z2U6aW5pdGlhdGVkQnlGcmFtZToKKyAgICBAYWJzdHJhY3QgRGlzcGxheSBhIGNvbmZpcm0gcGFu
ZWwgYnkgYW4gImJlZm9yZSB1bmxvYWQiIGV2ZW50IGhhbmRsZXIuCiAgICAgQHBhcmFtIHNlbmRl
ciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgQHBhcmFtIG1l
c3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheQotICAgIEBwYXJhbSBkZWZhdWx0VGV4dCBUaGUg
aW5pdGlhbCB0ZXh0IGZvciB0aGUgdGV4dCBlbnRyeSBhcmVhLgotICAgIEByZXN1bHQgVGhlIHR5
cGVkIHRleHQgaWYgdGhlIHVzZXIgaGl0IE9LLCBvdGhlcndpc2UgbmlsLgotICAgIEBkaXNjdXNz
aW9uIENsaWVudHMgc2hvdWxkIHZpc3VhbGx5IGluZGljYXRlIHRoYXQgdGhpcyBwYW5lbCBjb21l
cwotICAgIGZyb20gSmF2YVNjcmlwdC4gVGhlIHBhbmVsIHNob3VsZCBoYXZlIHR3byBidXR0b25z
LCBlLmcuICJPSyIgYW5kCi0gICAgIkNhbmNlbCIsIGFuZCBhbiBhcmVhIHRvIHR5cGUgdGV4dC4K
KyAgICBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LgorICAgIEBwYXJhbSBm
cmFtZSBUaGUgV2ViRnJhbWUgd2hvc2UgSmF2YVNjcmlwdCBpbml0aWF0ZWQgdGhpcyBjYWxsLgor
ICAgIEByZXN1bHQgWUVTIGlmIHRoZSB1c2VyIGhpdCBPSywgTk8gaWYgdGhlIHVzZXIgY2hvc2Ug
Q2FuY2VsLgorICAgIEBkaXNjdXNzaW9uIENsaWVudHMgc2hvdWxkIGluY2x1ZGUgYSBtZXNzYWdl
IGluIGFkZGl0aW9uIHRvIHRoZSBvbmUKKyAgICBzdXBwbGllZCBieSB0aGUgd2ViIHBhZ2UgdGhh
dCBpbmRpY2F0ZXMuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKKyAgICB0d28gYnV0dG9ucywgZS5n
LiAiT0siIGFuZCAiQ2FuY2VsIi4KICovCi0tIChOU1N0cmluZyAqKXdlYlZpZXc6KFdlYlZpZXcg
KilzZW5kZXIgcnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdDooTlNTdHJpbmcg
Kilwcm9tcHQgZGVmYXVsdFRleHQ6KE5TU3RyaW5nICopZGVmYXVsdFRleHQ7CistIChCT09MKXdl
YlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsV2l0aE1l
c3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZy
YW1lOwogCiAvKiEKICAgICBAbWV0aG9kIHdlYlZpZXc6cnVuT3BlblBhbmVsRm9yRmlsZUJ1dHRv
bldpdGhSZXN1bHRMaXN0ZW5lcjoKQEAgLTQ3Myw2ICs0OTIsNjUgQEAgdHlwZWRlZiBlbnVtIHsK
ICovCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IHdpbGxQZXJmb3JtRHJhZ1Nv
dXJjZUFjdGlvbjooV2ViRHJhZ1NvdXJjZUFjdGlvbilhY3Rpb24gZnJvbVBvaW50OihOU1BvaW50
KXBvaW50IHdpdGhQYXN0ZWJvYXJkOihOU1Bhc3RlYm9hcmQgKilwYXN0ZWJvYXJkOwogCisvKiEK
KyAgICBAbWV0aG9kIHdlYlZpZXc6cHJpbnRGcmFtZVZpZXc6CisgICAgQGFic3RyYWN0IEluZm9y
bXMgdGhhdCBhIFdlYkZyYW1lVmlldyBuZWVkcyB0byBiZSBwcmludGVkCisgICAgQHBhcmFtIHdl
YlZpZXcgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kCisgICAgQHBhcmFt
IGZyYW1lVmlldyBUaGUgV2ViRnJhbWVWaWV3IG5lZWRpbmcgdG8gYmUgcHJpbnRlZAorICAgIEBk
aXNjdXNzaW9uIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGEgc2NyaXB0IG9yIHVzZXIgcmVx
dWVzdHMgdGhlIHBhZ2UgdG8gYmUgcHJpbnRlZC4KKyAgICBJbiB0aGlzIG1ldGhvZCB0aGUgZGVs
ZWdhdGUgY2FuIHByZXBhcmUgdGhlIFdlYkZyYW1lVmlldyB0byBiZSBwcmludGVkLiBTb21lIGNv
bnRlbnQgdGhhdCBXZWJLaXQKKyAgICBkaXNwbGF5cyBjYW4gYmUgcHJpbnRlZCBkaXJlY3RseSBi
eSB0aGUgV2ViRnJhbWVWaWV3LCBvdGhlciBjb250ZW50IHdpbGwgbmVlZCB0byBiZSBoYW5kbGVk
IGJ5CisgICAgdGhlIGRlbGVnYXRlLiBUbyBkZXRlcm1pbmUgaWYgdGhlIFdlYkZyYW1lVmlldyBj
YW4gaGFuZGxlIHByaW50aW5nIHRoZSBkZWxlZ2F0ZSBzaG91bGQgY2hlY2sKKyAgICBXZWJGcmFt
ZVZpZXcncyBkb2N1bWVudFZpZXdTaG91bGRIYW5kbGVQcmludCwgaWYgWUVTIHRoZW4gdGhlIGRl
bGVnYXRlIGNhbiBjYWxsIHByaW50RG9jdW1lbnRWaWV3CisgICAgb24gdGhlIFdlYkZyYW1lVmll
dy4gT3RoZXJ3aXNlIHRoZSBkZWxlZ2F0ZSB3aWxsIG5lZWQgdG8gcmVxdWVzdCBhIE5TUHJpbnRP
cGVyYXRpb24gZnJvbQorICAgIHRoZSBXZWJGcmFtZVZpZXcncyBwcmludE9wZXJhdGlvbldpdGhQ
cmludEluZm8gdG8gaGFuZGxlIHRoZSBwcmludGluZy4KKyovCistICh2b2lkKXdlYlZpZXc6KFdl
YlZpZXcgKilzZW5kZXIgcHJpbnRGcmFtZVZpZXc6KFdlYkZyYW1lVmlldyAqKWZyYW1lVmlldzsK
KworLyohCisgICAgQG1ldGhvZCB3ZWJWaWV3SGVhZGVySGVpZ2h0OgorICAgIEBwYXJhbSB3ZWJW
aWV3IFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZAorICAgIEBhYnN0cmFj
dCBSZXNlcnZlIGEgaGVpZ2h0IGZvciB0aGUgcHJpbnRlZCBwYWdlIGhlYWRlci4KKyAgICBAcmVz
dWx0IFRoZSBoZWlnaHQgdG8gcmVzZXJ2ZSBmb3IgdGhlIHByaW50ZWQgcGFnZSBoZWFkZXIsIHJl
dHVybiAwLjAgdG8gbm90IHJlc2VydmUgYW55IHNwYWNlIGZvciBhIGhlYWRlci4KKyAgICBAZGlz
Y3Vzc2lvbiBUaGUgaGVpZ2h0IHJldHVybmVkIHdpbGwgYmUgdXNlZCB0byBjYWxjdWxhdGUgdGhl
IHJlY3QgcGFzc2VkIHRvIHdlYlZpZXc6ZHJhd0hlYWRlckluUmVjdDouCisqLworLSAoZmxvYXQp
d2ViVmlld0hlYWRlckhlaWdodDooV2ViVmlldyAqKXNlbmRlcjsKKworLyohCisgICAgQG1ldGhv
ZCB3ZWJWaWV3Rm9vdGVySGVpZ2h0OgorICAgIEBwYXJhbSB3ZWJWaWV3IFRoZSBXZWJWaWV3IHNl
bmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZAorICAgIEBhYnN0cmFjdCBSZXNlcnZlIGEgaGVpZ2h0
IGZvciB0aGUgcHJpbnRlZCBwYWdlIGZvb3Rlci4KKyAgICBAcmVzdWx0IFRoZSBoZWlnaHQgdG8g
cmVzZXJ2ZSBmb3IgdGhlIHByaW50ZWQgcGFnZSBmb290ZXIsIHJldHVybiAwLjAgdG8gbm90IHJl
c2VydmUgYW55IHNwYWNlIGZvciBhIGZvb3Rlci4KKyAgICBAZGlzY3Vzc2lvbiBUaGUgaGVpZ2h0
IHJldHVybmVkIHdpbGwgYmUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlY3QgcGFzc2VkIHRvIHdl
YlZpZXc6ZHJhd0Zvb3RlckluUmVjdDouCisqLworLSAoZmxvYXQpd2ViVmlld0Zvb3RlckhlaWdo
dDooV2ViVmlldyAqKXNlbmRlcjsKKworLyohCisgICAgQG1ldGhvZCB3ZWJWaWV3OmRyYXdIZWFk
ZXJJblJlY3Q6CisgICAgQHBhcmFtIHdlYlZpZXcgVGhlIFdlYlZpZXcgc2VuZGluZyB0aGUgZGVs
ZWdhdGUgbWV0aG9kCisgICAgQHBhcmFtIHJlY3QgVGhlIE5TUmVjdCByZXNlcnZlZCBmb3IgdGhl
IGhlYWRlciBvZiB0aGUgcGFnZQorICAgIEBhYnN0cmFjdCBUaGUgZGVsZWdhdGUgc2hvdWxkIGRy
YXcgYSBoZWFkZXIgZm9yIHRoZSBzZW5kZXIgaW4gdGhlIHN1cHBsaWVkIHJlY3QuCisqLworLSAo
dm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYXdIZWFkZXJJblJlY3Q6KE5TUmVjdCly
ZWN0OworCisvKiEKKyAgICBAbWV0aG9kIHdlYlZpZXc6ZHJhd0Zvb3RlckluUmVjdDoKKyAgICBA
cGFyYW0gd2ViVmlldyBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QKKyAg
ICBAcGFyYW0gcmVjdCBUaGUgTlNSZWN0IHJlc2VydmVkIGZvciB0aGUgZm9vdGVyIG9mIHRoZSBw
YWdlCisgICAgQGFic3RyYWN0IFRoZSBkZWxlZ2F0ZSBzaG91bGQgZHJhdyBhIGZvb3RlciBmb3Ig
dGhlIHNlbmRlciBpbiB0aGUgc3VwcGxpZWQgcmVjdC4KKyovCistICh2b2lkKXdlYlZpZXc6KFdl
YlZpZXcgKilzZW5kZXIgZHJhd0Zvb3RlckluUmVjdDooTlNSZWN0KXJlY3Q7CisKKy8vIFRoZSBm
b2xsb3dpbmcgZGVsZWdhdGUgbWV0aG9kcyBhcmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUg
b25lcyBhYm92ZSB0aGF0IHNwZWNpZnkKKy8vIHRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0
IGluaXRpYXRlZCB0aGlzIGNhbGwuCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIg
cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlOwor
LSAoQk9PTCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRDb25maXJtUGFu
ZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlOworLSAoTlNTdHJpbmcgKil3ZWJWaWV3
OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHQ6
KE5TU3RyaW5nICopcHJvbXB0IGRlZmF1bHRUZXh0OihOU1N0cmluZyAqKWRlZmF1bHRUZXh0Owor
CisvLyBUaGUgZm9sbG93aW5nIGRlbGVnYXRlIG1ldGhvZHMgYXJlIGRlcHJlY2F0ZWQuIENvbnRl
bnQgcmVjdCBjYWxjdWxhdGlvbnMgYXJlIG5vdyBkb25lIGF1dG9tYXRpY2FsbHkuCistICh2b2lk
KXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgc2V0Q29udGVudFJlY3Q6KE5TUmVjdClmcmFtZTsK
Ky0gKE5TUmVjdCl3ZWJWaWV3Q29udGVudFJlY3Q6KFdlYlZpZXcgKilzZW5kZXI7CisKIEBlbmQK
IAogI3VuZGVmIFdlYk5TVUludGVnZXIKSW5kZXg6IFdlYlZpZXcvV2ViVUlEZWxlZ2F0ZVByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJWaWV3L1dlYlVJRGVsZWdhdGVQcml2YXRlLmgJKHJldmlz
aW9uIDE1MjcxKQorKysgV2ViVmlldy9XZWJVSURlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCwxNCArMzAsNiBAQAogCiBAaW50ZXJmYWNlIE5TT2JqZWN0IChXZWJVSURlbGVn
YXRlUHJpdmF0ZSkKIAotLy8gd2ViVmlld1ByaW50OiBpcyBvYnNvbGV0ZTsgZGVsZWdhdGVzIHNo
b3VsZCByZXNwb25kIHRvIHdlYlZpZXc6cHJpbnRGcmFtZVZpZXc6IGluc3RlYWQKLS0gKHZvaWQp
d2ViVmlld1ByaW50OihXZWJWaWV3ICopc2VuZGVyOwotLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3
ICopc2VuZGVyIHByaW50RnJhbWVWaWV3OihXZWJGcmFtZVZpZXcgKilmcmFtZVZpZXc7Ci0KLS0g
KGZsb2F0KXdlYlZpZXdIZWFkZXJIZWlnaHQ6KFdlYlZpZXcgKilzZW5kZXI7Ci0tIChmbG9hdCl3
ZWJWaWV3Rm9vdGVySGVpZ2h0OihXZWJWaWV3ICopc2VuZGVyOwotLSAodm9pZCl3ZWJWaWV3OihX
ZWJWaWV3ICopc2VuZGVyIGRyYXdIZWFkZXJJblJlY3Q6KE5TUmVjdClyZWN0OwotLSAodm9pZCl3
ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRyYXdGb290ZXJJblJlY3Q6KE5TUmVjdClyZWN0Owog
LSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyBhZGRNZXNzYWdlVG9Db25zb2xlOihO
U0RpY3Rpb25hcnkgKiltZXNzYWdlOwogCiAtIChOU1ZpZXcgKil3ZWJWaWV3OihXZWJWaWV3ICop
d2ViVmlldyBwbHVnSW5WaWV3V2l0aEFyZ3VtZW50czooTlNEaWN0aW9uYXJ5ICopYXJndW1lbnRz
OwpAQCAtNDUsNjUgKzM3LDYgQEAKIC8vIHJlZ2lvbnMgaXMgYW4gZGljdGlvbmFyeSB3aG9zZSBr
ZXlzIGFyZSByZWdpb25zIGxhYmVsIGFuZCB2YWx1ZXMgYXJlIGFycmF5cyBvZiBXZWJEYXNoYm9h
cmRSZWdpb25zLgogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopd2ViVmlldyBkYXNoYm9hcmRS
ZWdpb25zQ2hhbmdlZDooTlNEaWN0aW9uYXJ5ICopcmVnaW9uczsKIAotLSAoV2ViVmlldyAqKXdl
YlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgY3JlYXRlV2ViVmlld01vZGFsRGlhbG9nV2l0aFJlcXVl
c3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Q7Ci0tICh2b2lkKXdlYlZpZXdSdW5Nb2RhbDooV2Vi
VmlldyAqKXNlbmRlcjsKLQotLy8gVGhlc2UgdGhyZWUgbWV0aG9kcyBhcmUgcmVwbGFjZW1lbnRz
IGZvciB0aGUgZXhpc3Rpbmcgb25lcyB0aGF0IGxhY2sgdGhlIGZyYW1lIHBhcmFtZXRlci4gVGhl
IG9sZAotLy8gbWV0aG9kcyBzaG91bGQgYmUgZGVwcmVjYXRlZC4KLQotLyohCi0gICAgIEBtZXRo
b2Qgd2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5
RnJhbWU6Ci0gICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgSmF2YVNjcmlwdCBhbGVydCBwYW5lbC4K
LSAgICAgQHBhcmFtIHNlbmRlciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRo
b2QuCi0gICAgIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuCi0gICAgIEBw
YXJhbSBmcmFtZSBUaGUgV2ViRnJhbWUgd2hvc2UgSmF2YVNjcmlwdCBpbml0aWF0ZWQgdGhpcyBj
YWxsLgotICAgICBAZGlzY3Vzc2lvbiBDbGllbnRzIHNob3VsZCB2aXN1YWxseSBpbmRpY2F0ZSB0
aGF0IHRoaXMgcGFuZWwgY29tZXMKLSAgICAgZnJvbSBKYXZhU2NyaXB0IGluaXRpYXRlZCBieSB0
aGUgc3BlY2lmaWVkIGZyYW1lLiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgCi0gICAgIGEgc2luZ2xl
IE9LIGJ1dHRvbi4KLSovCi0tICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgcnVuSmF2
YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRl
ZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7Ci0KLS8qIQotICAgICBAbWV0aG9kIHdlYlZpZXc6
cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Ci0g
ICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgSmF2YVNjcmlwdCBjb25maXJtIHBhbmVsLgotICAgICBA
cGFyYW0gc2VuZGVyIFRoZSBXZWJWaWV3IHNlbmRpbmcgdGhlIGRlbGVnYXRlIG1ldGhvZC4KLSAg
ICAgQHBhcmFtIG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS4KLSAgICAgQHBhcmFtIGZy
YW1lIFRoZSBXZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0IGluaXRpYXRlZCB0aGlzIGNhbGwuCi0g
ICAgIEByZXN1bHQgWUVTIGlmIHRoZSB1c2VyIGhpdCBPSywgTk8gaWYgdGhlIHVzZXIgY2hvc2Ug
Q2FuY2VsLgotICAgICBAZGlzY3Vzc2lvbiBDbGllbnRzIHNob3VsZCB2aXN1YWxseSBpbmRpY2F0
ZSB0aGF0IHRoaXMgcGFuZWwgY29tZXMKLSAgICAgZnJvbSBKYXZhU2NyaXB0IGluaXRpYXRlZCBi
eSB0aGUgc3BlY2lmaWVkIGZyYW1lLiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgCi0gICAgIHR3byBi
dXR0b25zLCBlLmcuICJPSyIgYW5kICJDYW5jZWwiLgotKi8KLS0gKEJPT0wpd2ViVmlldzooV2Vi
VmlldyAqKXNlbmRlciBydW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6KE5TU3Ry
aW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOwotCi0vKiEK
LSAgICAgQG1ldGhvZCB3ZWJWaWV3OnJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9t
cHQ6ZGVmYXVsdFRleHQ6aW5pdGlhdGVkQnlGcmFtZToKLSAgICAgQGFic3RyYWN0IERpc3BsYXkg
YSBKYXZhU2NyaXB0IHRleHQgaW5wdXQgcGFuZWwuCi0gICAgIEBwYXJhbSBzZW5kZXIgVGhlIFdl
YlZpZXcgc2VuZGluZyB0aGUgZGVsZWdhdGUgbWV0aG9kLgotICAgICBAcGFyYW0gbWVzc2FnZSBU
aGUgbWVzc2FnZSB0byBkaXNwbGF5LgotICAgICBAcGFyYW0gZGVmYXVsdFRleHQgVGhlIGluaXRp
YWwgdGV4dCBmb3IgdGhlIHRleHQgZW50cnkgYXJlYS4KLSAgICAgQHBhcmFtIGZyYW1lIFRoZSBX
ZWJGcmFtZSB3aG9zZSBKYXZhU2NyaXB0IGluaXRpYXRlZCB0aGlzIGNhbGwuCi0gICAgIEByZXN1
bHQgVGhlIHR5cGVkIHRleHQgaWYgdGhlIHVzZXIgaGl0IE9LLCBvdGhlcndpc2UgbmlsLgotICAg
ICBAZGlzY3Vzc2lvbiBDbGllbnRzIHNob3VsZCB2aXN1YWxseSBpbmRpY2F0ZSB0aGF0IHRoaXMg
cGFuZWwgY29tZXMKLSAgICAgZnJvbSBKYXZhU2NyaXB0IGluaXRpYXRlZCBieSB0aGUgc3BlY2lm
aWVkIGZyYW1lLiBUaGUgcGFuZWwgc2hvdWxkIGhhdmUgCi0gICAgIHR3byBidXR0b25zLCBlLmcu
ICJPSyIgYW5kICJDYW5jZWwiLCBhbmQgYW4gYXJlYSB0byB0eXBlIHRleHQuCi0qLwotLSAoTlNT
dHJpbmcgKil3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIHJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQ
YW5lbFdpdGhQcm9tcHQ6KE5TU3RyaW5nICopcHJvbXB0IGRlZmF1bHRUZXh0OihOU1N0cmluZyAq
KWRlZmF1bHRUZXh0IGluaXRpYXRlZEJ5RnJhbWU6KFdlYkZyYW1lICopZnJhbWU7Ci0KLS8qIQot
ICAgICBAbWV0aG9kIHdlYlZpZXc6cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdl
OmluaXRpYXRlZEJ5RnJhbWU6Ci0gICAgIEBhYnN0cmFjdCBEaXNwbGF5IGEgY29uZmlybSBwYW5l
bCBieSBhbiAiYmVmb3JlIHVubG9hZCIgZXZlbnQgaGFuZGxlci4KLSAgICAgQHBhcmFtIHNlbmRl
ciBUaGUgV2ViVmlldyBzZW5kaW5nIHRoZSBkZWxlZ2F0ZSBtZXRob2QuCi0gICAgIEBwYXJhbSBt
ZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuCi0gICAgIEBwYXJhbSBmcmFtZSBUaGUgV2Vi
RnJhbWUgd2hvc2UgSmF2YVNjcmlwdCBpbml0aWF0ZWQgdGhpcyBjYWxsLgotICAgICBAcmVzdWx0
IFlFUyBpZiB0aGUgdXNlciBoaXQgT0ssIE5PIGlmIHRoZSB1c2VyIGNob3NlIENhbmNlbC4KLSAg
ICAgQGRpc2N1c3Npb24gQ2xpZW50cyBzaG91bGQgaW5jbHVkZSBhIG1lc3NhZ2UgaW4gYWRkaXRp
b24gdG8gdGhlIG9uZQotICAgICBzdXBwbGllZCBieSB0aGUgd2ViIHBhZ2UgdGhhdCBpbmRpY2F0
ZXMuIFRoZSBwYW5lbCBzaG91bGQgaGF2ZSAKLSAgICAgdHdvIGJ1dHRvbnMsIGUuZy4gIk9LIiBh
bmQgIkNhbmNlbCIuCi0qLwotLy8gRklYTUU6IFNob3VsZCB3ZSBpbmRpY2F0ZSBhIGRpc3RpbmN0
aW9uIGJldHdlZW4gbmF2aWdhdGlvbiBhbmQgY2xvc2U/Ci0tIChCT09MKXdlYlZpZXc6KFdlYlZp
ZXcgKilzZW5kZXIgcnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsV2l0aE1lc3NhZ2U6KE5TU3Ry
aW5nICopbWVzc2FnZSBpbml0aWF0ZWRCeUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOwotCiAtICh2
b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZHJhZ0ltYWdlOihOU0ltYWdlICopYW5JbWFn
ZSBhdDooTlNQb2ludCl2aWV3TG9jYXRpb24gb2Zmc2V0OihOU1NpemUpaW5pdGlhbE9mZnNldCBl
dmVudDooTlNFdmVudCAqKWV2ZW50IHBhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBib2FyZCBz
b3VyY2U6KGlkKXNvdXJjZU9iaiBzbGlkZUJhY2s6KEJPT0wpc2xpZGVGbGFnIGZvclZpZXc6KE5T
VmlldyAqKXZpZXc7CiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZGlkRHJhd1Jl
Y3Q6KE5TUmVjdClyZWN0OwogLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICopc2VuZGVyIGRpZFNj
cm9sbERvY3VtZW50SW5GcmFtZVZpZXc6KFdlYkZyYW1lVmlldyAqKWZyYW1lVmlldzsK
</data>
<flag name="review"
          id="2814"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>