<?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>96075</bug_id>
          
          <creation_ts>2012-09-07 00:00:26 -0700</creation_ts>
          <short_desc>[chromium] Remove dead CCActiveGestureAnimation code and related classes</short_desc>
          <delta_ts>2012-09-07 10:57:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>nduca</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714194</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-07 00:00:26 -0700</bug_when>
    <thetext>[chromium] Remove dead CCActiveGestureAnimation code and related classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714196</commentid>
    <comment_count>1</comment_count>
      <attachid>162687</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-07 00:05:03 -0700</bug_when>
    <thetext>Created attachment 162687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714197</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-07 00:06:02 -0700</bug_when>
    <thetext>Cleans up some cruft.  I&apos;m pretty sure this code has all been dead since landing.  I&apos;m not sure what the original plan is but gesture curve stuff doesn&apos;t belong in CC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714225</commentid>
    <comment_count>3</comment_count>
      <attachid>162687</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-09-07 00:45:35 -0700</bug_when>
    <thetext>Comment on attachment 162687
Patch

Omnomnomnom. Ship it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714589</commentid>
    <comment_count>4</comment_count>
      <attachid>162687</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-09-07 09:17:32 -0700</bug_when>
    <thetext>Comment on attachment 162687
Patch

R=me.  Looks great, if you can get it to pass ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714709</commentid>
    <comment_count>5</comment_count>
      <attachid>162810</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-07 10:37:48 -0700</bug_when>
    <thetext>Created attachment 162810
for ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714741</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-07 10:57:19 -0700</bug_when>
    <thetext>Committed r127891: &lt;http://trac.webkit.org/changeset/127891&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162687</attachid>
            <date>2012-09-07 00:05:03 -0700</date>
            <delta_ts>2012-09-07 10:37:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96075-20120907000446.patch</filename>
            <type>text/plain</type>
            <size>25016</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc1YTYzODgzNWJiZjVk
