<?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>98096</bug_id>
          
          <creation_ts>2012-10-01 17:05:02 -0700</creation_ts>
          <short_desc>Rename CalendarPickerElement to PickerIndicatorElement</short_desc>
          <delta_ts>2012-10-01 17:56:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732136</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 17:05:02 -0700</bug_when>
    <thetext>Rename CalendarPickerElement to PickerIndicatorElement so we can use it for input types other than date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732151</commentid>
    <comment_count>1</comment_count>
      <attachid>166578</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 17:19:30 -0700</bug_when>
    <thetext>Created attachment 166578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732157</commentid>
    <comment_count>2</comment_count>
      <attachid>166578</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-01 17:24:21 -0700</bug_when>
    <thetext>Comment on attachment 166578
Patch

ok. Please make sure this renaming will keep appropriate revision history.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732168</commentid>
    <comment_count>3</comment_count>
      <attachid>166578</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 17:55:28 -0700</bug_when>
    <thetext>Comment on attachment 166578
Patch

Clearing flags on attachment: 166578

Committed r130106: &lt;http://trac.webkit.org/changeset/130106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732169</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 17:55:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732170</commentid>
    <comment_count>5</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 17:56:53 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 166578 [details])
&gt; ok. Please make sure this renaming will keep appropriate revision history.

Confirmed that the revision history is kept.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166578</attachid>
            <date>2012-10-01 17:19:30 -0700</date>
            <delta_ts>2012-10-01 17:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98096-20121002091843.patch</filename>
            <type>text/plain</type>
            <size>23562</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc0MGQzYTdlOGQyNzcz
