<?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>6813</bug_id>
          
          <creation_ts>2006-01-25 18:40:22 -0800</creation_ts>
          <short_desc>elementAtPoint needs to return input element when clicking on new text field</short_desc>
          <delta_ts>2006-03-21 17:06:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>6986</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adele Peterson">adele</reporter>
          <assigned_to name="Adele Peterson">adele</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>29962</commentid>
    <comment_count>0</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-01-25 18:40:22 -0800</bug_when>
    <thetext>Right now, elementAtPoint will return the inner div.  You can see this by trying to use the Web Inspector on the new text field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30431</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-28 17:12:38 -0800</bug_when>
    <thetext>These bugs that block us switching to the new text field shoul not be marked P1.

Once we turn it on, these would be P1/major bugs, of course, but at the moment they are just part of the &quot;switch to a new text field&quot; task and should not be in the P1 list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34679</commentid>
    <comment_count>2</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-03-01 16:59:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/4463754&gt; elementAtPoint needs to return input element when clicking on new text field (6813)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37208</commentid>
    <comment_count>3</comment_count>
      <attachid>7223</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-03-21 15:10:17 -0800</bug_when>
    <thetext>Created attachment 7223
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37212</commentid>
    <comment_count>4</comment_count>
      <attachid>7223</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-21 15:47:28 -0800</bug_when>
    <thetext>Comment on attachment 7223
patch

isShadowNode() oughta be const.

_actionInformationForNavigationType should probably pass NO for allowShadowContent.

Places that check isTextNode and call parentNode might result in nil, and then you are calling shadowAncestorNode without a nil check.

Looks great.

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>7223</attachid>
            <date>2006-03-21 15:10:17 -0800</date>
            <delta_ts>2006-03-21 15:47:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>test.txt</filename>
            <type>text/plain</type>
            <size>29851</size>
            <attacher name="Adele Peterson">adele</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMTM0MjIpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMDYtMDMtMjEgIEFkZWxlIFBldGVyc29uICA8YWRlbGVAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gRml4
IGZvciBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTMK
KyAgICAgICAgZWxlbWVudEF0UG9pbnQgbmVlZHMgdG8gcmV0dXJuIGlucHV0IGVsZW1lbnQgd2hl
biBjbGlja2luZyBvbiBuZXcgdGV4dCBmaWVsZAorCisgICAgICAgICogV2ViVmlldy9XZWJEb2N1
bWVudEludGVybmFsLmg6IEFkZGVkIGVsZW1lbnRBdFBvaW50OmFsbG93U2hhZG93Q29udGVudDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm06CisgICAgICAgICgtW05TQXJyYXkgZWxl
bWVudEF0UG9pbnQ6XSk6IERvZXMgbm90IGFsbG93IHNoYWRvdyBjb250ZW50LiAgVGhpcyB3YXks
IGJ5IGRlZmF1bHQsIGNhbGxlcnMgd291bGQgZ2V0IHRoZSBpbnB1dCBlbGVtZW50IGluc3RlYWQg
b2YgdGhlIGlubmVyIGRpdi4KKyAgICAgICAgKC1bTlNBcnJheSBlbGVtZW50QXRQb2ludDphbGxv
d1NoYWRvd0NvbnRlbnQ6XSk6IEFsbG93cyBjYWxsZXJzIHRvIHNwZWNpZnkgd2hldGhlciBvciBu
b3QgdGhlIGVsZW1lbnQgY2FuIGJlIGEgc2hhZG93IG5vZGUuCisgICAgICAgICgtW1dlYkhUTUxW
aWV3IF9zdGFydERyYWdnaW5nSW1hZ2U6YXQ6b3BlcmF0aW9uOmV2ZW50OnNvdXJjZUlzREhUTUw6
REhUTUxXcm90ZURhdGE6XSk6IEFsbG93cyBzaGFkb3cgY29udGVudCB3aGVuIGdldHRpbmcgZWxl
bWVudC4KKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX21heVN0YXJ0RHJhZ0F0RXZlbnRMb2NhdGlv
bjpdKTogZGl0dG8uCisgICAgICAgICgtW05TQXJyYXkgX2lzU2VsZWN0aW9uRXZlbnQ6XSk6IGRp
dHRvLgorICAgICAgICAoLVtOU0FycmF5IF9jYW5Qcm9jZXNzRHJhZ1dpdGhEcmFnZ2luZ0luZm86
XSk6IGRpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubTogKC1bV2ViRnJhbWUgX2Fj
dGlvbkluZm9ybWF0aW9uRm9yTmF2aWdhdGlvblR5cGU6ZXZlbnQ6b3JpZ2luYWxVUkw6XSk6IEFs
bG93cyBzaGFkb3cgY29udGVudCB3aGVuIGdldHRpbmcgZWxlbWVudC4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYkltYWdlVmlldy5tOiAoLVtXZWJJbWFnZVZpZXcgZWxlbWVudEF0UG9pbnQ6YWxsb3dT
aGFkb3dDb250ZW50Ol0pOiBBZGRlZCB0byBjb25mb3JtIHRvIHRoZSBXZWJEb2N1bWVudEVsZW1l
bnQgcHJvdG9jb2wuCisgICAgICAgICogV2ViVmlldy9XZWJQREZWaWV3Lm06ICgtW1dlYlBERlZp
ZXcgZWxlbWVudEF0UG9pbnQ6YWxsb3dTaGFkb3dDb250ZW50Ol0pOiBkaXR0by4KKyAgICAgICAg
KiBXZWJWaWV3L1dlYlRleHRWaWV3Lm06ICgtW1dlYlRleHRWaWV3IGVsZW1lbnRBdFBvaW50OmFs
bG93U2hhZG93Q29udGVudDpdKTogZGl0dG8uCisKIDIwMDYtMDMtMjEgIEpvaG4gU3VsbGl2YW4g
IDxzdWxsaXZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2V2aW4gRGVja2Vy
LgpJbmRleDogV2ViS2l0L1dlYlZpZXcvV2ViRG9jdW1lbnRJbnRlcm5hbC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9XZWJWaWV3L1dlYkRvY3VtZW50SW50ZXJuYWwuaAkocmV2aXNpb24gMTM0MjAp
CisrKyBXZWJLaXQvV2ViVmlldy9XZWJEb2N1bWVudEludGVybmFsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYwLDYgKzYwLDcgQEAKIAogQHByb3RvY29sIFdlYkRvY3VtZW50RWxlbWVudCA8TlNPYmpl
Y3Q+CiAtIChOU0RpY3Rpb25hcnkgKillbGVtZW50QXRQb2ludDooTlNQb2ludClwb2ludDsKKy0g
KE5TRGljdGlvbmFyeSAqKWVsZW1lbnRBdFBvaW50OihOU1BvaW50KXBvaW50IGFsbG93U2hhZG93
Q29udGVudDooQk9PTClhbGxvdzsKIEBlbmQKIAogLyogVXNlZCB0byBzYXZlIGFuZCByZXN0b3Jl
IHN0YXRlIGluIHRoZSB2aWV3LCB0eXBpY2FsbHkgd2hlbiBnb2luZyBiYWNrL2ZvcndhcmQgKi8K
SW5kZXg6IFdlYktpdC9XZWJWaWV3L1dlYkltYWdlVmlldy5tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9XZWJWaWV3L1dlYkltYWdlVmlldy5tCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYktpdC9XZWJW
aWV3L1dlYkltYWdlVmlldy5tCSh3b3JraW5nIGNvcHkpCkBAIC0yNDgsNiArMjQ4LDExIEBACiAg
ICAgICAgIGZyYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJFbGVtZW50
RnJhbWVLZXksIG5pbF07CiB9CiAKKy0gKE5TRGljdGlvbmFyeSAqKWVsZW1lbnRBdFBvaW50OihO
U1BvaW50KXBvaW50IGFsbG93U2hhZG93Q29udGVudDooQk9PTClhbGxvdworeworICAgIHJldHVy
biBbc2VsZiBlbGVtZW50QXRQb2ludDpwb2ludF07Cit9CisKIC0gKE5TTWVudSAqKW1lbnVGb3JF
dmVudDooTlNFdmVudCAqKXRoZUV2ZW50CiB7CiAgICAgV2ViVmlldyAqd2ViVmlldyA9IFtzZWxm
IHdlYlZpZXddOwpJbmRleDogV2ViS2l0L1dlYlZpZXcvV2ViRnJhbWUubQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvV2ViVmlldy9XZWJGcmFtZS5tCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYktpdC9X
ZWJWaWV3L1dlYkZyYW1lLm0JKHdvcmtpbmcgY29weSkKQEAgLTE1MjIsNyArMTUyMiw3IEBACiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAodmlld0NvbnRhaW5pbmdQb2ludCAhPSBuaWwp
IHsKICAgICAgICAgICAgICAgICBOU1BvaW50IHBvaW50ID0gW3ZpZXdDb250YWluaW5nUG9pbnQg
Y29udmVydFBvaW50OltldmVudCBsb2NhdGlvbkluV2luZG93XSBmcm9tVmlldzpuaWxdOwotICAg
ICAgICAgICAgICAgIE5TRGljdGlvbmFyeSAqZWxlbWVudEluZm8gPSBbKFdlYkhUTUxWaWV3ICop
dmlld0NvbnRhaW5pbmdQb2ludCBlbGVtZW50QXRQb2ludDpwb2ludF07CisgICAgICAgICAgICAg
ICAgTlNEaWN0aW9uYXJ5ICplbGVtZW50SW5mbyA9IFsoV2ViSFRNTFZpZXcgKil2aWV3Q29udGFp
bmluZ1BvaW50IGVsZW1lbnRBdFBvaW50OnBvaW50IGFsbG93U2hhZG93Q29udGVudDpZRVNdOwog
ICAgICAgICAKICAgICAgICAgICAgICAgICByZXR1cm4gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5
V2l0aE9iamVjdHNBbmRLZXlzOgogICAgICAgICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEludDpuYXZpZ2F0aW9uVHlwZV0sIFdlYkFjdGlvbk5hdmlnYXRpb25UeXBlS2V5LApJbmRl
eDogV2ViS2l0L1dlYlZpZXcvV2ViSFRNTFZpZXcubQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvV2Vi
Vmlldy9XZWJIVE1MVmlldy5tCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYktpdC9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm0JKHdvcmtpbmcgY29weSkKQEAgLTExNTksNyArMTE1OSw3IEBACiAtIChCT09M
KV9zdGFydERyYWdnaW5nSW1hZ2U6KE5TSW1hZ2UgKil3Y0RyYWdJbWFnZSBhdDooTlNQb2ludCl3
Y0RyYWdMb2Mgb3BlcmF0aW9uOihOU0RyYWdPcGVyYXRpb24pb3AgZXZlbnQ6KE5TRXZlbnQgKilt
b3VzZURyYWdnZWRFdmVudCBzb3VyY2VJc0RIVE1MOihCT09MKXNyY0lzREhUTUwgREhUTUxXcm90
ZURhdGE6KEJPT0wpZGh0bWxXcm90ZURhdGEKIHsKICAgICBOU1BvaW50IG1vdXNlRG93blBvaW50
ID0gW3NlbGYgY29udmVydFBvaW50OltfcHJpdmF0ZS0+bW91c2VEb3duRXZlbnQgbG9jYXRpb25J
bldpbmRvd10gZnJvbVZpZXc6bmlsXTsKLSAgICBOU0RpY3Rpb25hcnkgKmVsZW1lbnQgPSBbc2Vs
ZiBlbGVtZW50QXRQb2ludDptb3VzZURvd25Qb2ludF07CisgICAgTlNEaWN0aW9uYXJ5ICplbGVt
ZW50ID0gW3NlbGYgZWxlbWVudEF0UG9pbnQ6bW91c2VEb3duUG9pbnQgYWxsb3dTaGFkb3dDb250
ZW50OllFU107CiAKICAgICBOU1VSTCAqbGlua1VSTCA9IFtlbGVtZW50IG9iamVjdEZvcktleTpX
ZWJFbGVtZW50TGlua1VSTEtleV07CiAgICAgTlNVUkwgKmltYWdlVVJMID0gW2VsZW1lbnQgb2Jq
ZWN0Rm9yS2V5OldlYkVsZW1lbnRJbWFnZVVSTEtleV07CkBAIC0xMzA1LDcgKzEzMDUsNyBAQAog
LSAoQk9PTClfbWF5U3RhcnREcmFnQXRFdmVudExvY2F0aW9uOihOU1BvaW50KWxvY2F0aW9uCiB7
CiAgICAgTlNQb2ludCBtb3VzZURvd25Qb2ludCA9IFtzZWxmIGNvbnZlcnRQb2ludDpsb2NhdGlv
biBmcm9tVmlldzpuaWxdOwotICAgIE5TRGljdGlvbmFyeSAqbW91c2VEb3duRWxlbWVudCA9IFtz
ZWxmIGVsZW1lbnRBdFBvaW50Om1vdXNlRG93blBvaW50XTsKKyAgICBOU0RpY3Rpb25hcnkgKm1v
dXNlRG93bkVsZW1lbnQgPSBbc2VsZiBlbGVtZW50QXRQb2ludDptb3VzZURvd25Qb2ludCBhbGxv
d1NoYWRvd0NvbnRlbnQ6WUVTXTsKIAogICAgIEFTU0VSVChbc2VsZiBfd2ViVmlld10pOwogICAg
IGlmIChbbW91c2VEb3duRWxlbWVudCBvYmplY3RGb3JLZXk6IFdlYkVsZW1lbnRJbWFnZUtleV0g
IT0gbmlsICYmCkBAIC0yNTg2LDcgKzI1ODYsNyBAQAogLSAoQk9PTClfaXNTZWxlY3Rpb25FdmVu
dDooTlNFdmVudCAqKWV2ZW50CiB7CiAgICAgTlNQb2ludCBwb2ludCA9IFtzZWxmIGNvbnZlcnRQ
b2ludDpbZXZlbnQgbG9jYXRpb25JbldpbmRvd10gZnJvbVZpZXc6bmlsXTsKLSAgICByZXR1cm4g
W1tbc2VsZiBlbGVtZW50QXRQb2ludDpwb2ludF0gb2JqZWN0Rm9yS2V5OldlYkVsZW1lbnRJc1Nl
bGVjdGVkS2V5XSBib29sVmFsdWVdOworICAgIHJldHVybiBbW1tzZWxmIGVsZW1lbnRBdFBvaW50
OnBvaW50IGFsbG93U2hhZG93Q29udGVudDpZRVNdIG9iamVjdEZvcktleTpXZWJFbGVtZW50SXNT
ZWxlY3RlZEtleV0gYm9vbFZhbHVlXTsKIH0KIAogLSAodm9pZClfc2V0TW91c2VEb3duRXZlbnQ6
KE5TRXZlbnQgKilldmVudApAQCAtMjc4Nyw3ICsyNzg3LDcgQEAKICAgICB9CiAgICAgCiAgICAg
TlNQb2ludCBwb2ludCA9IFtzZWxmIGNvbnZlcnRQb2ludDpbZHJhZ2dpbmdJbmZvIGRyYWdnaW5n
TG9jYXRpb25dIGZyb21WaWV3Om5pbF07Ci0gICAgTlNEaWN0aW9uYXJ5ICplbGVtZW50ID0gW3Nl
bGYgZWxlbWVudEF0UG9pbnQ6cG9pbnRdOworICAgIE5TRGljdGlvbmFyeSAqZWxlbWVudCA9IFtz
ZWxmIGVsZW1lbnRBdFBvaW50OnBvaW50IGFsbG93U2hhZG93Q29udGVudDpZRVNdOwogICAgIGlm
IChbW3NlbGYgX3dlYlZpZXddIGlzRWRpdGFibGVdIHx8IFtbZWxlbWVudCBvYmplY3RGb3JLZXk6
V2ViRWxlbWVudERPTU5vZGVLZXldIGlzQ29udGVudEVkaXRhYmxlXSkgewogICAgICAgICBpZiAo
X3ByaXZhdGUtPmluaXRpYXRlZERyYWcgJiYgW1tlbGVtZW50IG9iamVjdEZvcktleTpXZWJFbGVt
ZW50SXNTZWxlY3RlZEtleV0gYm9vbFZhbHVlXSkgewogICAgICAgICAgICAgLy8gQ2FuJ3QgZHJh
ZyBvbnRvIHRoZSBzZWxlY3Rpb24gYmVpbmcgZHJhZ2dlZC4KQEAgLTI4OTQsMTAgKzI4OTQsMTUg
QEAKIAogLSAoTlNEaWN0aW9uYXJ5ICopZWxlbWVudEF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQKIHsK
KyAgICByZXR1cm4gW3NlbGYgZWxlbWVudEF0UG9pbnQ6cG9pbnQgYWxsb3dTaGFkb3dDb250ZW50
Ok5PXTsKK30KKworLSAoTlNEaWN0aW9uYXJ5ICopZWxlbWVudEF0UG9pbnQ6KE5TUG9pbnQpcG9p
bnQgYWxsb3dTaGFkb3dDb250ZW50OihCT09MKWFsbG93OworewogICAgIERPTU5vZGUgKmlubmVy
Tm9kZSA9IG5pbDsKICAgICBET01Ob2RlICppbm5lck5vblNoYXJlZE5vZGUgPSBuaWw7CiAgICAg
RE9NRWxlbWVudCAqVVJMRWxlbWVudCA9IG5pbDsKLSAgICBbW3NlbGYgX2JyaWRnZV0gZ2V0SW5u
ZXJOb25TaGFyZWROb2RlOiZpbm5lck5vblNoYXJlZE5vZGUgaW5uZXJOb2RlOiZpbm5lck5vZGUg
VVJMRWxlbWVudDomVVJMRWxlbWVudCBhdFBvaW50OnBvaW50XTsKKyAgICBbW3NlbGYgX2JyaWRn
ZV0gZ2V0SW5uZXJOb25TaGFyZWROb2RlOiZpbm5lck5vblNoYXJlZE5vZGUgaW5uZXJOb2RlOiZp
bm5lck5vZGUgVVJMRWxlbWVudDomVVJMRWxlbWVudCBhdFBvaW50OnBvaW50IGFsbG93U2hhZG93
Q29udGVudDphbGxvd107CiAgICAgcmV0dXJuIFtbW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGFsbG9j
XSBpbml0V2l0aElubmVyTm9uU2hhcmVkTm9kZTppbm5lck5vblNoYXJlZE5vZGUgaW5uZXJOb2Rl
OmlubmVyTm9kZSBVUkxFbGVtZW50OlVSTEVsZW1lbnQgYW5kUG9pbnQ6cG9pbnRdIGF1dG9yZWxl
YXNlXTsKIH0KIApJbmRleDogV2ViS2l0L1dlYlZpZXcvV2ViUERGVmlldy5tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9XZWJWaWV3L1dlYlBERlZpZXcubQkocmV2aXNpb24gMTM0MjApCisrKyBXZWJL
aXQvV2ViVmlldy9XZWJQREZWaWV3Lm0JKHdvcmtpbmcgY29weSkKQEAgLTIyNSw2ICsyMjUsMTEg
QEAKICAgICAgICAgbmlsXTsKIH0KIAorLSAoTlNEaWN0aW9uYXJ5ICopZWxlbWVudEF0UG9pbnQ6
KE5TUG9pbnQpcG9pbnQgYWxsb3dTaGFkb3dDb250ZW50OihCT09MKWFsbG93Cit7CisgICAgcmV0
dXJuIFtzZWxmIGVsZW1lbnRBdFBvaW50OnBvaW50XTsKK30KKwogLSAoTlNNdXRhYmxlQXJyYXkg
KilfbWVudUl0ZW1zRnJvbVBERktpdEZvckV2ZW50OihOU0V2ZW50ICopdGhlRXZlbnQKIHsKICAg
ICBOU011dGFibGVBcnJheSAqY29waWVkSXRlbXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwpJ
bmRleDogV2ViS2l0L1dlYlZpZXcvV2ViVGV4dFZpZXcubQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
V2ViVmlldy9XZWJUZXh0Vmlldy5tCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYktpdC9XZWJWaWV3
L1dlYlRleHRWaWV3Lm0JKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsMTEgQEAKICAgICBy
ZXR1cm4gW3NlbGYgX2VsZW1lbnRBdFdpbmRvd1BvaW50OltzZWxmIGNvbnZlcnRQb2ludDpwb2lu
dCB0b1ZpZXc6bmlsXV07CiB9CiAKKy0gKE5TRGljdGlvbmFyeSAqKWVsZW1lbnRBdFBvaW50OihO
U1BvaW50KXBvaW50IGFsbG93U2hhZG93Q29udGVudDooQk9PTClhbGxvdworeworICAgIHJldHVy
biBbc2VsZiBlbGVtZW50QXRQb2ludDpwb2ludF07Cit9CisKIC0gKEJPT0wpZHJhZ1NlbGVjdGlv
bldpdGhFdmVudDooTlNFdmVudCAqKWV2ZW50IG9mZnNldDooTlNTaXplKW1vdXNlT2Zmc2V0IHNs
aWRlQmFjazooQk9PTClzbGlkZUJhY2sKIHsKICAgICAvLyBNYXJrIHdlYnZpZXcgYXMgaW5pdGlh
dGluZyB0aGUgZHJhZyBzbyBkcm9wcGluZyB0aGUgdGV4dCBiYWNrIG9uIHRoaXMgd2VidmlldyBu
ZXZlciB0cmllcyB0byBuYXZpZ2F0ZS4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzQyMikKKysrIFdlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAKKzIwMDYtMDMtMjEgIEFkZWxl
IFBldGVyc29uICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIC0gRml4IGZvcgorICAgICAgICBodHRwOi8vYnVnemlsbGEu
b3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTMKKyAgICAgICAgZWxlbWVudEF0UG9p
bnQgbmVlZHMgdG8gcmV0dXJuIGlucHV0IGVsZW1lbnQgd2hlbiBjbGlja2luZyBvbiBuZXcgdGV4
dCBmaWVsZAorICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcu
Y2dpP2lkPTc3OTkKKyAgICAgICAgTmV3IHRleHQgZmllbGRzIGRvbid0IHJlc3BlY3QgdGhlIGRp
c2FibGVkIGF0dHJpYnV0ZQorCisgICAgICAgIC0gVGVzdHM6CisgICAgICAgIGZhc3QvZm9ybXMv
aW5wdXQtYXBwZWFyYW5jZS1kaXNhYmxlZC5odG1sCisgICAgICAgIGZhc3QvZm9ybXMvaW5wdXQt
YXBwZWFyYW5jZS1lbGVtZW50RnJvbVBvaW50Lmh0bWwKKyAgICAgICAgZmFzdC9mb3Jtcy9pbnB1
dC1hcHBlYXJhbmNlLXByZXZlbnREZWZhdWx0Lmh0bWwKKworICAgICAgICAqIGJyaWRnZS9tYWMv
V2ViQ29yZUZyYW1lQnJpZGdlLmg6IEFkZGVkIGFsbG93U2hhZG93Q29udGVudCBwYXJhbWV0ZXIg
dG8gZ2V0SW5uZXJOb25TaGFyZWROb2RlIHNvIG5ldyBlbGVtZW50QXRQb2ludCBtZXRob2QgaW4g
V2ViS2l0IGNhbiBjYWxsIHRoaXMuCisgICAgICAgICogYnJpZGdlL21hYy9XZWJDb3JlRnJhbWVC
cmlkZ2UubW06CisgICAgICAgICgtW1dlYkNvcmVGcmFtZUJyaWRnZSBnZXRJbm5lck5vblNoYXJl
ZE5vZGU6aW5uZXJOb2RlOlVSTEVsZW1lbnQ6YXRQb2ludDphbGxvd1NoYWRvd0NvbnRlbnQ6XSk6
IFBhc3NlcyBhbGxvd1NoYWRvd0NvbnRlbnQgcGFyYW1ldGVyIHRvIG5vZGVJbmZvQXRQb2ludC4K
KyAgICAgICAgKC1bV2ViQ29yZUZyYW1lQnJpZGdlIF92aXNpYmxlUG9zaXRpb25Gb3JQb2ludDpd
KTogVXBkYXRlZCB0byBjYWxsIG5vZGVJbmZvQXRQb2ludCBhbGxvd2luZyBzaGFkb3cgY29udGVu
dC4KKyAgICAgICAgKC1bV2ViQ29yZUZyYW1lQnJpZGdlIFJlbmRlck9iamVjdDo6bm9kZUluZm9B
dFBvaW50OmFsbG93U2hhZG93Q29udGVudDpdKTogQWRkZWQgYWxsb3dTaGFkb3dDb250ZW50IHBh
cmFtZXRlci4KKworICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
Ojppc1NoYWRvd05vZGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNoYWRvd1Bh
cmVudE5vZGUpOiBBZGRlZC4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6IChXZWJDb3JlOjpOb2Rl
OjpzaGFkb3dBbmNlc3Rvck5vZGUpOiBBZGRlZC4gIElmIGFuIGFuY2VzdG9yIGlzIGEgc2hhZG93
IG5vZGUsIHJldHVybiBpdHMgc2hhZG93IHBhcmVudCBub2RlLgorICAgICAgICAqIGh0bWwvSFRN
TFRleHRGaWVsZElubmVyRWxlbWVudC5oOiAoV2ViQ29yZTo6SFRNTFRleHRGaWVsZElubmVyRWxl
bWVudDo6aXNTaGFkb3dOb2RlKTogQWRkZWQuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OiAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVsZW1lbnRGcm9tUG9pbnQpOiBHZXRzIHRoZSBzaGFkb3dB
bmNlc3Rvck5vZGUgKHNvIHdlIGdldCB0aGUgaW5wdXQgZWxlbWVudCwgYW5kIG5vdCB0aGUgaW5u
ZXIgZGl2KS4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6aXNLZXlib2FyZEZvY3VzYWJsZSk6IElmIHRleHQg
ZmllbGRzIGFyZSBmb2N1c2FibGUsIHRoZW4gdGhleSBzaG91bGQgYmUga2V5Ym9hcmQgZm9jdXNh
YmxlLiAgVGhpcyB3b3JrcyBmb3IgdGhlCisgICAgICAgIG9sZCB0ZXh0IGZpZWxkcyBiZWNhdXNl
IEhUTUxHZW5lcmljRm9ybUVsZW1lbnQ6OmlzS2V5Ym9hcmRGb2N1c2FibGUgZG9lcyB0aGUgcmln
aHQgdGhpbmcgZm9yIFJlbmRlcldpZGdldHMuICBUaGF0J3Mgbm90IG5lZWRlZCBmb3IgdGhlIG5l
dyBmb3JtCisgICAgICAgIGVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6IGxldCB0aGUgcmVuZGVyZXIgZm9yd2FyZCBkcmFn
LCBtb3VzZSwgYW5kIHdoZWVsIGV2ZW50cy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlRHJhZ0FuZERyb3ApOiBTZW5k
IGRyYWcgZXZlbnRzIHRvIHRoZSBzaGFkb3dBbmNlc3Rvck5vZGUuCisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OmRpc3BhdGNoTW91c2VFdmVudCk6IFNlbmQgbW91c2UgZXZlbnRzIHRvIHRo
ZSBzaGFkb3dBbmNlc3Rvck5vZGUuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmhhbmRs
ZVdoZWVsRXZlbnQpOiBTZW5kIHdoZWVsIGV2ZW50cyB0byB0aGUgc2hhZG93QW5jZXN0b3JOb2Rl
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRGaWVsZC5jcHA6IChXZWJDb3JlOjpS
ZW5kZXJUZXh0RmllbGQ6OmZvcndhcmRFdmVudCk6IGZvcndhcmRzIGV2ZW50cyB0byB0aGUgaW5u
ZXIgZGl2IGVsZW1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRGaWVsZC5oOiBB
ZGRlZCBmb3J3YXJkRXZlbnQgbWV0aG9kLgorCisgICAgICAgICoga3dxL1dlYkNvcmVBWE9iamVj
dC5tbToKKyAgICAgICAgKC1bV2ViQ29yZUFYT2JqZWN0IGFjY2Vzc2liaWxpdHlIaXRUZXN0Ol0p
OiBHZXRzIHRoZSAgc2hhZG93QW5jZXN0b3JOb2RlIChzbyB3ZSBnZXQgdGhlIGlucHV0IGVsZW1l
bnQsIGFuZCBub3QgdGhlIGlubmVyIGRpdikuCisgICAgICAgICgtW1dlYkNvcmVBWE9iamVjdCBy
b2xlXSk6IEdldHMgdGhlIHJpZ2h0IHJvbGUgZm9yIHRleHQgZmllbGRzLCBzaW5jZSB3ZSBubyBs
b25nZXIgZ2V0IHRoYXQgZnJvbSBBcHBLaXQuCisgICAgICAgICgtW1dlYkNvcmVBWE9iamVjdCBy
b2xlRGVzY3JpcHRpb25dKTogR2V0cyB0aGUgcmlnaHQgZGVzY3JpcHRpb24gZm9yIHRleHQgZmll
bGRzLgorCiAyMDA2LTAzLTIxICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBNYWNpZWoKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGV4dEZpZWxk
SW5uZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUZXh0RmllbGRJ
bm5lckVsZW1lbnQuaAkocmV2aXNpb24gMTM0MjApCisrKyBXZWJDb3JlL2h0bWwvSFRNTFRleHRG
aWVsZElubmVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAgICAg
SFRNTFRleHRGaWVsZElubmVyRWxlbWVudChEb2N1bWVudCosIE5vZGUqIHNoYWRvd1BhcmVudCA9
IDApOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7
CisgICAgdmlydHVhbCBib29sIGlzU2hhZG93Tm9kZSgpIHsgcmV0dXJuIHRydWU7IH0KIAogICAg
IE5vZGUqIHNoYWRvd1BhcmVudE5vZGUoKSB7IHJldHVybiBtX3NoYWRvd1BhcmVudDsgfQogICAg
IHZvaWQgc2V0U2hhZG93UGFyZW50Tm9kZShOb2RlKiBub2RlKSB7IG1fc2hhZG93UGFyZW50ID0g
bm9kZTsgfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkocmV2aXNpb24gMTM0MjAp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwMiw2ICsxMDIsMTAgQEAKIAogYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojppc0tleWJvYXJkRm9j
dXNhYmxlKCkgY29uc3QKIHsKKyAgICAvLyBJZiB0ZXh0IGZpZWxkcyBjYW4gYmUgZm9jdXNlZCwg
dGhlbiB0aGV5IHNob3VsZCBhbHdheXMgYmUga2V5Ym9hcmRGb2N1c2FibGUKKyAgICBpZiAobV90
eXBlID09IFRFWFQgJiYgcmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLT5hcHBlYXJh
bmNlKCkgPT0gVGV4dEZpZWxkQXBwZWFyYW5jZSkKKyAgICAgICAgcmV0dXJuIEhUTUxHZW5lcmlj
Rm9ybUVsZW1lbnQ6OmlzRm9jdXNhYmxlKCk7CisgICAgICAgIAogICAgIC8vIElmIHRoZSBiYXNl
IGNsYXNzIHNheXMgd2UgY2FuJ3QgYmUgZm9jdXNlZCwgdGhlbiB3ZSBjYW4gc3RvcCBub3cuCiAg
ICAgaWYgKCFIVE1MR2VuZXJpY0Zvcm1FbGVtZW50Ojppc0tleWJvYXJkRm9jdXNhYmxlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTExOTEsNiArMTE5NSw5IEBACiAgICAgICAgIH0gICAg
ICAgIAogICAgIH0KICAgICAKKyAgICBpZiAobV90eXBlID09IFRFWFQgJiYgKGV2dC0+aXNNb3Vz
ZUV2ZW50KCkgfHwgZXZ0LT5pc0RyYWdFdmVudCgpIHx8IGV2dC0+aXNXaGVlbEV2ZW50KCkpICYm
IHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpID09IFRleHRG
aWVsZEFwcGVhcmFuY2UpCisgICAgICAgIHN0YXRpY19jYXN0PFJlbmRlclRleHRGaWVsZCo+KHJl
bmRlcmVyKCkpLT5mb3J3YXJkRXZlbnQoZXZ0KTsKKyAgICAKICAgICBIVE1MR2VuZXJpY0Zvcm1F
bGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRGaWVsZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRGaWVsZC5oCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRGaWVsZC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBACiAKICAg
ICB2b2lkIHN1YnRyZWVIYXNDaGFuZ2VkKCk7CiAgICAgU3RyaW5nIHRleHQoKTsKKyAgICB2b2lk
IGZvcndhcmRFdmVudChFdmVudCopOwogCiBwcml2YXRlOgogICAgIFZpc2libGVQb3NpdGlvbiB2
aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbnQgaW5kZXgpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dEZpZWxkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0RmllbGQuY3BwCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRGaWVsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNiw0ICsyMjYsOSBAQAog
ICAgIHNldE1pbk1heEtub3duKCk7CiB9CiAKK3ZvaWQgUmVuZGVyVGV4dEZpZWxkOjpmb3J3YXJk
RXZlbnQoRXZlbnQqIGV2dCkKK3sKKyAgICBtX2Rpdi0+ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQp
OwogfQorCit9CkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIwLDYgKzYyMCw3IEBACiAgICAgTm9k
ZSogbiA9IG5vZGVJbmZvLmlubmVyTm9kZSgpOwogICAgIHdoaWxlIChuICYmICFuLT5pc0VsZW1l
bnROb2RlKCkpCiAgICAgICAgIG4gPSBuLT5wYXJlbnROb2RlKCk7CisgICAgbiA9IG4tPnNoYWRv
d0FuY2VzdG9yTm9kZSgpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obik7CiB9
CiAKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9O
b2RlLmgJKHJldmlzaW9uIDEzNDIwKQorKysgV2ViQ29yZS9kb20vTm9kZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDIsNiArMTQyLDkgQEAKICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tZW50Tm9kZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRG9jdW1lbnROb2Rl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNFdmVudFRhcmdl
dE5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc1NoYWRv
d05vZGUoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgTm9kZSogc2hhZG93UGFyZW50
Tm9kZSgpIHsgcmV0dXJuIDA7IH0KKyAgICBOb2RlKiBzaGFkb3dBbmNlc3Rvck5vZGUoKTsKICAg
ICBib29sIGlzQmxvY2tGbG93KCkgY29uc3Q7CiAgICAgYm9vbCBpc0Jsb2NrRmxvd09yQmxvY2tU
YWJsZSgpIGNvbnN0OwogICAgIApJbmRleDogV2ViQ29yZS9kb20vTm9kZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDEzNDIwKQorKysgV2ViQ29yZS9k
b20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1MSw2ICs5NTEsMTQgQEAKICAgICByZXR1
cm4gcmVuZGVyZXIoKSA/IHJlbmRlcmVyKCktPm5leHRPZmZzZXQoY3VycmVudCkgOiBjdXJyZW50
ICsgMTsKIH0KIAorTm9kZSogTm9kZTo6c2hhZG93QW5jZXN0b3JOb2RlKCkKK3sKKyAgICBOb2Rl
KiBuID0gcm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIGlmIChuICYmIG4tPmlzU2hhZG93Tm9k
ZSgpKQorICAgICAgICByZXR1cm4gbi0+c2hhZG93UGFyZW50Tm9kZSgpOworICAgIHJldHVybiB0
aGlzOworfQorCiBib29sIE5vZGU6OmlzQmxvY2tGbG93KCkgY29uc3QKIHsKICAgICByZXR1cm4g
cmVuZGVyZXIoKSAmJiByZW5kZXJlcigpLT5pc0Jsb2NrRmxvdygpOwpJbmRleDogV2ViQ29yZS9i
cmlkZ2UvbWFjL1dlYkNvcmVGcmFtZUJyaWRnZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jy
aWRnZS9tYWMvV2ViQ29yZUZyYW1lQnJpZGdlLm1tCShyZXZpc2lvbiAxMzQyMCkKKysrIFdlYkNv
cmUvYnJpZGdlL21hYy9XZWJDb3JlRnJhbWVCcmlkZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTEy
Niw3ICsxMjYsNyBAQAogCiBAaW50ZXJmYWNlIFdlYkNvcmVGcmFtZUJyaWRnZSAoV2ViQ29yZUJy
aWRnZUludGVybmFsKQogLSAoUm9vdE9iamVjdCAqKWV4ZWN1dGlvbkNvbnRleHRGb3JWaWV3OihO
U1ZpZXcgKilhVmlldzsKLS0gKFJlbmRlck9iamVjdDo6Tm9kZUluZm8pbm9kZUluZm9BdFBvaW50
OihOU1BvaW50KXBvaW50OworLSAoUmVuZGVyT2JqZWN0OjpOb2RlSW5mbylub2RlSW5mb0F0UG9p
bnQ6KE5TUG9pbnQpcG9pbnQgYWxsb3dTaGFkb3dDb250ZW50OihCT09MKWFsbG93OwogQGVuZAog
CiBzdGF0aWMgUm9vdE9iamVjdCAqcm9vdEZvclZpZXcodm9pZCAqdikKQEAgLTExNzYsNyArMTE3
Niw3IEBACiAgICAgcmV0dXJuIG1fZnJhbWUtPm1hdGNoTGFiZWxzQWdhaW5zdEVsZW1lbnQobGFi
ZWxzLCBbZWxlbWVudCBfZWxlbWVudF0pOwogfQogCi0tICh2b2lkKWdldElubmVyTm9uU2hhcmVk
Tm9kZTooRE9NTm9kZSAqKilpbm5lck5vblNoYXJlZE5vZGUgaW5uZXJOb2RlOihET01Ob2RlICoq
KWlubmVyTm9kZSBVUkxFbGVtZW50OihET01FbGVtZW50ICoqKVVSTEVsZW1lbnQgYXRQb2ludDoo
TlNQb2ludClwb2ludAorLSAodm9pZClnZXRJbm5lck5vblNoYXJlZE5vZGU6KERPTU5vZGUgKiop
aW5uZXJOb25TaGFyZWROb2RlIGlubmVyTm9kZTooRE9NTm9kZSAqKilpbm5lck5vZGUgVVJMRWxl
bWVudDooRE9NRWxlbWVudCAqKilVUkxFbGVtZW50IGF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQgYWxs
b3dTaGFkb3dDb250ZW50OihCT09MKSBhbGxvdwogewogICAgIFJlbmRlck9iamVjdCAqcmVuZGVy
ZXIgPSBtX2ZyYW1lLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpIHsKQEAgLTExODYs
NyArMTE4Niw3IEBACiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZW5kZXJPYmplY3Q6
Ok5vZGVJbmZvIG5vZGVJbmZvID0gW3NlbGYgbm9kZUluZm9BdFBvaW50OnBvaW50XTsKKyAgICBS
ZW5kZXJPYmplY3Q6Ok5vZGVJbmZvIG5vZGVJbmZvID0gW3NlbGYgbm9kZUluZm9BdFBvaW50OnBv
aW50IGFsbG93U2hhZG93Q29udGVudDphbGxvd107CiAgICAgKmlubmVyTm9uU2hhcmVkTm9kZSA9
IFtET01Ob2RlIF9ub2RlV2l0aDpub2RlSW5mby5pbm5lck5vblNoYXJlZE5vZGUoKV07CiAgICAg
KmlubmVyTm9kZSA9IFtET01Ob2RlIF9ub2RlV2l0aDpub2RlSW5mby5pbm5lck5vZGUoKV07CiAg
ICAgKlVSTEVsZW1lbnQgPSBbRE9NRWxlbWVudCBfZWxlbWVudFdpdGg6bm9kZUluZm8uVVJMRWxl
bWVudCgpXTsKQEAgLTIwNjgsNyArMjA2OCw3IEBACiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9z
aXRpb24oKTsKICAgICB9CiAgICAgCi0gICAgUmVuZGVyT2JqZWN0OjpOb2RlSW5mbyBub2RlSW5m
byA9IFtzZWxmIG5vZGVJbmZvQXRQb2ludDpwb2ludF07CisgICAgUmVuZGVyT2JqZWN0OjpOb2Rl
SW5mbyBub2RlSW5mbyA9IFtzZWxmIG5vZGVJbmZvQXRQb2ludDpwb2ludCBhbGxvd1NoYWRvd0Nv
bnRlbnQ6WUVTXTsKICAgICAKICAgICBOb2RlICpub2RlID0gbm9kZUluZm8uaW5uZXJOb2RlKCk7
CiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5yZW5kZXJlcigpKQpAQCAtMjQ1Myw3ICsyNDUzLDcg
QEAKICAgICByZXR1cm4gcm9vdDsKIH0KIAotLSAoUmVuZGVyT2JqZWN0OjpOb2RlSW5mbylub2Rl
SW5mb0F0UG9pbnQ6KE5TUG9pbnQpcG9pbnQKKy0gKFJlbmRlck9iamVjdDo6Tm9kZUluZm8pbm9k
ZUluZm9BdFBvaW50OihOU1BvaW50KXBvaW50IGFsbG93U2hhZG93Q29udGVudDooQk9PTClhbGxv
dwogewogICAgIFJlbmRlck9iamVjdCAqcmVuZGVyZXIgPSBtX2ZyYW1lLT5yZW5kZXJlcigpOwog
CkBAIC0yNDg1LDYgKzI0ODUsMTIgQEAKICAgICAgICAgbm9kZUluZm8gPSB3aWRnZXROb2RlSW5m
bzsKICAgICB9CiAgICAgCisgICAgaWYgKCFhbGxvdykgeworICAgICAgICBOb2RlKiBub2RlID0g
bm9kZUluZm8uaW5uZXJOb2RlKCk7CisgICAgICAgIG5vZGVJbmZvLnNldElubmVyTm9kZShub2Rl
LT5zaGFkb3dBbmNlc3Rvck5vZGUoKSk7CisgICAgICAgIG5vZGUgPSBub2RlSW5mby5pbm5lck5v
blNoYXJlZE5vZGUoKTsKKyAgICAgICAgbm9kZUluZm8uc2V0SW5uZXJOb25TaGFyZWROb2RlKG5v
ZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpKTsgCisgICAgfQogICAgIHJldHVybiBub2RlSW5mbzsK
IH0KIApJbmRleDogV2ViQ29yZS9icmlkZ2UvbWFjL1dlYkNvcmVGcmFtZUJyaWRnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYnJpZGdlL21hYy9XZWJDb3JlRnJhbWVCcmlkZ2UuaAkocmV2aXNp
b24gMTM0MjApCisrKyBXZWJDb3JlL2JyaWRnZS9tYWMvV2ViQ29yZUZyYW1lQnJpZGdlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI4Myw3ICsyODMsNyBAQAogLSAoTlNPYmplY3QgKiljb3B5UmVuZGVy
VHJlZTooaWQgPFdlYkNvcmVSZW5kZXJUcmVlQ29waWVyPiljb3BpZXI7CiAtIChOU1N0cmluZyAq
KXJlbmRlclRyZWVBc0V4dGVybmFsUmVwcmVzZW50YXRpb247CiAKLS0gKHZvaWQpZ2V0SW5uZXJO
b25TaGFyZWROb2RlOihET01Ob2RlICoqKWlubmVyTm9uU2hhcmVkTm9kZSBpbm5lck5vZGU6KERP
TU5vZGUgKiopaW5uZXJOb2RlIFVSTEVsZW1lbnQ6KERPTUVsZW1lbnQgKiopVVJMRWxlbWVudCBh
dFBvaW50OihOU1BvaW50KXBvaW50OworLSAodm9pZClnZXRJbm5lck5vblNoYXJlZE5vZGU6KERP
TU5vZGUgKiopaW5uZXJOb25TaGFyZWROb2RlIGlubmVyTm9kZTooRE9NTm9kZSAqKilpbm5lck5v
ZGUgVVJMRWxlbWVudDooRE9NRWxlbWVudCAqKilVUkxFbGVtZW50IGF0UG9pbnQ6KE5TUG9pbnQp
cG9pbnQgYWxsb3dTaGFkb3dDb250ZW50OihCT09MKWFsbG93OwogLSAoQk9PTClpc1BvaW50SW5z
aWRlU2VsZWN0aW9uOihOU1BvaW50KXBvaW50OwogCiAtIChOU1VSTCAqKVVSTFdpdGhBdHRyaWJ1
dGVTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nOwpJbmRleDogV2ViQ29yZS9rd3EvV2ViQ29yZUFY
T2JqZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3dxL1dlYkNvcmVBWE9iamVjdC5tbQko
cmV2aXNpb24gMTM0MjApCisrKyBXZWJDb3JlL2t3cS9XZWJDb3JlQVhPYmplY3QubW0JKHdvcmtp
bmcgY29weSkKQEAgLTM0Miw2ICszNDIsOCBAQAogICAgICAgICAgICAgcmV0dXJuIE5TQWNjZXNz
aWJpbGl0eVJhZGlvQnV0dG9uUm9sZTsKICAgICAgICAgaWYgKGlucHV0LT5pc1RleHRCdXR0b24o
KSkKICAgICAgICAgICAgIHJldHVybiBOU0FjY2Vzc2liaWxpdHlCdXR0b25Sb2xlOworICAgICAg
ICBpZiAoaW5wdXQtPmlucHV0VHlwZSgpID09IEhUTUxJbnB1dEVsZW1lbnQ6OlRFWFQpCisgICAg
ICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5VGV4dEZpZWxkUm9sZTsKICAgICB9CiAgICAg
CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzQmxvY2tGbG93KCkpCkBAIC0zOTEsNiArMzkzLDkgQEAK
ICAgICAgICAgCiAgICAgaWYgKFtyb2xlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlS
YWRpb0J1dHRvblJvbGVdKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5Um9sZURlc2Ny
aXB0aW9uKE5TQWNjZXNzaWJpbGl0eVJhZGlvQnV0dG9uUm9sZSwgbmlsKTsKKyAgICAgICAgCisg
ICAgaWYgKFtyb2xlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlUZXh0RmllbGRSb2xl
XSkKKyAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVJvbGVEZXNjcmlwdGlvbihOU0FjY2Vz
c2liaWxpdHlUZXh0RmllbGRSb2xlLCBuaWwpOwogCiAgICAgaWYgKFtyb2xlIGlzRXF1YWxUb1N0
cmluZzpAIkFYV2ViQXJlYSJdKQogICAgICAgICByZXR1cm4gVUlfU1RSSU5HKCJ3ZWIgYXJlYSIs
ICJhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHdlYiBhcmVhIik7CkBAIC0xNzcw
LDcgKzE3NzUsOCBAQAogICAgIG1fcmVuZGVyZXItPmxheWVyKCktPmhpdFRlc3Qobm9kZUluZm8s
IChpbnQpcG9pbnQueCwgKGludClwb2ludC55KTsKICAgICBpZiAoIW5vZGVJbmZvLmlubmVyTm9k
ZSgpKQogICAgICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5VW5pZ25vcmVkQW5jZXN0b3Ioc2Vs
Zik7Ci0gICAgUmVuZGVyT2JqZWN0KiBvYmogPSBub2RlSW5mby5pbm5lck5vZGUoKS0+cmVuZGVy
ZXIoKTsKKyAgICBOb2RlKiBub2RlID0gbm9kZUluZm8uaW5uZXJOb2RlKCktPnNoYWRvd0FuY2Vz
dG9yTm9kZSgpOworICAgIFJlbmRlck9iamVjdCogb2JqID0gbm9kZS0+cmVuZGVyZXIoKTsKICAg
ICBpZiAoIW9iaikKICAgICAgICAgcmV0dXJuIE5TQWNjZXNzaWJpbGl0eVVuaWdub3JlZEFuY2Vz
dG9yKHNlbGYpOwogICAgIApJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHJldmlzaW9uIDEzNDIwKQorKysg
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwMyw4ICs3MDMs
MTEgQEAKIAogICAgIC8vIERyYWcgZXZlbnRzIHNob3VsZCBuZXZlciBnbyB0byB0ZXh0IG5vZGVz
IChmb2xsb3dpbmcgSUUsIGFuZCBwcm9wZXIgbW91c2VvdmVyL291dCBkaXNwYXRjaCkKICAgICBO
b2RlKiBuZXdUYXJnZXQgPSBtZXYuaW5uZXJOb2RlKCk7Ci0gICAgaWYgKG5ld1RhcmdldCAmJiBu
ZXdUYXJnZXQtPmlzVGV4dE5vZGUoKSkKLSAgICAgICAgbmV3VGFyZ2V0ID0gbmV3VGFyZ2V0LT5w
YXJlbnROb2RlKCk7CisgICAgaWYgKG5ld1RhcmdldCkgeworICAgICAgICBpZiAobmV3VGFyZ2V0
LT5pc1RleHROb2RlKCkpCisgICAgICAgICAgICBuZXdUYXJnZXQgPSBuZXdUYXJnZXQtPnBhcmVu
dE5vZGUoKTsKKyAgICAgICAgbmV3VGFyZ2V0ID0gbmV3VGFyZ2V0LT5zaGFkb3dBbmNlc3Rvck5v
ZGUoKTsKKyAgICB9CiAKICAgICBpZiAoZC0+ZHJhZ1RhcmdldCAhPSBuZXdUYXJnZXQpIHsKICAg
ICAgICAgLy8gbm90ZSB0aGlzIG9yZGVyaW5nIGlzIGV4cGxpY2l0bHkgY2hvc2VuIHRvIG1hdGNo
IFdpbklFCkBAIC05NTAsOCArOTUzLDExIEBACiAgICAgaW50IGNsaWNrQ291bnQsIGNvbnN0IFBs
YXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCwgYm9vbCBzZXRVbmRlcikKIHsKICAgICAvLyBp
ZiB0aGUgdGFyZ2V0IG5vZGUgaXMgYSB0ZXh0IG5vZGUsIGRpc3BhdGNoIG9uIHRoZSBwYXJlbnQg
bm9kZSAtIHJkYXI6Ly80MTk2NjQ2Ci0gICAgaWYgKHRhcmdldE5vZGUgJiYgdGFyZ2V0Tm9kZS0+
aXNUZXh0Tm9kZSgpKQotICAgICAgICB0YXJnZXROb2RlID0gdGFyZ2V0Tm9kZS0+cGFyZW50Tm9k
ZSgpOworICAgIGlmICh0YXJnZXROb2RlKSB7CisgICAgICAgIGlmICh0YXJnZXROb2RlLT5pc1Rl
eHROb2RlKCkpCisgICAgICAgICAgICB0YXJnZXROb2RlID0gdGFyZ2V0Tm9kZS0+cGFyZW50Tm9k
ZSgpOworICAgICAgICB0YXJnZXROb2RlID0gdGFyZ2V0Tm9kZS0+c2hhZG93QW5jZXN0b3JOb2Rl
KCk7CisgICAgfQogICAgIGQtPnVuZGVyTW91c2UgPSB0YXJnZXROb2RlOwogCiAgICAgLy8gbW91
c2VvdXQvbW91c2VvdmVyCkBAIC0xMDI4LDYgKzEwMzQsNyBAQAogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChub2RlKSB7CisgICAgICAgICAg
ICAgICAgbm9kZSA9IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwogICAgICAgICAgICAgICAg
IEV2ZW50VGFyZ2V0Tm9kZUNhc3Qobm9kZSktPmRpc3BhdGNoV2hlZWxFdmVudChlKTsKICAgICAg
ICAgICAgICAgICBpZiAoZS5pc0FjY2VwdGVkKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDIyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDYtMDMtMjEgIEFkZWxlIFBldGVyc29u
ICA8YWRlbGVAYXBwbGUuY29tPgorCisgICAgICAgIFRlc3RzIGZvcjoKKyAgICAgICAgaHR0cDov
L2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzCisgICAgICAgIGVs
ZW1lbnRBdFBvaW50IG5lZWRzIHRvIHJldHVybiBpbnB1dCBlbGVtZW50IHdoZW4gY2xpY2tpbmcg
b24gbmV3IHRleHQgZmllbGQKKyAgICAgICAgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3Jn
L3Nob3dfYnVnLmNnaT9pZD03Nzk5CisgICAgICAgIE5ldyB0ZXh0IGZpZWxkcyBkb24ndCByZXNw
ZWN0IHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUKKworICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQt
YXBwZWFyYW5jZS1kaXNhYmxlZC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWRpc2FibGVkLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWRpc2FibGVkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWRpc2Fi
bGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1l
bGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jt
cy9pbnB1dC1hcHBlYXJhbmNlLWVsZW1lbnRGcm9tUG9pbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLXByZXZlbnREZWZhdWx0LWV4cGVjdGVkLmNo
ZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2UtcHJl
dmVudERlZmF1bHQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lu
cHV0LWFwcGVhcmFuY2UtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2UtcHJldmVudERlZmF1bHQuaHRtbDogQWRk
ZWQuCisKIDIwMDYtMDMtMjEgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlZHVjaW5nIHRoZSBhbW91bnQgb2YgdGltZSB0aGlzIHRlc3Qgd2FpdHMgZm9yIHRoZSBm
cmFtZSB0byBmdWxseQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJh
bmNlLXByZXZlbnREZWZhdWx0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1hcHBlYXJhbmNlLXByZXZlbnREZWZhdWx0Lmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2UtcHJldmVudERlZmF1bHQu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygyNSwgNTUpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgIH0KK30KKworZnVuY3Rpb24gcHJldkRlZmF1bHRGb3JFdmVudCggZXZ0ICkgewor
ICAgIGxvZyhldnQudHlwZSArICIgb24gdGFyZ2V0ICIgKyBldnQudGFyZ2V0KTsKKyAgICBldnQu
cHJldmVudERlZmF1bHQoKTsKK30KKworZnVuY3Rpb24gbG9nKHRleHQpIHsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCArICI8YnI+IiArIHRleHQ7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxicj4KK1RoaXMgdGVzdHMgdGhhdCBw
cmV2ZW50RGVmYXVsdCBjYWxsZWQgb25tb3VzZWRvd24gd2lsbCBwcmV2ZW50IGEgY2FyZXQgZnJv
bSBiZWluZyBwbGFjZWQgaW4gdGhlIHRleHQgZmllbGQuCis8aW5wdXQgaWQ9InRmMSIgc3R5bGU9
Ii1raHRtbC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1
MDsgbGVmdDogMTA7IiBvbm1vdXNlZG93bj0icHJldkRlZmF1bHRGb3JFdmVudChldmVudCkiIHZh
bHVlPSJObyBjYXJldCBzaG91bGQgYmUgaGVyZSI+PC9pbnB1dD4KKzxkaXYgaWQ9InJlc3VsdCIg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA3MDsgbGVmdDogMTA7Ij4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFw
cGVhcmFuY2UtZGlzYWJsZWQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6
IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW5wdXQtYXBwZWFyYW5jZS1kaXNhYmxlZC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1l
OiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWVsZW1lbnRGcm9tUG9pbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBw
ZWFyYW5jZS1lbGVtZW50RnJvbVBvaW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1lbGVtZW50RnJvbVBvaW50LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3RzIHRoYXQg
ZWxlbWVudEZyb21Qb2ludCB3aWxsIGdldCB0aGUgaW5wdXQgZWxlbWVudC4KK1Rlc3QgUGFzc2Vk
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1kaXNhYmxl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1
dC1hcHBlYXJhbmNlLWRpc2FibGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1kaXNhYmxlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJDYW52YXMgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVy
VGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAzOTd4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMzk3OiAiVGhpcyB0ZXN0cyB0aGF0IHRleHQgY2FuIG5vdCBiZSBpbnNlcnRlZCBp
bnRvIGEgZGlzYWJsZWQgdGV4dCBmaWVsZC4gIgorICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDIsMjApIHNpemUg
MTQ2eDE5IFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xh
eWVyIGF0ICgxMywzMSkgc2l6ZSAxNDB4MTMKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykg
c2l6ZSAxNDB4MTMKKyAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDYzeDEzCisg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MzogIlRlc3QgUGFzc2VkIgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWVsZW1lbnRGcm9tUG9pbnQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2Ut
ZWxlbWVudEZyb21Qb2ludC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWVsZW1lbnRGcm9tUG9pbnQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBzaG93
RWxlbWVudCh4LCB5KSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAKKyAgICB2
YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlcycpOworICAgIHZhciBteUVs
ZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpOworICAgIGlmIChteUVsZW1l
bnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RmJykpCisgICAgICAgIHJlc3VsdC5pbm5l
ckhUTUwgPSAiVGVzdCBQYXNzZWQiOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InNob3dFbGVtZW50KDE1LCAzMCkiPgorVGhpcyB0ZXN0cyB0aGF0IGVsZW1lbnRGcm9tUG9p
bnQgd2lsbCBnZXQgdGhlIGlucHV0IGVsZW1lbnQuCis8aW5wdXQgaWQ9InRmIiBzdHlsZT0iLWto
dG1sLWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDI1OyBs
ZWZ0OiAxMDsiPjwvaW5wdXQ+Cis8ZGl2IGlkPSJyZXMiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogNTA7IGxlZnQ6IDEwOyI+VGVzdCBGYWlsZWQ8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lucHV0LWFwcGVhcmFuY2UtZGlzYWJsZWQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWRpc2FibGVkLWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9p
bnB1dC1hcHBlYXJhbmNlLWRpc2FibGVkLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxIEBACitkMGE4ZGM5NjE5ODEwYWZhMTY3ZDhiMjVlNWEyMWZjZApcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBw
ZWFyYW5jZS1kaXNhYmxlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW5wdXQtYXBwZWFyYW5jZS1kaXNhYmxlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLWRpc2FibGVkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RmJykuZm9jdXMoKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAnVGVzdCBGYWlsZWQn
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IHRleHQgY2FuIG5vdCBiZSBpbnNlcnRlZCBpbnRvIGEgZGlzYWJsZWQgdGV4dCBm
aWVsZC4KKzxicj48aW5wdXQgaWQ9InRmIiBzdHlsZT0iLWtodG1sLWFwcGVhcmFuY2U6IHRleHRm
aWVsZDsiIGRpc2FibGVkIHZhbHVlPSJUZXN0IFBhc3NlZCI+PC9pbnB1dD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2UtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQucG5nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjpt
aW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1wcmV2ZW50RGVmYXVsdC1l
eHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBl
YXJhbmNlLXByZXZlbnREZWZhdWx0LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1wcmV2ZW50RGVmYXVsdC1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5w
dXQtYXBwZWFyYW5jZS1wcmV2ZW50RGVmYXVsdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSBAQAorYzNhZDFhMDYwMTllZGQxMDQ3MDI2YjBiMjVkZDY5YmYKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0
LWFwcGVhcmFuY2UtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5jZS1wcmV2ZW50RGVmYXVsdC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lucHV0LWFw
cGVhcmFuY2UtcHJldmVudERlZmF1bHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIzIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQ2FudmFzIGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6
ZSAweDE4CisgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwxOCkgc2l6ZSA2NjZ4MTgKKyAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDY2NjogIlRoaXMgdGVzdHMgdGhhdCBwcmV2
ZW50RGVmYXVsdCBjYWxsZWQgb25tb3VzZWRvd24gd2lsbCBwcmV2ZW50IGEgY2FyZXQgZnJvbSBi
ZWluZyBwbGFjZWQgaW4gdGhlIHRleHQgZmllbGQuIgorICAgICAgUmVuZGVyVGV4dCB7VEVYVH0g
YXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVu
ZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxMiw1Mikgc2l6ZSAx
NDZ4MTkKKyAgUmVuZGVyVGV4dEZpZWxkIHtJTlBVVH0gYXQgKDEyLDUyKSBzaXplIDE0NngxOSBb
Ymdjb2xvcj0jRkZGRkZGXQorbGF5ZXIgYXQgKDE1LDU1KSBzaXplIDE0MHgxMworICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE0MHgxMworICAgIFJlbmRlclRleHQge1RFWFR9IGF0
ICgwLDApIHNpemUgMTI5eDEzCisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjk6ICJO
byBjYXJldCBzaG91bGQgYmUgaGVyZSIKK2xheWVyIGF0ICgxMCw3MCkgc2l6ZSAyNDB4MzYKKyAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxMCw3MCkgc2l6ZSAyNDB4MzYKKyAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQge1RFWFR9
IGF0ICgwLDE4KSBzaXplIDI0MHgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDI0
MDogIm1vdXNlZG93biBvbiB0YXJnZXQgW29iamVjdCBJTlBVVF0iCg==
</data>
<flag name="review"
          id="1911"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>