ODE0NzRhMjA4YTg2ZDgzMDkxODFjZWJhOS4uNDhiYzU3YzE4NTUxNzk3YjZlYzY5NzFkNTc4MjA1
NjRkMzFiYTk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTA3ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
ZW1vdmUgZGVhZCBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24gY29kZSBhbmQgcmVsYXRlZCBjbGFz
c2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBD
Q0dlc3R1cmVDdXJ2ZSAvIENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbiBjb2RlIGlzbid0IHVzZWQg
YW5kIG5ldmVyIGhhcyBiZWVuIHVzZWQuIEdlc3R1cmUgY3VydmVzIGFyZQorICAgICAgICBldmFs
dWF0ZWQgYnkgdGhlIENDSW5wdXRIYW5kbGVyQ2xpZW50IChXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbCksIENDIGl0c2VsZiBsb2dpY2FsbHkgZG9lc24ndCBrbm93IGFueXRoaW5nCisgICAg
ICAgIGFib3V0IGdlc3R1cmVzLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NB
Y3RpdmVHZXN0dXJlQW5pbWF0aW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NHZXN0dXJlQ3VydmUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6YW5pbWF0ZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oOgor
ICAgICAgICAoQ0NMYXllclRyZWVIb3N0SW1wbCk6CisKIDIwMTItMDktMDUgIE5hdGUgQ2hhcGlu
ICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFNvbWUgU3Vic3Rp
dHV0ZURhdGEgbG9hZHMgYnJva2VuIGFmdGVyIHIxMjE5MTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggZWMwZTMzNDI2OTU3NTA0OTZhNzBjMTA2ZTY0M2VhOWNjMDdjMzU3Yi4uNDMzMmVj
NmYxMjFjM2QyNDVmY2U4YjVkMzM4NGRjODgzOTE4ZTMyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0wNyAgSmFtZXMgUm9iaW5zb24gIDxqYW1l
c3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGRlYWQgQ0NBY3Rp
dmVHZXN0dXJlQW5pbWF0aW9uIGNvZGUgYW5kIHJlbGF0ZWQgY2xhc3NlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYwNzUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXRzIG91dCB1bm5lY2Vzc2FyeSBi
b2lsZXJwbGF0ZSBpbiBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZSBldmFsdWF0aW9uIGZvciBoYW5kbGlu
ZyBmbGluZ3MuIFdDSUhJIGNhbiBlYXNpbHkKKyAgICAgICAgZXZhbHVhdGUgdGhlIGN1cnZlIGl0
c2VsZiB3aXRob3V0IGludGVybWVkaWF0ZSBjbGFzc2VzLgorCisgICAgICAgICogc3JjL1dlYkNv
bXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGw6OmhhbmRsZUdlc3R1cmVGbGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjphbmltYXRlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmNhbmNlbEN1cnJlbnRGbGluZyk6
CisgICAgICAgICogc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKToKKyAg
ICAgICAgKiB0ZXN0cy9QbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRlc3QuY3BwOgorICAgICAgICAqIHRl
c3RzL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsVGVzdC5jcHA6CisKIDIwMTItMDktMDUg
IEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJv
bWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmMjEzNDljOWRk
NDI4YzY1Nzc2NzNhZDBkNjRhZmRmZTk1ZDViOTAzLi45YzBhMjdiNDEzMGU2ZGFhMjc1OGEyMzcx
YTk3MjUxMGQxZDA3ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04NDI5LDggKzg0MjksNiBAQAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1
bS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2
ZUFuaW1hdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDQWN0aXZlQW5pbWF0aW9uLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5jcHAnLAotICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5o
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FuaW1hdGlv
bkN1cnZlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NBbmltYXRpb25DdXJ2ZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0FuaW1hdGlvbkV2ZW50cy5oJywKQEAgLTg0NTUsNyArODQ1Myw2IEBACiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NGcmFtZVJhdGVDb250cm9s
bGVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJh
bWVSYXRlQ291bnRlci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDRnJhbWVSYXRlQ291bnRlci5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0dlc3R1cmVDdXJ2ZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dyYXBoaWNzQ29udGV4dC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5TGF5ZXJJbXBs
LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFk
c1VwRGlzcGxheUxheWVySW1wbC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1
cmVBbmltYXRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzZmOGU0NDY3
M2ZiZjNhMTI2MTdjYTgzNDM4NmZhMzBkNzEzNjY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
LSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpbmNs
dWRlICJDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaCIKLQotI2luY2x1ZGUgIkNDR2VzdHVyZUN1
cnZlLmgiCi0jaW5jbHVkZSAiVHJhY2VFdmVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVBhc3NPd25QdHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uPiBDQ0FjdGl2ZUdlc3R1cmVBbmlt
YXRpb246OmNyZWF0ZShQYXNzT3duUHRyPENDR2VzdHVyZUN1cnZlPiBjdXJ2ZSwgQ0NHZXN0dXJl
Q3VydmVUYXJnZXQqIHRhcmdldCkKLXsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IENDQWN0aXZl
R2VzdHVyZUFuaW1hdGlvbihjdXJ2ZSwgdGFyZ2V0KSk7Ci19Ci0KLUNDQWN0aXZlR2VzdHVyZUFu
aW1hdGlvbjo6Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uKFBhc3NPd25QdHI8Q0NHZXN0dXJlQ3Vy
dmU+IGN1cnZlLCBDQ0dlc3R1cmVDdXJ2ZVRhcmdldCogdGFyZ2V0KQotICAgIDogbV9zdGFydFRp
bWUoMCkKLSAgICAsIG1fd2FpdGluZ0ZvckZpcnN0VGljayh0cnVlKQotICAgICwgbV9nZXN0dXJl
Q3VydmUoY3VydmUpCi0gICAgLCBtX2dlc3R1cmVDdXJ2ZVRhcmdldCh0YXJnZXQpCi17Ci0gICAg
VFJBQ0VfRVZFTlRfQVNZTkNfQkVHSU4xKCJpbnB1dCIsICJHZXN0dXJlQW5pbWF0aW9uIiwgdGhp
cywgImN1cnZlIiwgbV9nZXN0dXJlQ3VydmUtPmRlYnVnTmFtZSgpKTsKLX0KLQotQ0NBY3RpdmVH
ZXN0dXJlQW5pbWF0aW9uOjp+Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uKCkKLXsKLSAgICBUUkFD
RV9FVkVOVF9BU1lOQ19FTkQwKCJpbnB1dCIsICJHZXN0dXJlQW5pbWF0aW9uIiwgdGhpcyk7Ci19
Ci0KLWJvb2wgQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uOjphbmltYXRlKGRvdWJsZSBtb25vdG9u
aWNUaW1lKQotewotICAgIGlmIChtX3dhaXRpbmdGb3JGaXJzdFRpY2spIHsKLSAgICAgICAgbV9z
dGFydFRpbWUgPSBtb25vdG9uaWNUaW1lOwotICAgICAgICBtX3dhaXRpbmdGb3JGaXJzdFRpY2sg
PSBmYWxzZTsKLSAgICB9Ci0KLSAgICAvLyBDQ0dlc3R1cmVDdXJ2ZXMgdXNlZCB6ZXJvLWJhc2Vk
IHRpbWUsIHNvIHN1YnRyYWN0IHN0YXJ0LXRpbWUuCi0gICAgcmV0dXJuIG1fZ2VzdHVyZUN1cnZl
LT5hcHBseShtb25vdG9uaWNUaW1lIC0gbV9zdGFydFRpbWUsIG1fZ2VzdHVyZUN1cnZlVGFyZ2V0
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2
ZUdlc3R1cmVBbmltYXRpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwZWQ0
MjRiMmQ1NTkzNmIwNzkzYmM2ZWYxMzFhYzBkNDBkZjE4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaAorKysgL2Rldi9udWxsCkBA
IC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ0NBY3RpdmVHZXN0dXJlQW5p
bWF0aW9uX2gKLSNkZWZpbmUgQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uX2gKLQotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENDR2VzdHVy
ZUN1cnZlOwotY2xhc3MgQ0NHZXN0dXJlQ3VydmVUYXJnZXQ7Ci0KLWNsYXNzIENDQWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbiB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NBY3RpdmVHZXN0dXJl
QW5pbWF0aW9uKTsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDQ0FjdGl2ZUdlc3R1
cmVBbmltYXRpb24+IGNyZWF0ZShQYXNzT3duUHRyPENDR2VzdHVyZUN1cnZlPiwgQ0NHZXN0dXJl
Q3VydmVUYXJnZXQqKTsKLSAgICB+Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uKCk7Ci0KLSAgICBi
b29sIGFuaW1hdGUoZG91YmxlIG1vbm90b25pY1RpbWUpOwotCi1wcml2YXRlOgotICAgIENDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbihQYXNzT3duUHRyPENDR2VzdHVyZUN1cnZlPiwgQ0NHZXN0dXJl
Q3VydmVUYXJnZXQqKTsKLQotICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKLSAgICBkb3VibGUgbV93
YWl0aW5nRm9yRmlyc3RUaWNrOwotICAgIE93blB0cjxDQ0dlc3R1cmVDdXJ2ZT4gbV9nZXN0dXJl
Q3VydmU7Ci0gICAgQ0NHZXN0dXJlQ3VydmVUYXJnZXQqIG1fZ2VzdHVyZUN1cnZlVGFyZ2V0Owot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDR2VzdHVyZUN1cnZlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dlc3R1cmVD
dXJ2ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDg5YTQ4ZjMwZTdlMjhiMzU1
ODBlNzIxOTk1ZTI3YjA2NGU5YmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDR2VzdHVyZUN1cnZlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIENDR2VzdHVyZUN1cnZlX2gKLSNkZWZpbmUgQ0NHZXN0dXJlQ3VydmVf
aAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEludFBvaW50OwotCi1jbGFzcyBDQ0dl
c3R1cmVDdXJ2ZVRhcmdldCB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q0NHZXN0dXJlQ3VydmVU
YXJnZXQoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBJbnRQb2ludCYp
ID0gMDsKLSAgICAvLyBGSVhNRTogYWRkIGludGVyZmFjZXMgZm9yIHNjcm9sbCgpLCBldGMuCi19
OwotCi1jbGFzcyBDQ0dlc3R1cmVDdXJ2ZSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q0NHZXN0
dXJlQ3VydmUoKSB7IH0KLQotICAgIHZpcnR1YWwgY29uc3QgY2hhciogZGVidWdOYW1lKCkgY29u
c3QgPSAwOwotCi0gICAgdmlydHVhbCBib29sIGFwcGx5KGRvdWJsZSBtb25vdG9uaWNUaW1lLCBD
Q0dlc3R1cmVDdXJ2ZVRhcmdldCopID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaAppbmRleCBkNGYzMzk0OGZiYWFjOTM2
NmMzNDczYmNlOGYwN2M0ZTcxY2ZlODQyLi4yNzIxZDExNmRhMGY4YTBlZTJlMjMwNTYxZGI3MzY5
ZTllOTkyYTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmgKQEAgLTI5LDggKzI5LDYgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb247
Ci1jbGFzcyBDQ0dlc3R1cmVDdXJ2ZVRhcmdldDsKIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50
U2l6ZTsKIApAQCAtNzUsOSArNzMsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvdWJsZSBzdGFydFRpbWUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBkdXJhdGlvbikgPSAwOwogCi0gICAgdmlydHVh
bCBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24qIGFjdGl2ZUdlc3R1cmVBbmltYXRpb24oKSA9IDA7
Ci0gICAgdmlydHVhbCB2b2lkIHNldEFjdGl2ZUdlc3R1cmVBbmltYXRpb24oUGFzc093blB0cjxD
Q0FjdGl2ZUdlc3R1cmVBbmltYXRpb24+KSA9IDA7Ci0KICAgICAvLyBSZXF1ZXN0IGFub3RoZXIg
Y2FsbGJhY2sgdG8gQ0NJbnB1dEhhbmRsZXI6OmFuaW1hdGUoKS4KICAgICB2aXJ0dWFsIHZvaWQg
c2NoZWR1bGVBbmltYXRpb24oKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0
SW1wbC5jcHAKaW5kZXggZDQ1NjdjYmU0MjI5NDhjOWM1MDIwMzIwOGJhZGM2NTVlZjRjM2M3MS4u
OTQzZjhmNjVmM2JkM2FmMGY0MzNlYjI2NDMzZjBlYmQ4MWZkOWVlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUg
IkNDTGF5ZXJUcmVlSG9zdEltcGwuaCIKIAotI2luY2x1ZGUgIkNDQWN0aXZlR2VzdHVyZUFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIkNDQXBwZW5kUXVhZHNEYXRhLmgiCiAjaW5jbHVkZSAiQ0NEYW1h
Z2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiQ0NEZWJ1Z1JlY3RIaXN0b3J5LmgiCkBAIC0yMDAsNyAr
MTk5LDYgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmltYXRlKGRvdWJsZSBtb25vdG9u
aWNUaW1lLCBkb3VibGUgd2FsbENsb2NrVGltZSkKIHsKICAgICBhbmltYXRlUGFnZVNjYWxlKG1v
bm90b25pY1RpbWUpOwogICAgIGFuaW1hdGVMYXllcnMobW9ub3RvbmljVGltZSwgd2FsbENsb2Nr
VGltZSk7Ci0gICAgYW5pbWF0ZUdlc3R1cmVzKG1vbm90b25pY1RpbWUpOwogICAgIGFuaW1hdGVT
Y3JvbGxiYXJzKG1vbm90b25pY1RpbWUpOwogfQogCkBAIC0yMjksMTQgKzIyNyw2IEBAIHZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6c3RhcnRQYWdlU2NhbGVBbmltYXRpb24oY29uc3QgSW50U2l6
ZSYgdGFyZ2V0UG9zaXRpb24sCiAgICAgbV9jbGllbnQtPnNldE5lZWRzQ29tbWl0T25JbXBsVGhy
ZWFkKCk7CiB9CiAKLXZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c2V0QWN0aXZlR2VzdHVyZUFu
aW1hdGlvbihQYXNzT3duUHRyPENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbj4gZ2VzdHVyZUFuaW1h
dGlvbikKLXsKLSAgICBtX2FjdGl2ZUdlc3R1cmVBbmltYXRpb24gPSBnZXN0dXJlQW5pbWF0aW9u
OwotCi0gICAgaWYgKG1fYWN0aXZlR2VzdHVyZUFuaW1hdGlvbikKLSAgICAgICAgbV9jbGllbnQt
PnNldE5lZWRzUmVkcmF3T25JbXBsVGhyZWFkKCk7Ci19Ci0KIHZvaWQgQ0NMYXllclRyZWVIb3N0
SW1wbDo6c2NoZWR1bGVBbmltYXRpb24oKQogewogICAgIG1fY2xpZW50LT5zZXROZWVkc1JlZHJh
d09uSW1wbFRocmVhZCgpOwpAQCAtMTI3MSwxOSArMTI2MSw2IEBAIHZvaWQgQ0NMYXllclRyZWVI
b3N0SW1wbDo6ZHVtcFJlbmRlclN1cmZhY2VzKFRleHRTdHJlYW0mIHRzLCBpbnQgaW5kZW50LCBj
b25zdCBDCiAgICAgICAgIGR1bXBSZW5kZXJTdXJmYWNlcyh0cywgaW5kZW50LCBsYXllci0+Y2hp
bGRyZW4oKVtpXS5nZXQoKSk7CiB9CiAKLQotdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjphbmlt
YXRlR2VzdHVyZXMoZG91YmxlIG1vbm90b25pY1RpbWUpCi17Ci0gICAgaWYgKCFtX2FjdGl2ZUdl
c3R1cmVBbmltYXRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIGJvb2wgaXNDb250aW51aW5n
ID0gbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9uLT5hbmltYXRlKG1vbm90b25pY1RpbWUpOwotICAg
IGlmIChpc0NvbnRpbnVpbmcpCi0gICAgICAgIG1fY2xpZW50LT5zZXROZWVkc1JlZHJhd09uSW1w
bFRocmVhZCgpOwotICAgIGVsc2UKLSAgICAgICAgbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmNs
ZWFyKCk7Ci19Ci0KIGludCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpzb3VyY2VBbmltYXRpb25GcmFt
ZU51bWJlcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZwc0NvdW50ZXIoKS0+Y3VycmVudEZyYW1l
TnVtYmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggNjkxOWE1
MWUzZmQ0Y2JiNzY3ZWM0YWZlN2M0YTMyZGIzZjhkYTZmNS4uODBlMDAzMTk4OWQxNjFiMWMzZjRl
NTM0OTI3MGU4YzYwNTZkZGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
aApAQCAtMzgsNyArMzgsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbjsKIGNsYXNzIENDQ29tcGxldGlvbkV2ZW50OwogY2xhc3MgQ0NE
ZWJ1Z1JlY3RIaXN0b3J5OwogY2xhc3MgQ0NGcmFtZVJhdGVDb3VudGVyOwpAQCAtODIsOSArODEs
NiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBpbmNoR2VzdHVyZVVwZGF0ZShmbG9hdCwg
Y29uc3QgSW50UG9pbnQmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcGluY2hHZXN0dXJl
RW5kKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0UGFnZVNjYWxlQW5pbWF0aW9u
KGNvbnN0IEludFNpemUmIHRhcmdldFBvc2l0aW9uLCBib29sIGFuY2hvclBvaW50LCBmbG9hdCBw
YWdlU2NhbGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24qIGFjdGl2ZUdlc3R1cmVBbmltYXRp
b24oKSBPVkVSUklERSB7IHJldHVybiBtX2FjdGl2ZUdlc3R1cmVBbmltYXRpb24uZ2V0KCk7IH0K
LSAgICAvLyBUbyBjbGVhciBhbiBhY3RpdmUgYW5pbWF0aW9uLCBwYXNzIG51bGxwdHIuCi0gICAg
dmlydHVhbCB2b2lkIHNldEFjdGl2ZUdlc3R1cmVBbmltYXRpb24oUGFzc093blB0cjxDQ0FjdGl2
ZUdlc3R1cmVBbmltYXRpb24+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVB
bmltYXRpb24oKSBPVkVSUklERTsKIAogICAgIHN0cnVjdCBGcmFtZURhdGEgOiBwdWJsaWMgQ0NS
ZW5kZXJQYXNzU2luayB7CkBAIC0yMjgsNyArMjI0LDYgQEAgcHJvdGVjdGVkOgogICAgIENDTGF5
ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NMYXllclRyZWVTZXR0aW5ncyYsIENDTGF5ZXJUcmVlSG9z
dEltcGxDbGllbnQqKTsKIAogICAgIHZvaWQgYW5pbWF0ZVBhZ2VTY2FsZShkb3VibGUgbW9ub3Rv
bmljVGltZSk7Ci0gICAgdm9pZCBhbmltYXRlR2VzdHVyZXMoZG91YmxlIG1vbm90b25pY1RpbWUp
OwogICAgIHZvaWQgYW5pbWF0ZVNjcm9sbGJhcnMoZG91YmxlIG1vbm90b25pY1RpbWUpOwogCiAg
ICAgLy8gRXhwb3NlZCBmb3IgdGVzdGluZy4KQEAgLTMwMCw3ICsyOTUsNiBAQCBwcml2YXRlOgog
ICAgIEludFBvaW50IG1fcHJldmlvdXNQaW5jaEFuY2hvcjsKIAogICAgIE93blB0cjxDQ1BhZ2VT
Y2FsZUFuaW1hdGlvbj4gbV9wYWdlU2NhbGVBbmltYXRpb247Ci0gICAgT3duUHRyPENDQWN0aXZl
R2VzdHVyZUFuaW1hdGlvbj4gbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9uOwogCiAgICAgLy8gVGhp
cyBpcyB1c2VkIGZvciB0aWNraW5nIGFuaW1hdGlvbnMgc2xvd2x5IHdoZW4gaGlkZGVuLgogICAg
IE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXI+IG1fdGltZVNvdXJj
ZUNsaWVudEFkYXB0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAKaW5kZXggMWU1MDM4NTUwYjAx
NzkzNWMwZmRkMjNiZTM1NDlmMmFhMmExNzRkOC4uZjQ2NWIyYjk2ZDM4NzZmMzljZmI1NmI3OTFi
ZmRjZmQ2N2I3OThhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmNwcApAQCAtMjcsOSArMjcsNyBA
QAogCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaCIKIAotI2luY2x1
ZGUgIkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIkNDUHJveHkuaCIKLSNp
bmNsdWRlICJQbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRhcmdldC5oIgogI2luY2x1ZGUgIlRvdWNocGFk
RmxpbmdQbGF0Zm9ybUdlc3R1cmVDdXJ2ZS5oIgogI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKICNp
bmNsdWRlICJXZWJDb21wb3NpdG9ySW1wbC5oIgpAQCAtNDYsNDIgKzQ0LDYgQEAgUGFzc093blB0
cjxDQ0lucHV0SGFuZGxlcj4gQ0NJbnB1dEhhbmRsZXI6OmNyZWF0ZShDQ0lucHV0SGFuZGxlckNs
aWVudCogaW5wdXRIYW4KICAgICByZXR1cm4gV2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbDo6Y3JlYXRlKGlucHV0SGFuZGxlckNsaWVudCk7CiB9CiAKLWNsYXNzIFBsYXRmb3Jt
R2VzdHVyZVRvQ0NHZXN0dXJlQWRhcHRlciA6IHB1YmxpYyBDQ0dlc3R1cmVDdXJ2ZSwgcHVibGlj
IFBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093
blB0cjxDQ0dlc3R1cmVDdXJ2ZT4gY3JlYXRlKFBhc3NPd25QdHI8UGxhdGZvcm1HZXN0dXJlQ3Vy
dmU+IHBsYXRmb3JtQ3VydmUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBs
YXRmb3JtR2VzdHVyZVRvQ0NHZXN0dXJlQWRhcHRlcihwbGF0Zm9ybUN1cnZlKSk7Ci0gICAgfQot
Ci0gICAgdmlydHVhbCBjb25zdCBjaGFyKiBkZWJ1Z05hbWUoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fY3VydmUtPmRlYnVnTmFtZSgpOwotICAgIH0KLQotICAgIHZpcnR1YWwgYm9v
bCBhcHBseShkb3VibGUgdGltZSwgQ0NHZXN0dXJlQ3VydmVUYXJnZXQqIHRhcmdldCkKLSAgICB7
Ci0gICAgICAgIEFTU0VSVCh0YXJnZXQpOwotICAgICAgICBtX3RhcmdldCA9IHRhcmdldDsKLSAg
ICAgICAgcmV0dXJuIG1fY3VydmUtPmFwcGx5KHRpbWUsIHRoaXMpOwotICAgIH0KLQotICAgIHZp
cnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBJbnRQb2ludCYgc2Nyb2xsRGVsdGEpCi0gICAgewot
ICAgICAgICBBU1NFUlQobV90YXJnZXQpOwotICAgICAgICBtX3RhcmdldC0+c2Nyb2xsQnkoc2Ny
b2xsRGVsdGEpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBQbGF0Zm9ybUdlc3R1cmVUb0NDR2Vz
dHVyZUFkYXB0ZXIoUGFzc093blB0cjxQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gY3VydmUpCi0gICAg
ICAgIDogbV9jdXJ2ZShjdXJ2ZSkKLSAgICAgICAgLCBtX3RhcmdldCgwKQotICAgIHsKLSAgICB9
Ci0KLSAgICBPd25QdHI8UGxhdGZvcm1HZXN0dXJlQ3VydmU+IG1fY3VydmU7Ci0gICAgQ0NHZXN0
dXJlQ3VydmVUYXJnZXQqIG1fdGFyZ2V0OwotfTsKLQogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
QEAgLTI2Nyw5ICsyMjksOCBAQCBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6RXZlbnRE
aXNwb3NpdGlvbiBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aAogICAgIENDSW5wdXRI
YW5kbGVyQ2xpZW50OjpTY3JvbGxTdGF0dXMgc2Nyb2xsU3RhdHVzID0gbV9pbnB1dEhhbmRsZXJD
bGllbnQtPnNjcm9sbEJlZ2luKEludFBvaW50KGdlc3R1cmVFdmVudC54LCBnZXN0dXJlRXZlbnQu
eSksIENDSW5wdXRIYW5kbGVyQ2xpZW50OjpHZXN0dXJlKTsKICAgICBzd2l0Y2ggKHNjcm9sbFN0
YXR1cykgewogICAgIGNhc2UgQ0NJbnB1dEhhbmRsZXJDbGllbnQ6OlNjcm9sbFN0YXJ0ZWQ6IHsK
LSAgICAgICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDAoImNjIiwgIldlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsOjpoYW5kbGVHZXN0dXJlRmxpbmc6OnN0YXJ0ZWQiKTsKLSAgICAgICAgT3duUHRy
PFBsYXRmb3JtR2VzdHVyZUN1cnZlPiBmbGluZ0N1cnZlID0gVG91Y2hwYWRGbGluZ1BsYXRmb3Jt
R2VzdHVyZUN1cnZlOjpjcmVhdGUoRmxvYXRQb2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0
YXJ0LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpKTsK
LSAgICAgICAgbV93aGVlbEZsaW5nQW5pbWF0aW9uID0gQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9u
OjpjcmVhdGUoUGxhdGZvcm1HZXN0dXJlVG9DQ0dlc3R1cmVBZGFwdGVyOjpjcmVhdGUoZmxpbmdD
dXJ2ZS5yZWxlYXNlKCkpLCB0aGlzKTsKKyAgICAgICAgbV93aGVlbEZsaW5nQ3VydmUgPSBUb3Vj
aHBhZEZsaW5nUGxhdGZvcm1HZXN0dXJlQ3VydmU6OmNyZWF0ZShGbG9hdFBvaW50KGdlc3R1cmVF
dmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0
YXJ0LnZlbG9jaXR5WSkpOworICAgICAgICBUUkFDRV9FVkVOVF9BU1lOQ19CRUdJTjEoImNjIiwg
IldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpoYW5kbGVHZXN0dXJlRmxpbmc6OnN0YXJ0
ZWQiLCB0aGlzLCAiY3VydmUiLCBtX3doZWVsRmxpbmdDdXJ2ZS0+ZGVidWdOYW1lKCkpOwogICAg
ICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmRlbHRhID0gV2ViRmxvYXRQb2ludChnZXN0dXJl
RXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2VzdHVyZUV2ZW50LmRhdGEuZmxpbmdT
dGFydC52ZWxvY2l0eVkpOwogICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnBvaW50ID0g
V2ViUG9pbnQoZ2VzdHVyZUV2ZW50LngsIGdlc3R1cmVFdmVudC55KTsKICAgICAgICAgbV93aGVl
bEZsaW5nUGFyYW1ldGVycy5nbG9iYWxQb2ludCA9IFdlYlBvaW50KGdlc3R1cmVFdmVudC5nbG9i
YWxYLCBnZXN0dXJlRXZlbnQuZ2xvYmFsWSk7CkBAIC0yOTksMTMgKzI2MCwxNiBAQCBpbnQgV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmlkZW50aWZpZXIoKSBjb25zdAogCiB2b2lkIFdl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjphbmltYXRlKGRvdWJsZSBtb25vdG9uaWNUaW1l
KQogewotICAgIGlmICghbV93aGVlbEZsaW5nQW5pbWF0aW9uKQorICAgIGlmICghbV93aGVlbEZs
aW5nQ3VydmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV93aGVlbEZsaW5nUGFyYW1l
dGVycy5zdGFydFRpbWUpCisgICAgaWYgKCFtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnN0YXJ0VGlt
ZSkgewogICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnN0YXJ0VGltZSA9IG1vbm90b25p
Y1RpbWU7CisgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY2hlZHVsZUFuaW1hdGlvbigp
OworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKG1fd2hlZWxGbGluZ0FuaW1hdGlv
bi0+YW5pbWF0ZShtb25vdG9uaWNUaW1lKSkKKyAgICBpZiAobV93aGVlbEZsaW5nQ3VydmUtPmFw
cGx5KG1vbm90b25pY1RpbWUgLSBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLnN0YXJ0VGltZSwgdGhp
cykpCiAgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY2hlZHVsZUFuaW1hdGlvbigpOwog
ICAgIGVsc2UgewogICAgICAgICBUUkFDRV9FVkVOVF9JTlNUQU5UMCgiY2MiLCAiV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGw6OmFuaW1hdGU6OmZsaW5nT3ZlciIpOwpAQCAtMzE1LDkgKzI3
OSwxMiBAQCB2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjphbmltYXRlKGRvdWJs
ZSBtb25vdG9uaWNUaW1lKQogCiBib29sIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpj
YW5jZWxDdXJyZW50RmxpbmcoKQogewotICAgIGJvb2wgaGFkRmxpbmdBbmltYXRpb24gPSBtX3do
ZWVsRmxpbmdBbmltYXRpb247CisgICAgYm9vbCBoYWRGbGluZ0FuaW1hdGlvbiA9IG1fd2hlZWxG
bGluZ0N1cnZlOworICAgIGlmIChoYWRGbGluZ0FuaW1hdGlvbikKKyAgICAgICAgVFJBQ0VfRVZF
TlRfQVNZTkNfRU5EMCgiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmhhbmRs
ZUdlc3R1cmVGbGluZzo6c3RhcnRlZCIsIHRoaXMpOworCiAgICAgVFJBQ0VfRVZFTlRfSU5TVEFO
VDEoImNjIiwgIldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpjYW5jZWxDdXJyZW50Rmxp
bmciLCAiaGFkRmxpbmdBbmltYXRpb24iLCBoYWRGbGluZ0FuaW1hdGlvbik7Ci0gICAgbV93aGVl
bEZsaW5nQW5pbWF0aW9uLmNsZWFyKCk7CisgICAgbV93aGVlbEZsaW5nQ3VydmUuY2xlYXIoKTsK
ICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzID0gV2ViQWN0aXZlV2hlZWxGbGluZ1BhcmFtZXRl
cnMoKTsKICAgICByZXR1cm4gaGFkRmxpbmdBbmltYXRpb247CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwu
aAppbmRleCA5NDc0YjIxOTM3NmVmNTJjNzFkMTkwOGVkM2YzOTNhYTA4NDJiNWUyLi5iMGRhMDBi
M2ZhMmQ4YjVhODkzM2U0ZjQyYTQ0NGE3YjhkMjI5NmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmgK
QEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGxf
aAogI2RlZmluZSBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbF9oCiAKLSNpbmNsdWRlICJD
Q0dlc3R1cmVDdXJ2ZS5oIgogI2luY2x1ZGUgIkNDSW5wdXRIYW5kbGVyLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNpbmNsdWRlICJXZWJBY3RpdmVXaGVlbEZs
aW5nUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIuaCIK
ICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCkBAIC00MSwxNyArNDEsMTYgQEAgY2xhc3MgTXV0
ZXg7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEludFBvaW50OwotY2xhc3MgQ0NH
ZXN0dXJlQ3VydmVUYXJnZXQ7CiBjbGFzcyBDQ0lucHV0SGFuZGxlckNsaWVudDsKLWNsYXNzIEND
VGhyZWFkOworY2xhc3MgSW50UG9pbnQ7CitjbGFzcyBQbGF0Zm9ybUdlc3R1cmVDdXJ2ZTsKIH0K
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJD
bGllbnQ7CiAKLWNsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsIDogcHVibGljIFdl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIsIHB1YmxpYyBXZWJDb3JlOjpDQ0lucHV0SGFuZGxlciwg
cHVibGljIFdlYkNvcmU6OkNDR2VzdHVyZUN1cnZlVGFyZ2V0IHsKK2NsYXNzIFdlYkNvbXBvc2l0
b3JJbnB1dEhhbmRsZXJJbXBsIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIsIHB1
YmxpYyBXZWJDb3JlOjpDQ0lucHV0SGFuZGxlciwgcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtR2Vz
dHVyZUN1cnZlVGFyZ2V0IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckltcGw+IGNyZWF0ZShXZWJDb3JlOjpDQ0lucHV0SGFuZGxlckNs
aWVudCopOwpAQCAtNjcsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgaWRlbnRp
ZmllcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlKGRvdWJsZSBtb25vdG9uaWNU
aW1lKTsKIAotICAgIC8vIFdlYkNvcmU6OkNDR2VzdHVyZUN1cnZlVGFyZ2V0IGltcGxlbWVudGF0
aW9uLgorICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0IGltcGxlbWVu
dGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYpOwogCiBwcml2YXRlOgpAQCAtODMsNyArODIsNyBAQCBwcml2YXRlOgogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiB3ZSBhY3R1YWxseSBoYWQgYW4gYWN0aXZlIGZsaW5nIHRvIGNhbmNlbC4KICAg
ICBib29sIGNhbmNlbEN1cnJlbnRGbGluZygpOwogCi0gICAgT3duUHRyPFdlYkNvcmU6OkNDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbj4gbV93aGVlbEZsaW5nQW5pbWF0aW9uOworICAgIE93blB0cjxX
ZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gbV93aGVlbEZsaW5nQ3VydmU7CiAgICAgLy8g
UGFyYW1ldGVycyBmb3IgdGhlIGFjdGl2ZSBmbGluZyBhbmltYXRpb24sIHN0b3JlZCBpbiBjYXNl
IHdlIG5lZWQgdG8gdHJhbnNmZXIgaXQgb3V0IGxhdGVyLgogICAgIFdlYkFjdGl2ZVdoZWVsRmxp
bmdQYXJhbWV0ZXJzIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUGxhdGZvcm1HZXN0dXJlQ3VydmVUZXN0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUGxhdGZvcm1HZXN0dXJlQ3VydmVUZXN0LmNwcApp
bmRleCA0ZjBhMjI3NmY4MTZmYzFlMWM3YjkwMDU0NmJkZjk2YTEzYzhjNTkwLi44YzMzMWM4ODhk
ODI4YjQ4OGE4N2VmZDFiNGY1MzZhYTIzNzU5NjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL1BsYXRmb3JtR2VzdHVyZUN1cnZlVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9QbGF0Zm9ybUdlc3R1cmVDdXJ2ZVRlc3QuY3BwCkBAIC0y
OCw4ICsyOCw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmUuaCIKIAogI2luY2x1
ZGUgIkFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbi5oIgotI2luY2x1ZGUgIkNDQWN0aXZl
R2VzdHVyZUFuaW1hdGlvbi5oIgotI2luY2x1ZGUgIkNDR2VzdHVyZUN1cnZlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNpbmNsdWRlICJUb3VjaHBhZEZsaW5n
UGxhdGZvcm1HZXN0dXJlQ3VydmUuaCIKICNpbmNsdWRlICJXaGVlbEZsaW5nUGxhdGZvcm1HZXN0
dXJlQ3VydmUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGxUZXN0LmNwcAppbmRleCA4MmUz
YjU0NmE1Mzc3M2ZjNjBjMWYzMmM1ZWVhOWFiZTUwNDRlYWE4Li4zNzEzMmY4MWJmMjRmZGY0NGU1
MTRhM2ZlZjc2N2NlMmQ0NmI3YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbFRlc3Qu
Y3BwCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNsdWRlICJXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbC5oIgogCi0jaW5jbHVkZSAiQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmgiCiAjaW5j
bHVkZSAiQ0NJbnB1dEhhbmRsZXIuaCIKICNpbmNsdWRlICJDQ1NpbmdsZVRocmVhZFByb3h5Lmgi
CiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudC5oIgpAQCAtNjksOSAr
NjgsNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbG9hdCBwYWdlU2NhbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSBzdGFydFRpbWVNcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZG91YmxlIGR1cmF0aW9uTXMpIE9WRVJSSURFIHsgfQotCi0gICAgdmlydHVhbCBX
ZWJDb3JlOjpDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24qIGFjdGl2ZUdlc3R1cmVBbmltYXRpb24o
KSBPVkVSUklERSB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldEFjdGl2ZUdlc3R1
cmVBbmltYXRpb24oUGFzc093blB0cjxXZWJDb3JlOjpDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24+
KSBPVkVSUklERSB7IH0KIH07CiAKIGNsYXNzIE1vY2tXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVy
Q2xpZW50IDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJDbGllbnQgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162810</attachid>
            <date>2012-09-07 10:37:48 -0700</date>
            <delta_ts>2012-09-07 10:37:48 -0700</delta_ts>
            <desc>for ews</desc>
            <filename>bug-96075-20120907103731.patch</filename>
            <type>text/plain</type>
            <size>25087</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjcxZDdjYjE3MTU5OTdj