YzU3ZjAxYTc0YWE2NTQyMWJkNDY4ZjVmMC4uNWIwNDAwZWZiZjQ0NzUyOGQ4ZmM4YzdhMTk3MmEw
N2RiNDkxYjQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTEwLTAxICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBDYWxlbmRh
clBpY2tlckVsZW1lbnQgdG8gUGlja2VySW5kaWNhdG9yRWxlbWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgwOTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWluZyBDYWxlbmRhclBpY2tlckVs
ZW1lbnQgdG8gUGlja2VySW5kaWNhdG9yRWxlbWVudCBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIGl0
IGZvciBvdGhlciBpbnB1dCB0eXBlcyBsaWtlIHRpbWUsIHdlZWssIG1vbnRoLCBkYXRldGltZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMuIEp1c3QgYSByZW5hbWUuCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBodG1s
L0RhdGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZUlucHV0VHlwZTo6Y3Jl
YXRlU2hhZG93U3VidHJlZSk6CisgICAgICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKERhdGVJbnB1dFR5cGUpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6UGlja2Vy
SW5kaWNhdG9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6
flBpY2tlckluZGljYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNh
dG9yRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5k
aWNhdG9yRWxlbWVudDo6aG9zdElucHV0KToKKyAgICAgICAgKFdlYkNvcmU6OlBpY2tlckluZGlj
YXRvckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMpOgorICAg
ICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkQ2hvb3NlVmFsdWUpOgor
ICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkRW5kQ2hvb3Nlcik6
CisgICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpvcGVuUG9wdXApOgor
ICAgICAgICAoV2ViQ29yZTo6UGlja2VySW5kaWNhdG9yRWxlbWVudDo6Y2xvc2VQb3B1cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkZXRhY2gpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChQaWNrZXJJbmRpY2F0b3JFbGVtZW50KToKKwogMjAxMi0x
MC0wMSAgUGhpbGlwIFJvZ2VycyAgPHBkckBnb29nbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBv
dmVyemVhbG91cyBhc3NlcnQgaW4gU1ZHRWxlbWVudDo6bG9jYWxBdHRyaWJ1dGVUb1Byb3BlcnR5
TWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzMDk0ZThlZjBmMjk0MGU0ZTI2
YmRjMGMzMjBiOGI0Mzg1NTkzMzFlLi4xNjM4NWE2OTdhODY4MjZlY2MxNGM0NzM3OTM3ODJmNGYw
ZjUwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM1MDgsOCArMzUwOCw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvVGV4
dFZpZXdTb3VyY2VQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVk
aXRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCBcCi0J
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcCBcCi0J
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmggXAorCVNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDNiZTRlNmE4M2JmMjA5NzNkZGU1OTVkMjZmMmU0N2ViNGI3MDQxOTQuLjE0MDI2Yzcy
YTk0OGY3YmQ5ODY2NzkwMjc4MmM4ODM0ZjkxZmNmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQz
NzksOCArNDM3OSw4IEBACiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvVGV4dFZpZXdTb3VyY2VQ
YXJzZXIuaCcsCiAgICAgICAgICAgICAnaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3IuaCcsCi0gICAgICAgICAgICAnaHRtbC9z
aGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcCcsCi0gICAgICAgICAgICAnaHRtbC9zaGFk
b3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmgnLAorICAgICAgICAgICAgJ2h0bWwvc2hhZG93L1Bp
Y2tlckluZGljYXRvckVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL3NoYWRvdy9QaWNr
ZXJJbmRpY2F0b3JFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L0NvbnRlbnRE
aXN0cmlidXRvci5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmli
dXRvci5oJywKICAgICAgICAgICAgICdodG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKaW5kZXggNjU0N2NkNTU4Njc5
MDJiMjA4NmY1MDFlZjBhNGZjZjA2YzkxOTkyYS4uNmFhMDJkMjRkZjZiYWIyYWZlYTllZmE4ZjUy
N2ZiMDZiOGQ3ZTkzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRU
eXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCkBAIC0z
MSwxMyArMzEsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRlSW5wdXRU
eXBlLmgiCiAKLSNpbmNsdWRlICJDYWxlbmRhclBpY2tlckVsZW1lbnQuaCIKICNpbmNsdWRlICJE
YXRlQ29tcG9uZW50cy5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgogI2luY2x1ZGUgIktl
eWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJMb2NhbGl6ZXIuaCIKKyNpbmNsdWRlICJQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lmIEVO
QUJMRShJTlBVVF9UWVBFX0RBVEUpCkBAIC0xMDYsNyArMTA2LDcgQEAgYm9vbCBEYXRlSW5wdXRU
eXBlOjppc0RhdGVGaWVsZCgpIGNvbnN0CiB2b2lkIERhdGVJbnB1dFR5cGU6OmNyZWF0ZVNoYWRv
d1N1YnRyZWUoKQogewogICAgIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6Y3JlYXRlU2hhZG93
U3VidHJlZSgpOwotICAgIFJlZlB0cjxDYWxlbmRhclBpY2tlckVsZW1lbnQ+IHBpY2tlckVsZW1l
bnQgPSBDYWxlbmRhclBpY2tlckVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KCktPmRvY3VtZW50KCkp
OworICAgIFJlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50PiBwaWNrZXJFbGVtZW50ID0gUGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQoKS0+ZG9jdW1lbnQoKSk7CiAgICAg
bV9waWNrZXJFbGVtZW50ID0gcGlja2VyRWxlbWVudC5nZXQoKTsKICAgICBjb250YWluZXJFbGVt
ZW50KCktPmluc2VydEJlZm9yZShtX3BpY2tlckVsZW1lbnQsIGlubmVyQmxvY2tFbGVtZW50KCkt
Pm5leHRTaWJsaW5nKCksIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Rh
dGVJbnB1dFR5cGUuaAppbmRleCBkNDgwNDlkYWFmNjE1M2VmZGRmOTc1MDU2NzQ1ZWZiYzY5Yzg0
NGJkLi4zN2IzY2VjMDA2M2Y0MTdjYjk2ZGUyY2E1NWQyYTU5NzcxN2ZmNWZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVJbnB1dFR5cGUuaApAQCAtMzgsNyArMzgsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIENhbGVuZGFyUGlja2VyRWxlbWVudDsKK2NsYXNzIFBpY2tlckluZGlj
YXRvckVsZW1lbnQ7CiAKIGNsYXNzIERhdGVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgbmVlZHNDb250YWluZXIoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkSGF2ZVNwaW5CdXR0b24oKSBjb25zdCBPVkVSUklERTsKIAotICAgIENhbGVu
ZGFyUGlja2VyRWxlbWVudCogbV9waWNrZXJFbGVtZW50OworICAgIFBpY2tlckluZGljYXRvckVs
ZW1lbnQqIG1fcGlja2VyRWxlbWVudDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDEwMWI1ZGMzNGUxNzgyNzYzOGJmODZjZThiMjk1NDk4M2NkZTA1
NGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDE3NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNhbGVu
ZGFyUGlja2VyRWxlbWVudC5oIgotCi0jaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKLQotI2lu
Y2x1ZGUgIkNocm9tZS5oIgotI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgotI2luY2x1ZGUgIkV2
ZW50LmgiCi0jaW5jbHVkZSAiRnJhbWVWaWV3LmgiCi0jaW5jbHVkZSAiSFRNTERhdGFMaXN0RWxl
bWVudC5oIgotI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MT3B0
aW9uRWxlbWVudC5oIgotI2luY2x1ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJSZW5kZXJEZXRhaWxz
TWFya2VyLmgiCi0KLXVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotaW5saW5lIENhbGVuZGFy
UGlja2VyRWxlbWVudDo6Q2FsZW5kYXJQaWNrZXJFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkK
LSAgICA6IEhUTUxEaXZFbGVtZW50KGRpdlRhZywgZG9jdW1lbnQpCi0gICAgLCBtX2Nob29zZXIo
bnVsbHB0cikKLXsKLSAgICBzZXRTaGFkb3dQc2V1ZG9JZCgiLXdlYmtpdC1jYWxlbmRhci1waWNr
ZXItaW5kaWNhdG9yIik7Ci19Ci0KLVBhc3NSZWZQdHI8Q2FsZW5kYXJQaWNrZXJFbGVtZW50PiBD
YWxlbmRhclBpY2tlckVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBDYWxlbmRhclBpY2tlckVsZW1lbnQoZG9jdW1lbnQpKTsKLX0K
LQotQ2FsZW5kYXJQaWNrZXJFbGVtZW50Ojp+Q2FsZW5kYXJQaWNrZXJFbGVtZW50KCkKLXsKLSAg
ICBjbG9zZVBvcHVwKCk7Ci0gICAgQVNTRVJUKCFtX2Nob29zZXIpOwotfQotCi1SZW5kZXJPYmpl
Y3QqIENhbGVuZGFyUGlja2VyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFy
ZW5hLCBSZW5kZXJTdHlsZSopCi17Ci0gICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckRldGFp
bHNNYXJrZXIodGhpcyk7Ci19Ci0KLWlubGluZSBIVE1MSW5wdXRFbGVtZW50KiBDYWxlbmRhclBp
Y2tlckVsZW1lbnQ6Omhvc3RJbnB1dCgpCi17Ci0gICAgLy8gSmF2YVNjcmlwdCBjb2RlIGNhbid0
IGNyZWF0ZSBDYWxlbmRhclBpY2tlckVsZW1lbnQgb2JqZWN0cy4gVGhpcyBpcwotICAgIC8vIGFs
d2F5cyBpbiBzaGFkb3cgb2YgPGlucHV0Pi4KLSAgICBBU1NFUlQoc2hhZG93SG9zdCgpKTsKLSAg
ICBBU1NFUlQoc2hhZG93SG9zdCgpLT5oYXNUYWdOYW1lKGlucHV0VGFnKSk7Ci0gICAgcmV0dXJu
IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzaGFkb3dIb3N0KCkpOwotfQotCi12b2lk
IENhbGVuZGFyUGlja2VyRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQp
Ci17Ci0gICAgaWYgKCFyZW5kZXJlcigpKQotICAgICAgICByZXR1cm47Ci0gICAgSFRNTElucHV0
RWxlbWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKLSAgICBpZiAoaW5wdXQtPnJlYWRPbmx5KCkg
fHwgaW5wdXQtPmRpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB7Ci0gICAgICAgIG9wZW5Qb3B1cCgp
OwotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAgICB9Ci0KLSAgICBpZiAo
IWV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihldmVudCk7Ci19Ci0KLWJvb2wgQ2FsZW5kYXJQaWNrZXJFbGVtZW50Ojp3
aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCi17Ci0gICAgY29uc3QgSFRNTElucHV0RWxl
bWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKLSAgICBpZiAocmVuZGVyZXIoKSAmJiAhaW5wdXQt
PnJlYWRPbmx5KCkgJiYgIWlucHV0LT5kaXNhYmxlZCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LQotICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVu
dHMoKTsKLX0KLQotdm9pZCBDYWxlbmRhclBpY2tlckVsZW1lbnQ6OmRpZENob29zZVZhbHVlKGNv
bnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaG9zdElucHV0KCktPnNldFZhbHVlKHZhbHVlLCBE
aXNwYXRjaENoYW5nZUV2ZW50KTsKLX0KLQotdm9pZCBDYWxlbmRhclBpY2tlckVsZW1lbnQ6OmRp
ZEVuZENob29zZXIoKQotewotICAgIG1fY2hvb3Nlci5jbGVhcigpOwotfQotCi12b2lkIENhbGVu
ZGFyUGlja2VyRWxlbWVudDo6b3BlblBvcHVwKCkKLXsKLSAgICBpZiAobV9jaG9vc2VyKQotICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFkb2N1bWVudCgpLT5wYWdlKCkpCi0gICAgICAgIHJldHVy
bjsKLSAgICBDaHJvbWUqIGNocm9tZSA9IGRvY3VtZW50KCktPnBhZ2UoKS0+Y2hyb21lKCk7Ci0g
ICAgaWYgKCFjaHJvbWUpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIWRvY3VtZW50KCktPnZp
ZXcoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBo
b3N0SW5wdXQoKTsKLSAgICBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7Ci0g
ICAgcGFyYW1ldGVycy50eXBlID0gaW5wdXQtPnR5cGUoKTsKLSAgICBwYXJhbWV0ZXJzLm1pbmlt
dW0gPSBpbnB1dC0+bWluaW11bSgpOwotICAgIHBhcmFtZXRlcnMubWF4aW11bSA9IGlucHV0LT5t
YXhpbXVtKCk7Ci0gICAgcGFyYW1ldGVycy5yZXF1aXJlZCA9IGlucHV0LT5yZXF1aXJlZCgpOwot
ICAgIERlY2ltYWwgc3RlcDsKLSAgICBpZiAoaG9zdElucHV0KCktPmdldEFsbG93ZWRWYWx1ZVN0
ZXAoJnN0ZXApKQotICAgICAgICBwYXJhbWV0ZXJzLnN0ZXAgPSBzdGVwLnRvRG91YmxlKCk7Ci0g
ICAgZWxzZQotICAgICAgICBwYXJhbWV0ZXJzLnN0ZXAgPSAxLjA7Ci0gICAgcGFyYW1ldGVycy5h
bmNob3JSZWN0SW5Sb290VmlldyA9IGRvY3VtZW50KCktPnZpZXcoKS0+Y29udGVudHNUb1Jvb3RW
aWV3KGhvc3RJbnB1dCgpLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveCgpKTsKLSAgICBwYXJhbWV0
ZXJzLmN1cnJlbnRWYWx1ZSA9IGlucHV0LT52YWx1ZSgpOwotICAgIHBhcmFtZXRlcnMuaXNBbmNo
b3JFbGVtZW50UlRMID0gaW5wdXQtPmNvbXB1dGVkU3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRM
OwotICAgIGlmIChIVE1MRGF0YUxpc3RFbGVtZW50KiBkYXRhTGlzdCA9IGlucHV0LT5kYXRhTGlz
dCgpKSB7Ci0gICAgICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0
LT5vcHRpb25zKCk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IEhUTUxPcHRpb25FbGVt
ZW50KiBvcHRpb24gPSB0b0hUTUxPcHRpb25FbGVtZW50KG9wdGlvbnMtPml0ZW0oaSkpOyArK2kp
IHsKLSAgICAgICAgICAgIGlmICghaW5wdXQtPmlzVmFsaWRWYWx1ZShvcHRpb24tPnZhbHVlKCkp
KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcGFyYW1ldGVycy5zdWdn
ZXN0aW9uVmFsdWVzLmFwcGVuZChpbnB1dC0+c2FuaXRpemVWYWx1ZShvcHRpb24tPnZhbHVlKCkp
KTsKLSAgICAgICAgICAgIHBhcmFtZXRlcnMubG9jYWxpemVkU3VnZ2VzdGlvblZhbHVlcy5hcHBl
bmQoaW5wdXQtPmxvY2FsaXplVmFsdWUob3B0aW9uLT52YWx1ZSgpKSk7Ci0gICAgICAgICAgICBw
YXJhbWV0ZXJzLnN1Z2dlc3Rpb25MYWJlbHMuYXBwZW5kKG9wdGlvbi0+dmFsdWUoKSA9PSBvcHRp
b24tPmxhYmVsKCkgPyBTdHJpbmcoKSA6IG9wdGlvbi0+bGFiZWwoKSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgbV9jaG9vc2VyID0gY2hyb21lLT5jbGllbnQoKS0+b3BlbkRhdGVUaW1lQ2hvb3Nl
cih0aGlzLCBwYXJhbWV0ZXJzKTsKLX0KLQotdm9pZCBDYWxlbmRhclBpY2tlckVsZW1lbnQ6OmNs
b3NlUG9wdXAoKQotewotICAgIGlmICghbV9jaG9vc2VyKQotICAgICAgICByZXR1cm47Ci0gICAg
bV9jaG9vc2VyLT5lbmRDaG9vc2VyKCk7Ci19Ci0KLXZvaWQgQ2FsZW5kYXJQaWNrZXJFbGVtZW50
OjpkZXRhY2goKQotewotICAgIGNsb3NlUG9wdXAoKTsKLSAgICBIVE1MRGl2RWxlbWVudDo6ZGV0
YWNoKCk7Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9DYWxlbmRhclBpY2tlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmOTAzNDc4NjQ2MTUxYmQzYmEyZGFjY2ZmNDM5NjAwY2UwOWI3YWFhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpZm5kZWYgQ2FsZW5kYXJQaWNrZXJFbGVtZW50X2gKLSNkZWZpbmUgQ2FsZW5kYXJQaWNrZXJF
bGVtZW50X2gKLQotI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCi0KLSNpbmNsdWRlICJEYXRl
VGltZUNob29zZXIuaCIKLSNpbmNsdWRlICJEYXRlVGltZUNob29zZXJDbGllbnQuaCIKLSNpbmNs
dWRlICJIVE1MRGl2RWxlbWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBIVE1MSW5wdXRFbGVtZW50OwotY2xhc3MgUGFnZVBvcHVw
OwotCi1jbGFzcyBDYWxlbmRhclBpY2tlckVsZW1lbnQgOiBwdWJsaWMgSFRNTERpdkVsZW1lbnQs
IHB1YmxpYyBEYXRlVGltZUNob29zZXJDbGllbnQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhbGVuZGFyUGlja2VyRWxlbWVudD4gY3JlYXRlKERvY3VtZW50Kik7Ci0gICAgdmly
dHVhbCB+Q2FsZW5kYXJQaWNrZXJFbGVtZW50KCk7Ci0gICAgdm9pZCBvcGVuUG9wdXAoKTsKLSAg
ICB2b2lkIGNsb3NlUG9wdXAoKTsKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNl
Q2xpY2tFdmVudHMoKSBPVkVSUklERTsKLQotICAgIC8vIERhdGVUaW1lQ2hvb3NlckNsaWVudCBp
bXBsZW1lbnRhdGlvbi4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlVmFsdWUoY29uc3QgU3Ry
aW5nJikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEVuZENob29zZXIoKSBPVkVSUklE
RTsKLQotcHJpdmF0ZToKLSAgICBDYWxlbmRhclBpY2tlckVsZW1lbnQoRG9jdW1lbnQqKTsKLSAg
ICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5k
ZXJTdHlsZSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50KikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRldGFjaCgpIE9WRVJSSURFOwot
Ci0gICAgSFRNTElucHV0RWxlbWVudCogaG9zdElucHV0KCk7Ci0KLSAgICBPd25QdHI8RGF0ZVRp
bWVDaG9vc2VyPiBtX2Nob29zZXI7Ci19OwotCi19Ci0jZW5kaWYKLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9yRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9QaWNrZXJJbmRpY2F0b3JFbGVtZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iY2FkNWQ4Y2Y1ZjY4OWZiMmFiMTBlZjA3MTFhNDQ2YjRlYmQxN2MwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9y
RWxlbWVudC5jcHAKQEAgLTAsMCArMSwxNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUGlja2VySW5kaWNhdG9yRWxlbWVudC5oIgorCisjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tF
UikKKworI2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2lu
Y2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTERh
dGFMaXN0RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZW5k
ZXJEZXRhaWxzTWFya2VyLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworaW5saW5l
IFBpY2tlckluZGljYXRvckVsZW1lbnQ6OlBpY2tlckluZGljYXRvckVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50KQorICAgIDogSFRNTERpdkVsZW1lbnQoZGl2VGFnLCBkb2N1bWVudCkKKyAgICAs
IG1fY2hvb3NlcihudWxscHRyKQoreworICAgIHNldFNoYWRvd1BzZXVkb0lkKCItd2Via2l0LWNh
bGVuZGFyLXBpY2tlci1pbmRpY2F0b3IiKTsKK30KKworUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0
b3JFbGVtZW50PiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3Vt
ZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGlja2VySW5kaWNhdG9yRWxlbWVudChk
b2N1bWVudCkpOworfQorCitQaWNrZXJJbmRpY2F0b3JFbGVtZW50Ojp+UGlja2VySW5kaWNhdG9y
RWxlbWVudCgpCit7CisgICAgY2xvc2VQb3B1cCgpOworICAgIEFTU0VSVCghbV9jaG9vc2VyKTsK
K30KKworUmVuZGVyT2JqZWN0KiBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKK3sKKyAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyRGV0YWlsc01hcmtlcih0aGlzKTsKK30KKworaW5saW5lIEhUTUxJbnB1dEVs
ZW1lbnQqIFBpY2tlckluZGljYXRvckVsZW1lbnQ6Omhvc3RJbnB1dCgpCit7CisgICAgLy8gSmF2
YVNjcmlwdCBjb2RlIGNhbid0IGNyZWF0ZSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50IG9iamVjdHMu
IFRoaXMgaXMKKyAgICAvLyBhbHdheXMgaW4gc2hhZG93IG9mIDxpbnB1dD4uCisgICAgQVNTRVJU
KHNoYWRvd0hvc3QoKSk7CisgICAgQVNTRVJUKHNoYWRvd0hvc3QoKS0+aGFzVGFnTmFtZShpbnB1
dFRhZykpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93
SG9zdCgpKTsKK30KKwordm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVtZW50OjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOworICAgIGlm
IChpbnB1dC0+cmVhZE9ubHkoKSB8fCBpbnB1dC0+ZGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmNsaWNrRXZlbnQpIHsK
KyAgICAgICAgb3BlblBvcHVwKCk7CisgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgp
OworICAgIH0KKworICAgIGlmICghZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkpCisgICAgICAgIEhU
TUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKK30KKworYm9vbCBQaWNr
ZXJJbmRpY2F0b3JFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCit7Cisg
ICAgY29uc3QgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKKyAgICBpZiAo
cmVuZGVyZXIoKSAmJiAhaW5wdXQtPnJlYWRPbmx5KCkgJiYgIWlucHV0LT5kaXNhYmxlZCgpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBIVE1MRGl2RWxlbWVudDo6d2lsbFJl
c3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKTsKK30KKwordm9pZCBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50OjpkaWRDaG9vc2VWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgIGhvc3RJbnB1
dCgpLT5zZXRWYWx1ZSh2YWx1ZSwgRGlzcGF0Y2hDaGFuZ2VFdmVudCk7Cit9CisKK3ZvaWQgUGlj
a2VySW5kaWNhdG9yRWxlbWVudDo6ZGlkRW5kQ2hvb3NlcigpCit7CisgICAgbV9jaG9vc2VyLmNs
ZWFyKCk7Cit9CisKK3ZvaWQgUGlja2VySW5kaWNhdG9yRWxlbWVudDo6b3BlblBvcHVwKCkKK3sK
KyAgICBpZiAobV9jaG9vc2VyKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgp
LT5wYWdlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBDaHJvbWUqIGNocm9tZSA9IGRvY3VtZW50
KCktPnBhZ2UoKS0+Y2hyb21lKCk7CisgICAgaWYgKCFjaHJvbWUpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIWRvY3VtZW50KCktPnZpZXcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXQgPSBob3N0SW5wdXQoKTsKKyAgICBEYXRlVGltZUNob29zZXJQ
YXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy50eXBlID0gaW5wdXQtPnR5cGUo
KTsKKyAgICBwYXJhbWV0ZXJzLm1pbmltdW0gPSBpbnB1dC0+bWluaW11bSgpOworICAgIHBhcmFt
ZXRlcnMubWF4aW11bSA9IGlucHV0LT5tYXhpbXVtKCk7CisgICAgcGFyYW1ldGVycy5yZXF1aXJl
ZCA9IGlucHV0LT5yZXF1aXJlZCgpOworICAgIERlY2ltYWwgc3RlcDsKKyAgICBpZiAoaG9zdElu
cHV0KCktPmdldEFsbG93ZWRWYWx1ZVN0ZXAoJnN0ZXApKQorICAgICAgICBwYXJhbWV0ZXJzLnN0
ZXAgPSBzdGVwLnRvRG91YmxlKCk7CisgICAgZWxzZQorICAgICAgICBwYXJhbWV0ZXJzLnN0ZXAg
PSAxLjA7CisgICAgcGFyYW1ldGVycy5hbmNob3JSZWN0SW5Sb290VmlldyA9IGRvY3VtZW50KCkt
PnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGhvc3RJbnB1dCgpLT5waXhlbFNuYXBwZWRCb3Vu
ZGluZ0JveCgpKTsKKyAgICBwYXJhbWV0ZXJzLmN1cnJlbnRWYWx1ZSA9IGlucHV0LT52YWx1ZSgp
OworICAgIHBhcmFtZXRlcnMuaXNBbmNob3JFbGVtZW50UlRMID0gaW5wdXQtPmNvbXB1dGVkU3R5
bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMOworICAgIGlmIChIVE1MRGF0YUxpc3RFbGVtZW50KiBk
YXRhTGlzdCA9IGlucHV0LT5kYXRhTGlzdCgpKSB7CisgICAgICAgIFJlZlB0cjxIVE1MQ29sbGVj
dGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSB0b0hUTUxPcHRpb25FbGVtZW50
KG9wdGlvbnMtPml0ZW0oaSkpOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghaW5wdXQtPmlzVmFs
aWRWYWx1ZShvcHRpb24tPnZhbHVlKCkpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgcGFyYW1ldGVycy5zdWdnZXN0aW9uVmFsdWVzLmFwcGVuZChpbnB1dC0+c2FuaXRp
emVWYWx1ZShvcHRpb24tPnZhbHVlKCkpKTsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMubG9jYWxp
emVkU3VnZ2VzdGlvblZhbHVlcy5hcHBlbmQoaW5wdXQtPmxvY2FsaXplVmFsdWUob3B0aW9uLT52
YWx1ZSgpKSk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnN1Z2dlc3Rpb25MYWJlbHMuYXBwZW5k
KG9wdGlvbi0+dmFsdWUoKSA9PSBvcHRpb24tPmxhYmVsKCkgPyBTdHJpbmcoKSA6IG9wdGlvbi0+
bGFiZWwoKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgbV9jaG9vc2VyID0gY2hyb21lLT5jbGll
bnQoKS0+b3BlbkRhdGVUaW1lQ2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKK30KKwordm9pZCBQ
aWNrZXJJbmRpY2F0b3JFbGVtZW50OjpjbG9zZVBvcHVwKCkKK3sKKyAgICBpZiAoIW1fY2hvb3Nl
cikKKyAgICAgICAgcmV0dXJuOworICAgIG1fY2hvb3Nlci0+ZW5kQ2hvb3NlcigpOworfQorCit2
b2lkIFBpY2tlckluZGljYXRvckVsZW1lbnQ6OmRldGFjaCgpCit7CisgICAgY2xvc2VQb3B1cCgp
OworICAgIEhUTUxEaXZFbGVtZW50OjpkZXRhY2goKTsKK30KKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1BpY2tlckluZGljYXRvckVsZW1lbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZDg5MWMyMmFlNGY2Y2MwMmIzYjlkMjAyODgwN2YzYjM5MjM1MTYwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvUGlja2VySW5kaWNhdG9y
RWxlbWVudC5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBpY2tlckluZGljYXRvckVsZW1lbnRf
aAorI2RlZmluZSBQaWNrZXJJbmRpY2F0b3JFbGVtZW50X2gKKworI2lmIEVOQUJMRShDQUxFTkRB
Ul9QSUNLRVIpCisKKyNpbmNsdWRlICJEYXRlVGltZUNob29zZXIuaCIKKyNpbmNsdWRlICJEYXRl
VGltZUNob29zZXJDbGllbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MSW5w
dXRFbGVtZW50OworY2xhc3MgUGFnZVBvcHVwOworCitjbGFzcyBQaWNrZXJJbmRpY2F0b3JFbGVt
ZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50LCBwdWJsaWMgRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQaWNrZXJJbmRpY2F0b3JFbGVtZW50
PiBjcmVhdGUoRG9jdW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5QaWNrZXJJbmRpY2F0b3JFbGVtZW50
KCk7CisgICAgdm9pZCBvcGVuUG9wdXAoKTsKKyAgICB2b2lkIGNsb3NlUG9wdXAoKTsKKyAgICB2
aXJ0dWFsIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBPVkVSUklERTsKKwor
ICAgIC8vIERhdGVUaW1lQ2hvb3NlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hvb3NlVmFsdWUoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIGRpZEVuZENob29zZXIoKSBPVkVSUklERTsKKworcHJpdmF0ZToKKyAgICBQaWNrZXJJ
bmRpY2F0b3JFbGVtZW50KERvY3VtZW50Kik7CisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNy
ZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCBkZXRhY2goKSBPVkVSUklERTsKKworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGhv
c3RJbnB1dCgpOworCisgICAgT3duUHRyPERhdGVUaW1lQ2hvb3Nlcj4gbV9jaG9vc2VyOworfTsK
KworfQorI2VuZGlmCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>