NmNiOTRkNjFhODBhNjI0NjUxZTZhOWJjZC4uMWI3NTc2OTI4N2IzMWMxZGVkMmRlMTUwZTJjNDZk
ODg2NGUyMTE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTA3ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBS
ZW1vdmUgZGVhZCBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24gY29kZSBhbmQgcmVsYXRlZCBjbGFz
c2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtlci4KKworICAgICAgICBUaGUg
Q0NHZXN0dXJlQ3VydmUgLyBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24gY29kZSBpc24ndCB1c2Vk
IGFuZCBuZXZlciBoYXMgYmVlbiB1c2VkLiBHZXN0dXJlIGN1cnZlcyBhcmUKKyAgICAgICAgZXZh
bHVhdGVkIGJ5IHRoZSBDQ0lucHV0SGFuZGxlckNsaWVudCAoV2ViQ29tcG9zaXRvcklucHV0SGFu
ZGxlckltcGwpLCBDQyBpdHNlbGYgbG9naWNhbGx5IGRvZXNuJ3Qga25vdyBhbnl0aGluZworICAg
ICAgICBhYm91dCBnZXN0dXJlcy4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24u
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
QWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDR2VzdHVyZUN1cnZlLmg6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OmFuaW1hdGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaDoK
KyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdEltcGwpOgorCiAyMDEyLTA5LTA3ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBkYXRlIGJpbmRpbmdzIHJlc3VsdHMg
YWZ0ZXIgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDM5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDc0OTZlZTkwNTgwNDJjNWNjMDlhOTdjMzYwMGM1OGZl
NTM5MDFmMzYuLmIxNGQ3YjZmZTQ5MGFiYjhkNjI1OTY1OWRiMTE4ZmQwMTFlYzY3ZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDktMDcgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIFJl
bW92ZSBkZWFkIENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbiBjb2RlIGFuZCByZWxhdGVkIGNsYXNz
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDc1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWVubmUgV2Fsa2VyLgorCisgICAgICAgIEN1dHMg
b3V0IHVubmVjZXNzYXJ5IGJvaWxlcnBsYXRlIGluIFBsYXRmb3JtR2VzdHVyZUN1cnZlIGV2YWx1
YXRpb24gZm9yIGhhbmRsaW5nIGZsaW5ncy4gV0NJSEkgY2FuIGVhc2lseQorICAgICAgICBldmFs
dWF0ZSB0aGUgY3VydmUgaXRzZWxmIHdpdGhvdXQgaW50ZXJtZWRpYXRlIGNsYXNzZXMuCisKKyAg
ICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2VzdHVyZUZsaW5n
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmFuaW1h
dGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6Y2Fu
Y2VsQ3VycmVudEZsaW5nKToKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxl
ckltcGwuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGwpOgorICAgICAgICAqIHRlc3RzL1BsYXRmb3JtR2VzdHVyZUN1cnZlVGVzdC5j
cHA6CisgICAgICAgICogdGVzdHMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGxUZXN0LmNw
cDoKKwogMjAxMi0wOS0wNyAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBBWDogQVJJQSBzcGluIGJ1dHRvbiBzaG91bGQgc3VwcG9ydCByYW5nZSB2YWx1
ZSBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzM1OWRmODIyZjBiZDNjYTlhZDRjNWE0
ODI0M2E3M2JiMzQ5MTQyZC4uZTBhZWVhYjZiNmFjM2ZjYmYwZWVmNzE3OTEzZTNlNzRjYmZiODI3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtODQzOCw4ICs4NDM4LDYgQEAKICAgICAgICAgICAgICdw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBY3RpdmVBbmltYXRpb24uY3Bw
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUFu
aW1hdGlvbi5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uY3BwJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBbmltYXRpb25DdXJ2ZS5jcHAnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDQW5pbWF0aW9uQ3Vy
dmUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBbmlt
YXRpb25FdmVudHMuaCcsCkBAIC04NDY0LDcgKzg0NjIsNiBAQAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRnJhbWVSYXRlQ29udHJvbGxlci5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1lUmF0ZUNvdW50ZXIu
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0ZyYW1l
UmF0ZUNvdW50ZXIuaCcsCi0gICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NHZXN0dXJlQ3VydmUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NHcmFwaGljc0NvbnRleHQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFkc1VwRGlzcGxheUxheWVySW1wbC5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSGVhZHNVcERpc3BsYXlMYXll
ckltcGwuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M2ZjhlNDQ2NzNmYmYzYTEyNjE3Y2E4
MzQzODZmYTMwZDcxMzY2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Fj
dGl2ZUdlc3R1cmVBbmltYXRpb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwot
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiQ0NBY3RpdmVH
ZXN0dXJlQW5pbWF0aW9uLmgiCi0KLSNpbmNsdWRlICJDQ0dlc3R1cmVDdXJ2ZS5oIgotI2luY2x1
ZGUgIlRyYWNlRXZlbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzT3duUHRyPEND
QWN0aXZlR2VzdHVyZUFuaW1hdGlvbj4gQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uOjpjcmVhdGUo
UGFzc093blB0cjxDQ0dlc3R1cmVDdXJ2ZT4gY3VydmUsIENDR2VzdHVyZUN1cnZlVGFyZ2V0KiB0
YXJnZXQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRp
b24oY3VydmUsIHRhcmdldCkpOwotfQotCi1DQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb246OkNDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbihQYXNzT3duUHRyPENDR2VzdHVyZUN1cnZlPiBjdXJ2ZSwgQ0NH
ZXN0dXJlQ3VydmVUYXJnZXQqIHRhcmdldCkKLSAgICA6IG1fc3RhcnRUaW1lKDApCi0gICAgLCBt
X3dhaXRpbmdGb3JGaXJzdFRpY2sodHJ1ZSkKLSAgICAsIG1fZ2VzdHVyZUN1cnZlKGN1cnZlKQot
ICAgICwgbV9nZXN0dXJlQ3VydmVUYXJnZXQodGFyZ2V0KQotewotICAgIFRSQUNFX0VWRU5UX0FT
WU5DX0JFR0lOMSgiaW5wdXQiLCAiR2VzdHVyZUFuaW1hdGlvbiIsIHRoaXMsICJjdXJ2ZSIsIG1f
Z2VzdHVyZUN1cnZlLT5kZWJ1Z05hbWUoKSk7Ci19Ci0KLUNDQWN0aXZlR2VzdHVyZUFuaW1hdGlv
bjo6fkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbigpCi17Ci0gICAgVFJBQ0VfRVZFTlRfQVNZTkNf
RU5EMCgiaW5wdXQiLCAiR2VzdHVyZUFuaW1hdGlvbiIsIHRoaXMpOwotfQotCi1ib29sIENDQWN0
aXZlR2VzdHVyZUFuaW1hdGlvbjo6YW5pbWF0ZShkb3VibGUgbW9ub3RvbmljVGltZSkKLXsKLSAg
ICBpZiAobV93YWl0aW5nRm9yRmlyc3RUaWNrKSB7Ci0gICAgICAgIG1fc3RhcnRUaW1lID0gbW9u
b3RvbmljVGltZTsKLSAgICAgICAgbV93YWl0aW5nRm9yRmlyc3RUaWNrID0gZmFsc2U7Ci0gICAg
fQotCi0gICAgLy8gQ0NHZXN0dXJlQ3VydmVzIHVzZWQgemVyby1iYXNlZCB0aW1lLCBzbyBzdWJ0
cmFjdCBzdGFydC10aW1lLgotICAgIHJldHVybiBtX2dlc3R1cmVDdXJ2ZS0+YXBwbHkobW9ub3Rv
bmljVGltZSAtIG1fc3RhcnRUaW1lLCBtX2dlc3R1cmVDdXJ2ZVRhcmdldCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NBY3RpdmVHZXN0dXJlQW5pbWF0
aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMGVkNDI0YjJkNTU5MzZiMDc5
M2JjNmVmMTMxYWMwZDQwZGYxODMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
Ci0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbl9oCi0jZGVm
aW5lIENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbl9oCi0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBDQ0dlc3R1cmVDdXJ2ZTsKLWNsYXNz
IENDR2VzdHVyZUN1cnZlVGFyZ2V0OwotCi1jbGFzcyBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24g
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbik7Ci1w
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uPiBj
cmVhdGUoUGFzc093blB0cjxDQ0dlc3R1cmVDdXJ2ZT4sIENDR2VzdHVyZUN1cnZlVGFyZ2V0Kik7
Ci0gICAgfkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbigpOwotCi0gICAgYm9vbCBhbmltYXRlKGRv
dWJsZSBtb25vdG9uaWNUaW1lKTsKLQotcHJpdmF0ZToKLSAgICBDQ0FjdGl2ZUdlc3R1cmVBbmlt
YXRpb24oUGFzc093blB0cjxDQ0dlc3R1cmVDdXJ2ZT4sIENDR2VzdHVyZUN1cnZlVGFyZ2V0Kik7
Ci0KLSAgICBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgZG91YmxlIG1fd2FpdGluZ0ZvckZpcnN0
VGljazsKLSAgICBPd25QdHI8Q0NHZXN0dXJlQ3VydmU+IG1fZ2VzdHVyZUN1cnZlOwotICAgIEND
R2VzdHVyZUN1cnZlVGFyZ2V0KiBtX2dlc3R1cmVDdXJ2ZVRhcmdldDsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dlc3R1cmVDdXJ2ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NHZXN0dXJlQ3VydmUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA4OWE0OGYzMGU3ZTI4YjM1NTgwZTcyMTk5NWUyN2Iw
NjRlOWJiZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0dlc3R1cmVDdXJ2
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBDQ0dlc3R1cmVDdXJ2ZV9oCi0jZGVmaW5lIENDR2VzdHVyZUN1cnZlX2gKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBJbnRQb2ludDsKLQotY2xhc3MgQ0NHZXN0dXJlQ3VydmVUYXJn
ZXQgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNDR2VzdHVyZUN1cnZlVGFyZ2V0KCkgeyB9Ci0K
LSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnkoY29uc3QgSW50UG9pbnQmKSA9IDA7Ci0gICAgLy8g
RklYTUU6IGFkZCBpbnRlcmZhY2VzIGZvciBzY3JvbGwoKSwgZXRjLgotfTsKLQotY2xhc3MgQ0NH
ZXN0dXJlQ3VydmUgewotcHVibGljOgotICAgIHZpcnR1YWwgfkNDR2VzdHVyZUN1cnZlKCkgeyB9
Ci0KLSAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGRlYnVnTmFtZSgpIGNvbnN0ID0gMDsKLQotICAg
IHZpcnR1YWwgYm9vbCBhcHBseShkb3VibGUgbW9ub3RvbmljVGltZSwgQ0NHZXN0dXJlQ3VydmVU
YXJnZXQqKSA9IDA7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJ
bnB1dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDSW5wdXRIYW5kbGVyLmgKaW5kZXggZDRmMzM5NDhmYmFhYzkzNjZjMzQ3M2JjZThmMDdj
NGU3MWNmZTg0Mi4uMjcyMWQxMTZkYTBmOGEwZWUyZTIzMDU2MWRiNzM2OWU5ZTk5MmE4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJ
bnB1dEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oCkBAIC0yOSw4ICsyOSw2IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgQ0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uOwotY2xhc3MgQ0NHZXN0
dXJlQ3VydmVUYXJnZXQ7CiBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFNpemU7CiAKQEAgLTc1
LDkgKzczLDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb3VibGUgc3RhcnRUaW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkb3VibGUgZHVyYXRpb24pID0gMDsKIAotICAgIHZpcnR1YWwgQ0NBY3RpdmVHZXN0
dXJlQW5pbWF0aW9uKiBhY3RpdmVHZXN0dXJlQW5pbWF0aW9uKCkgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBzZXRBY3RpdmVHZXN0dXJlQW5pbWF0aW9uKFBhc3NPd25QdHI8Q0NBY3RpdmVHZXN0dXJl
QW5pbWF0aW9uPikgPSAwOwotCiAgICAgLy8gUmVxdWVzdCBhbm90aGVyIGNhbGxiYWNrIHRvIEND
SW5wdXRIYW5kbGVyOjphbmltYXRlKCkuCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQW5pbWF0
aW9uKCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4
IGQ0NTY3Y2JlNDIyOTQ4YzljNTAyMDMyMDhiYWRjNjU1ZWY0YzNjNzEuLjk0M2Y4ZjY1ZjNiZDNh
ZjBmNDMzZWIyNjQzM2YwZWJkODFmZDllZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVl
SG9zdEltcGwuY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAKICNpbmNsdWRlICJDQ0xheWVyVHJlZUhv
c3RJbXBsLmgiCiAKLSNpbmNsdWRlICJDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24uaCIKICNpbmNs
dWRlICJDQ0FwcGVuZFF1YWRzRGF0YS5oIgogI2luY2x1ZGUgIkNDRGFtYWdlVHJhY2tlci5oIgog
I2luY2x1ZGUgIkNDRGVidWdSZWN0SGlzdG9yeS5oIgpAQCAtMjAwLDcgKzE5OSw2IEBAIHZvaWQg
Q0NMYXllclRyZWVIb3N0SW1wbDo6YW5pbWF0ZShkb3VibGUgbW9ub3RvbmljVGltZSwgZG91Ymxl
IHdhbGxDbG9ja1RpbWUpCiB7CiAgICAgYW5pbWF0ZVBhZ2VTY2FsZShtb25vdG9uaWNUaW1lKTsK
ICAgICBhbmltYXRlTGF5ZXJzKG1vbm90b25pY1RpbWUsIHdhbGxDbG9ja1RpbWUpOwotICAgIGFu
aW1hdGVHZXN0dXJlcyhtb25vdG9uaWNUaW1lKTsKICAgICBhbmltYXRlU2Nyb2xsYmFycyhtb25v
dG9uaWNUaW1lKTsKIH0KIApAQCAtMjI5LDE0ICsyMjcsNiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9z
dEltcGw6OnN0YXJ0UGFnZVNjYWxlQW5pbWF0aW9uKGNvbnN0IEludFNpemUmIHRhcmdldFBvc2l0
aW9uLAogICAgIG1fY2xpZW50LT5zZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCgpOwogfQogCi12
b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnNldEFjdGl2ZUdlc3R1cmVBbmltYXRpb24oUGFzc093
blB0cjxDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb24+IGdlc3R1cmVBbmltYXRpb24pCi17Ci0gICAg
bV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9uID0gZ2VzdHVyZUFuaW1hdGlvbjsKLQotICAgIGlmICht
X2FjdGl2ZUdlc3R1cmVBbmltYXRpb24pCi0gICAgICAgIG1fY2xpZW50LT5zZXROZWVkc1JlZHJh
d09uSW1wbFRocmVhZCgpOwotfQotCiB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OnNjaGVkdWxl
QW5pbWF0aW9uKCkKIHsKICAgICBtX2NsaWVudC0+c2V0TmVlZHNSZWRyYXdPbkltcGxUaHJlYWQo
KTsKQEAgLTEyNzEsMTkgKzEyNjEsNiBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdEltcGw6OmR1bXBS
ZW5kZXJTdXJmYWNlcyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCwgY29uc3QgQwogICAgICAg
ICBkdW1wUmVuZGVyU3VyZmFjZXModHMsIGluZGVudCwgbGF5ZXItPmNoaWxkcmVuKClbaV0uZ2V0
KCkpOwogfQogCi0KLXZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6YW5pbWF0ZUdlc3R1cmVzKGRv
dWJsZSBtb25vdG9uaWNUaW1lKQotewotICAgIGlmICghbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9u
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBib29sIGlzQ29udGludWluZyA9IG1fYWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbi0+YW5pbWF0ZShtb25vdG9uaWNUaW1lKTsKLSAgICBpZiAoaXNDb250aW51
aW5nKQotICAgICAgICBtX2NsaWVudC0+c2V0TmVlZHNSZWRyYXdPbkltcGxUaHJlYWQoKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5jbGVhcigpOwotfQotCiBp
bnQgQ0NMYXllclRyZWVIb3N0SW1wbDo6c291cmNlQW5pbWF0aW9uRnJhbWVOdW1iZXIoKSBjb25z
dAogewogICAgIHJldHVybiBmcHNDb3VudGVyKCktPmN1cnJlbnRGcmFtZU51bWJlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NM
YXllclRyZWVIb3N0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCmluZGV4IDY5MTlhNTFlM2ZkNGNiYjc2N2Vj
NGFmZTdjNGEzMmRiM2Y4ZGE2ZjUuLjgwZTAwMzE5ODlkMTYxYjFjM2Y0ZTUzNDkyNzBlOGM2MDU2
ZGRhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKQEAgLTM4LDcgKzM4
LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDQ0FjdGl2ZUdlc3R1cmVBbmlt
YXRpb247CiBjbGFzcyBDQ0NvbXBsZXRpb25FdmVudDsKIGNsYXNzIENDRGVidWdSZWN0SGlzdG9y
eTsKIGNsYXNzIENDRnJhbWVSYXRlQ291bnRlcjsKQEAgLTgyLDkgKzgxLDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBwaW5jaEdlc3R1cmVVcGRhdGUoZmxvYXQsIGNvbnN0IEludFBvaW50
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBpbmNoR2VzdHVyZUVuZCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzdGFydFBhZ2VTY2FsZUFuaW1hdGlvbihjb25zdCBJbnRTaXpl
JiB0YXJnZXRQb3NpdGlvbiwgYm9vbCBhbmNob3JQb2ludCwgZmxvYXQgcGFnZVNjYWxlLCBkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pIE9WRVJSSURFOwotICAgIHZpcnR1YWwgQ0NB
Y3RpdmVHZXN0dXJlQW5pbWF0aW9uKiBhY3RpdmVHZXN0dXJlQW5pbWF0aW9uKCkgT1ZFUlJJREUg
eyByZXR1cm4gbV9hY3RpdmVHZXN0dXJlQW5pbWF0aW9uLmdldCgpOyB9Ci0gICAgLy8gVG8gY2xl
YXIgYW4gYWN0aXZlIGFuaW1hdGlvbiwgcGFzcyBudWxscHRyLgotICAgIHZpcnR1YWwgdm9pZCBz
ZXRBY3RpdmVHZXN0dXJlQW5pbWF0aW9uKFBhc3NPd25QdHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0
aW9uPikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uKCkgT1ZF
UlJJREU7CiAKICAgICBzdHJ1Y3QgRnJhbWVEYXRhIDogcHVibGljIENDUmVuZGVyUGFzc1Npbmsg
ewpAQCAtMjI4LDcgKzIyNCw2IEBAIHByb3RlY3RlZDoKICAgICBDQ0xheWVyVHJlZUhvc3RJbXBs
KGNvbnN0IENDTGF5ZXJUcmVlU2V0dGluZ3MmLCBDQ0xheWVyVHJlZUhvc3RJbXBsQ2xpZW50Kik7
CiAKICAgICB2b2lkIGFuaW1hdGVQYWdlU2NhbGUoZG91YmxlIG1vbm90b25pY1RpbWUpOwotICAg
IHZvaWQgYW5pbWF0ZUdlc3R1cmVzKGRvdWJsZSBtb25vdG9uaWNUaW1lKTsKICAgICB2b2lkIGFu
aW1hdGVTY3JvbGxiYXJzKGRvdWJsZSBtb25vdG9uaWNUaW1lKTsKIAogICAgIC8vIEV4cG9zZWQg
Zm9yIHRlc3RpbmcuCkBAIC0zMDAsNyArMjk1LDYgQEAgcHJpdmF0ZToKICAgICBJbnRQb2ludCBt
X3ByZXZpb3VzUGluY2hBbmNob3I7CiAKICAgICBPd25QdHI8Q0NQYWdlU2NhbGVBbmltYXRpb24+
IG1fcGFnZVNjYWxlQW5pbWF0aW9uOwotICAgIE93blB0cjxDQ0FjdGl2ZUdlc3R1cmVBbmltYXRp
b24+IG1fYWN0aXZlR2VzdHVyZUFuaW1hdGlvbjsKIAogICAgIC8vIFRoaXMgaXMgdXNlZCBmb3Ig
dGlja2luZyBhbmltYXRpb25zIHNsb3dseSB3aGVuIGhpZGRlbi4KICAgICBPd25QdHI8Q0NMYXll
clRyZWVIb3N0SW1wbFRpbWVTb3VyY2VBZGFwdGVyPiBtX3RpbWVTb3VyY2VDbGllbnRBZGFwdGVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklu
cHV0SGFuZGxlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGwuY3BwCmluZGV4IDE5YmQ4OTRjMjM1ZTkwODQ5ZWU2NmI4ZDg3
NzMwNDU0ZGFmMTdiNjQuLmQyOTFkYzdiMjRjNzBjY2IwYjE4NWFiNjg1NWQzMWRlNGRhNTJiODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1
dEhhbmRsZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21w
b3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2luY2x1ZGUg
IldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmgiCiAKLSNpbmNsdWRlICJDQ0FjdGl2ZUdl
c3R1cmVBbmltYXRpb24uaCIKICNpbmNsdWRlICJDQ1Byb3h5LmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1HZXN0dXJlQ3VydmVGYWN0b3J5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVU
YXJnZXQuaCIKQEAgLTQ2LDQyICs0NSw2IEBAIFBhc3NPd25QdHI8Q0NJbnB1dEhhbmRsZXI+IEND
SW5wdXRIYW5kbGVyOjpjcmVhdGUoQ0NJbnB1dEhhbmRsZXJDbGllbnQqIGlucHV0SGFuCiAgICAg
cmV0dXJuIFdlYktpdDo6V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmNyZWF0ZShpbnB1
dEhhbmRsZXJDbGllbnQpOwogfQogCi1jbGFzcyBQbGF0Zm9ybUdlc3R1cmVUb0NDR2VzdHVyZUFk
YXB0ZXIgOiBwdWJsaWMgQ0NHZXN0dXJlQ3VydmUsIHB1YmxpYyBQbGF0Zm9ybUdlc3R1cmVDdXJ2
ZVRhcmdldCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8Q0NHZXN0dXJlQ3VydmU+
IGNyZWF0ZShQYXNzT3duUHRyPFBsYXRmb3JtR2VzdHVyZUN1cnZlPiBwbGF0Zm9ybUN1cnZlKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQbGF0Zm9ybUdlc3R1cmVUb0NDR2Vz
dHVyZUFkYXB0ZXIocGxhdGZvcm1DdXJ2ZSkpOwotICAgIH0KLQotICAgIHZpcnR1YWwgY29uc3Qg
Y2hhciogZGVidWdOYW1lKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2N1cnZlLT5k
ZWJ1Z05hbWUoKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgYXBwbHkoZG91YmxlIHRpbWUs
IENDR2VzdHVyZUN1cnZlVGFyZ2V0KiB0YXJnZXQpCi0gICAgewotICAgICAgICBBU1NFUlQodGFy
Z2V0KTsKLSAgICAgICAgbV90YXJnZXQgPSB0YXJnZXQ7Ci0gICAgICAgIHJldHVybiBtX2N1cnZl
LT5hcHBseSh0aW1lLCB0aGlzKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQnko
Y29uc3QgSW50UG9pbnQmIHNjcm9sbERlbHRhKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fdGFy
Z2V0KTsKLSAgICAgICAgbV90YXJnZXQtPnNjcm9sbEJ5KHNjcm9sbERlbHRhKTsKLSAgICB9Ci0K
LXByaXZhdGU6Ci0gICAgUGxhdGZvcm1HZXN0dXJlVG9DQ0dlc3R1cmVBZGFwdGVyKFBhc3NPd25Q
dHI8UGxhdGZvcm1HZXN0dXJlQ3VydmU+IGN1cnZlKQotICAgICAgICA6IG1fY3VydmUoY3VydmUp
Ci0gICAgICAgICwgbV90YXJnZXQoMCkKLSAgICB7Ci0gICAgfQotCi0gICAgT3duUHRyPFBsYXRm
b3JtR2VzdHVyZUN1cnZlPiBtX2N1cnZlOwotICAgIENDR2VzdHVyZUN1cnZlVGFyZ2V0KiBtX3Rh
cmdldDsKLX07Ci0KIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0yNjcsOSArMjMwLDggQEAg
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OkV2ZW50RGlzcG9zaXRpb24gV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGw6OmgKICAgICBDQ0lucHV0SGFuZGxlckNsaWVudDo6U2Nyb2xs
U3RhdHVzIHNjcm9sbFN0YXR1cyA9IG1faW5wdXRIYW5kbGVyQ2xpZW50LT5zY3JvbGxCZWdpbihJ
bnRQb2ludChnZXN0dXJlRXZlbnQueCwgZ2VzdHVyZUV2ZW50LnkpLCBDQ0lucHV0SGFuZGxlckNs
aWVudDo6R2VzdHVyZSk7CiAgICAgc3dpdGNoIChzY3JvbGxTdGF0dXMpIHsKICAgICBjYXNlIEND
SW5wdXRIYW5kbGVyQ2xpZW50OjpTY3JvbGxTdGFydGVkOiB7Ci0gICAgICAgIFRSQUNFX0VWRU5U
X0lOU1RBTlQwKCJjYyIsICJXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbDo6aGFuZGxlR2Vz
dHVyZUZsaW5nOjpzdGFydGVkIik7Ci0gICAgICAgIE93blB0cjxQbGF0Zm9ybUdlc3R1cmVDdXJ2
ZT4gZmxpbmdDdXJ2ZSA9IFBsYXRmb3JtR2VzdHVyZUN1cnZlRmFjdG9yeTo6Z2V0KCktPmNyZWF0
ZUN1cnZlKGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNlLCBGbG9hdFBv
aW50KGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBnZXN0dXJlRXZlbnQu
ZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSkpOwotICAgICAgICBtX3doZWVsRmxpbmdBbmltYXRp
b24gPSBDQ0FjdGl2ZUdlc3R1cmVBbmltYXRpb246OmNyZWF0ZShQbGF0Zm9ybUdlc3R1cmVUb0ND
R2VzdHVyZUFkYXB0ZXI6OmNyZWF0ZShmbGluZ0N1cnZlLnJlbGVhc2UoKSksIHRoaXMpOworICAg
ICAgICBtX3doZWVsRmxpbmdDdXJ2ZSA9IFBsYXRmb3JtR2VzdHVyZUN1cnZlRmFjdG9yeTo6Z2V0
KCktPmNyZWF0ZUN1cnZlKGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQuc291cmNlRGV2aWNl
LCBGbG9hdFBvaW50KGdlc3R1cmVFdmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlYLCBnZXN0
dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSkpOworICAgICAgICBUUkFDRV9FVkVO
VF9BU1lOQ19CRUdJTjEoImNjIiwgIldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjpoYW5k
bGVHZXN0dXJlRmxpbmc6OnN0YXJ0ZWQiLCB0aGlzLCAiY3VydmUiLCBtX3doZWVsRmxpbmdDdXJ2
ZS0+ZGVidWdOYW1lKCkpOwogICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzLmRlbHRhID0g
V2ViRmxvYXRQb2ludChnZXN0dXJlRXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZ2Vz
dHVyZUV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkpOwogICAgICAgICBtX3doZWVsRmxp
bmdQYXJhbWV0ZXJzLnBvaW50ID0gV2ViUG9pbnQoZ2VzdHVyZUV2ZW50LngsIGdlc3R1cmVFdmVu
dC55KTsKICAgICAgICAgbV93aGVlbEZsaW5nUGFyYW1ldGVycy5nbG9iYWxQb2ludCA9IFdlYlBv
aW50KGdlc3R1cmVFdmVudC5nbG9iYWxYLCBnZXN0dXJlRXZlbnQuZ2xvYmFsWSk7CkBAIC0zMDAs
MTMgKzI2MiwxNiBAQCBpbnQgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmlkZW50aWZp
ZXIoKSBjb25zdAogCiB2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsOjphbmltYXRl
KGRvdWJsZSBtb25vdG9uaWNUaW1lKQogewotICAgIGlmICghbV93aGVlbEZsaW5nQW5pbWF0aW9u
KQorICAgIGlmICghbV93aGVlbEZsaW5nQ3VydmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
ICghbV93aGVlbEZsaW5nUGFyYW1ldGVycy5zdGFydFRpbWUpCisgICAgaWYgKCFtX3doZWVsRmxp
bmdQYXJhbWV0ZXJzLnN0YXJ0VGltZSkgewogICAgICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJz
LnN0YXJ0VGltZSA9IG1vbm90b25pY1RpbWU7CisgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50
LT5zY2hlZHVsZUFuaW1hdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYg
KG1fd2hlZWxGbGluZ0FuaW1hdGlvbi0+YW5pbWF0ZShtb25vdG9uaWNUaW1lKSkKKyAgICBpZiAo
bV93aGVlbEZsaW5nQ3VydmUtPmFwcGx5KG1vbm90b25pY1RpbWUgLSBtX3doZWVsRmxpbmdQYXJh
bWV0ZXJzLnN0YXJ0VGltZSwgdGhpcykpCiAgICAgICAgIG1faW5wdXRIYW5kbGVyQ2xpZW50LT5z
Y2hlZHVsZUFuaW1hdGlvbigpOwogICAgIGVsc2UgewogICAgICAgICBUUkFDRV9FVkVOVF9JTlNU
QU5UMCgiY2MiLCAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw6OmFuaW1hdGU6OmZsaW5n
T3ZlciIpOwpAQCAtMzE2LDkgKzI4MSwxMiBAQCB2b2lkIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRs
ZXJJbXBsOjphbmltYXRlKGRvdWJsZSBtb25vdG9uaWNUaW1lKQogCiBib29sIFdlYkNvbXBvc2l0
b3JJbnB1dEhhbmRsZXJJbXBsOjpjYW5jZWxDdXJyZW50RmxpbmcoKQogewotICAgIGJvb2wgaGFk
RmxpbmdBbmltYXRpb24gPSBtX3doZWVsRmxpbmdBbmltYXRpb247CisgICAgYm9vbCBoYWRGbGlu
Z0FuaW1hdGlvbiA9IG1fd2hlZWxGbGluZ0N1cnZlOworICAgIGlmIChoYWRGbGluZ0FuaW1hdGlv
bikKKyAgICAgICAgVFJBQ0VfRVZFTlRfQVNZTkNfRU5EMCgiY2MiLCAiV2ViQ29tcG9zaXRvcklu
cHV0SGFuZGxlckltcGw6OmhhbmRsZUdlc3R1cmVGbGluZzo6c3RhcnRlZCIsIHRoaXMpOworCiAg
ICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDEoImNjIiwgIldlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJ
bXBsOjpjYW5jZWxDdXJyZW50RmxpbmciLCAiaGFkRmxpbmdBbmltYXRpb24iLCBoYWRGbGluZ0Fu
aW1hdGlvbik7Ci0gICAgbV93aGVlbEZsaW5nQW5pbWF0aW9uLmNsZWFyKCk7CisgICAgbV93aGVl
bEZsaW5nQ3VydmUuY2xlYXIoKTsKICAgICBtX3doZWVsRmxpbmdQYXJhbWV0ZXJzID0gV2ViQWN0
aXZlV2hlZWxGbGluZ1BhcmFtZXRlcnMoKTsKICAgICByZXR1cm4gaGFkRmxpbmdBbmltYXRpb247
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGwuaAppbmRleCBjOWZlZWVmNmUzMjkwM2YzMTUwZDVlNjZlZDYx
ZWVkNTFiMjRmMTJkLi45NTc4YjVjZmRlMTc2MDA4NTkyOTQ3MTYwN2IzNTljYzlkNWNlMWQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRI
YW5kbGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0
b3JJbnB1dEhhbmRsZXJJbXBsLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgV2ViQ29tcG9z
aXRvcklucHV0SGFuZGxlckltcGxfaAogI2RlZmluZSBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVy
SW1wbF9oCiAKLSNpbmNsdWRlICJDQ0dlc3R1cmVDdXJ2ZS5oIgogI2luY2x1ZGUgIkNDSW5wdXRI
YW5kbGVyLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNpbmNs
dWRlICJXZWJBY3RpdmVXaGVlbEZsaW5nUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYkNvbXBv
c2l0b3JJbnB1dEhhbmRsZXIuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCkBAIC00MCwx
NyArNDAsMTYgQEAgY2xhc3MgTXV0ZXg7CiB9CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNz
IEludFBvaW50OwotY2xhc3MgQ0NHZXN0dXJlQ3VydmVUYXJnZXQ7CiBjbGFzcyBDQ0lucHV0SGFu
ZGxlckNsaWVudDsKLWNsYXNzIENDVGhyZWFkOworY2xhc3MgSW50UG9pbnQ7CitjbGFzcyBQbGF0
Zm9ybUdlc3R1cmVDdXJ2ZTsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNv
bXBvc2l0b3JJbnB1dEhhbmRsZXJDbGllbnQ7CiAKLWNsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhh
bmRsZXJJbXBsIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIsIHB1YmxpYyBXZWJD
b3JlOjpDQ0lucHV0SGFuZGxlciwgcHVibGljIFdlYkNvcmU6OkNDR2VzdHVyZUN1cnZlVGFyZ2V0
IHsKK2NsYXNzIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsIDogcHVibGljIFdlYkNvbXBv
c2l0b3JJbnB1dEhhbmRsZXIsIHB1YmxpYyBXZWJDb3JlOjpDQ0lucHV0SGFuZGxlciwgcHVibGlj
IFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUN1cnZlVGFyZ2V0IHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw+IGNyZWF0ZShXZWJD
b3JlOjpDQ0lucHV0SGFuZGxlckNsaWVudCopOwpAQCAtNjYsNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBpbnQgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBhbmlt
YXRlKGRvdWJsZSBtb25vdG9uaWNUaW1lKTsKIAotICAgIC8vIFdlYkNvcmU6OkNDR2VzdHVyZUN1
cnZlVGFyZ2V0IGltcGxlbWVudGF0aW9uLgorICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVy
ZUN1cnZlVGFyZ2V0IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxCeShj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogCiBwcml2YXRlOgpAQCAtODIsNyArODEsNyBAQCBw
cml2YXRlOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB3ZSBhY3R1YWxseSBoYWQgYW4gYWN0aXZl
IGZsaW5nIHRvIGNhbmNlbC4KICAgICBib29sIGNhbmNlbEN1cnJlbnRGbGluZygpOwogCi0gICAg
T3duUHRyPFdlYkNvcmU6OkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbj4gbV93aGVlbEZsaW5nQW5p
bWF0aW9uOworICAgIE93blB0cjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVDdXJ2ZT4gbV93aGVl
bEZsaW5nQ3VydmU7CiAgICAgLy8gUGFyYW1ldGVycyBmb3IgdGhlIGFjdGl2ZSBmbGluZyBhbmlt
YXRpb24sIHN0b3JlZCBpbiBjYXNlIHdlIG5lZWQgdG8gdHJhbnNmZXIgaXQgb3V0IGxhdGVyLgog
ICAgIFdlYkFjdGl2ZVdoZWVsRmxpbmdQYXJhbWV0ZXJzIG1fd2hlZWxGbGluZ1BhcmFtZXRlcnM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUGxhdGZvcm1HZXN0
dXJlQ3VydmVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUGxhdGZvcm1H
ZXN0dXJlQ3VydmVUZXN0LmNwcAppbmRleCA0ZjBhMjI3NmY4MTZmYzFlMWM3YjkwMDU0NmJkZjk2
YTEzYzhjNTkwLi44YzMzMWM4ODhkODI4YjQ4OGE4N2VmZDFiNGY1MzZhYTIzNzU5NjZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1BsYXRmb3JtR2VzdHVyZUN1cnZl
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9QbGF0Zm9ybUdlc3R1
cmVDdXJ2ZVRlc3QuY3BwCkBAIC0yOCw4ICsyOCw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0
dXJlQ3VydmUuaCIKIAogI2luY2x1ZGUgIkFjdGl2ZVBsYXRmb3JtR2VzdHVyZUFuaW1hdGlvbi5o
IgotI2luY2x1ZGUgIkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbi5oIgotI2luY2x1ZGUgIkNDR2Vz
dHVyZUN1cnZlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlQ3VydmVUYXJnZXQuaCIKICNp
bmNsdWRlICJUb3VjaHBhZEZsaW5nUGxhdGZvcm1HZXN0dXJlQ3VydmUuaCIKICNpbmNsdWRlICJX
aGVlbEZsaW5nUGxhdGZvcm1HZXN0dXJlQ3VydmUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGxUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGxUZXN0LmNwcAppbmRleCAxYjA3N2VjNDIxN2ViZGIxMWVjMmE4YjEwN2E0MzQ5OGMxNjdlZTk0
Li4xNmM2NTY3MGUzZDgzMGY3MTI3ZDU5NmFlNTFkYjhjMzllMjFjOTlkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJDb21wb3NpdG9y
SW5wdXRIYW5kbGVySW1wbFRlc3QuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpbmNsdWRlICJX
ZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oIgogCi0jaW5jbHVkZSAiQ0NBY3RpdmVHZXN0
dXJlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiQ0NJbnB1dEhhbmRsZXIuaCIKICNpbmNsdWRlICJD
Q1NpbmdsZVRocmVhZFByb3h5LmgiCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvckluaXRpYWxpemVy
LmgiCkBAIC02OSw5ICs2OCw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IHBhZ2VTY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZG91YmxlIHN0YXJ0VGltZU1zLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgZHVyYXRpb25NcykgT1ZFUlJJREUgeyB9Ci0K
LSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNDQWN0aXZlR2VzdHVyZUFuaW1hdGlvbiogYWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbigpIE9WRVJSSURFIHsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIHZvaWQg
c2V0QWN0aXZlR2VzdHVyZUFuaW1hdGlvbihQYXNzT3duUHRyPFdlYkNvcmU6OkNDQWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbj4pIE9WRVJSSURFIHsgfQogfTsKIAogY2xhc3MgTW9ja1dlYkNvbXBvc2l0
b3JJbnB1dEhhbmRsZXJDbGllbnQgOiBwdWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNs
aWVudCB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>