<?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>124352</bug_id>
          
          <creation_ts>2013-11-14 07:18:26 -0800</creation_ts>
          <short_desc>[ATK] Change WKTR/DRT AX methods to use nullptr</short_desc>
          <delta_ts>2013-11-14 08:47:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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="Krzysztof Czech">k.czech</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mario</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>950638</commentid>
    <comment_count>0</comment_count>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2013-11-14 07:18:26 -0800</bug_when>
    <thetext>Changed WKTR/DRT accessibility related methods to use nullptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950640</commentid>
    <comment_count>1</comment_count>
      <attachid>216932</attachid>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2013-11-14 07:22:30 -0800</bug_when>
    <thetext>Created attachment 216932
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950684</commentid>
    <comment_count>2</comment_count>
      <attachid>216932</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-14 08:47:17 -0800</bug_when>
    <thetext>Comment on attachment 216932
proposed patch

Clearing flags on attachment: 216932

Committed r159287: &lt;http://trac.webkit.org/changeset/159287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950685</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-14 08:47:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216932</attachid>
            <date>2013-11-14 07:22:30 -0800</date>
            <delta_ts>2013-11-14 08:47:17 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>a11y-nullptr.patch</filename>
            <type>text/plain</type>
            <size>30619</size>
            <attacher name="Krzysztof Czech">k.czech</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MzRm
NTlhLi4xYzg1MzhkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMTMtMTEtMTQgIEtyenlzenRvZiBDemVjaCAgPGsu
Y3plY2hAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gQ2hhbmdlIFdLVFIvRFJUIEFYIG1l
dGhvZHMgdG8gdXNlIG51bGxwdHIgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjQzNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgV0tUUi9EUlQgYWNjZXNzaWJpbGl0eSByZWxhdGVkIG1ldGhv
ZHMgdG8gdXNlIG51bGxwdHIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjplbGVtZW50QXRQb2ludCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXI6OmNoaWxkRWxlbWVudEJ5SWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2F0
ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHA6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlcjo6QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50QXRrLmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBv
aW50KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0
SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRBdEluZGV4
KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVtZW50KToKKyAg
ICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQpOgorICAgICAgICAo
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRpb24pOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6b3JpZW50YXRpb24pOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJp
YURyb3BFZmZlY3RzKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVu
dEZvclNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
ZWxsRm9yQ29sdW1uQW5kUm93KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRp
c2Nsb3NlZFJvd0F0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJp
YU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
cmlhRmxvd1RvRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2VsZWN0ZWRSb3dBdEluZGV4KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnJvd0F0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2Vk
QnlSb3cpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0
aW9uTGlzdGVuZXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xhc3NMaXN0
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlckF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV1RSOjpj
aGlsZEVsZW1lbnRCeUlkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRs
ZXJBdGsuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxl
cjo6c2V0Tm90aWZpY2F0aW9uRnVuY3Rpb25DYWxsYmFjayk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyOjpyZW1vdmVBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uSGFuZGxlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Y2hpbGRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRmxvd1RvRWxlbWVudEF0SW5kZXgpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRSb3dBdEluZGV4KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93QXRJbmRleCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRBdEluZGV4KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRSb3dBdEluZGV4
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVVSUVsZW1lbnQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJlbnRFbGVtZW50KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkQnlSb3cpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBdHRyaWJ1dGVW
YWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9u
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2Vh
cmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2Vs
bEZvckNvbHVtbkFuZFJvdyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Omhvcml6b250YWxTY3JvbGxiYXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZpb3VzVGV4dE1hcmtlcik6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om5leHRUZXh0TWFya2VyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2Vycyk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZv
clRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRG
b3JUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4
dE1hcmtlckZvckluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c3VwcG9ydGVkQWN0aW9ucyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBhdGhEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCk6CisKIDIwMTMtMTEtMTQgIMOJdmEgQmFs
w6F6c2ZhbHZpICA8YmFsYXpzZmFsdmkuZXZhQHN0dWQudS1zemVnZWQuaHU+CiAKICAgICAgICAg
Rml4IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9mYWN0b3J5LnB5IC0taGVscCB0byBkaXNw
bGF5IHdoaWNoIGNvbmZpZ3VyYXRpb24gaXMgZGVmYXVsdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKaW5kZXggZTUw
MDM1Ny4uNTBkYTY2MyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9hdGsv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCkBAIC0zOCw3ICszOCw3IEBACiBib29sIGxv
Z2dpbmdBY2Nlc3NpYmlsaXR5RXZlbnRzID0gZmFsc2U7CiAKIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpCi0gICAgOiBtX2dsb2JhbE5vdGlmaWNhdGlv
bkhhbmRsZXIoMCkKKyAgICA6IG1fZ2xvYmFsTm90aWZpY2F0aW9uSGFuZGxlcihudWxscHRyKQog
ewogfQogCkBAIC00OSw3ICs0OSw3IEBAIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp+QWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIoKQogQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcjo6ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQogewogICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogCkBA
IC0xMDAsMTMgKzEwMCwxMyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVO
b3RpZmljYXRpb25MaXN0ZW5lcigpCiAgICAgLy8gUHJvZ3JhbW1lcnMgc2hvdWxkIG5vdCBiZSB0
cnlpbmcgdG8gcmVtb3ZlIGEgbGlzdGVuZXIgdGhhdCdzIGFscmVhZHkgcmVtb3ZlZC4KICAgICBB
U1NFUlQobV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyKTsKIAotICAgIG1fZ2xvYmFsTm90aWZp
Y2F0aW9uSGFuZGxlciA9IDA7CisgICAgbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyID0gbnVs
bHB0cjsKIH0KIAogQXRrT2JqZWN0KiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Y2hpbGRFbGVt
ZW50QnlJZChBdGtPYmplY3QqIHBhcmVudCwgY29uc3QgY2hhciogaWQpCiB7CiAgICAgaWYgKCFB
VEtfSVNfT0JKRUNUKHBhcmVudCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAogICAgIGJvb2wgcGFyZW50Rm91bmQgPSBmYWxzZTsKICAgICBBdGtBdHRyaWJ1
dGVTZXQqIGF0dHJpYnV0ZVNldChhdGtfb2JqZWN0X2dldF9hdHRyaWJ1dGVzKHBhcmVudCkpOwpA
QCAtMTMwLDcgKzEzMCw3IEBAIEF0a09iamVjdCogQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmNo
aWxkRWxlbWVudEJ5SWQoQXRrT2JqZWN0KiBwYXJlbnQsIGNvbnN0IGNoCiAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4IDU1ZjNh
MWYuLjQ1NjVkNTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcApAQCAtMjUsOCAr
MjUsOCBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDYWxsYmFja3MuaCIKIAogQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbkhhbmRsZXI6OkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVy
KHZvaWQpCi0gICAgOiBtX3BsYXRmb3JtRWxlbWVudCgwKQotICAgICwgbV9ub3RpZmljYXRpb25G
dW5jdGlvbkNhbGxiYWNrKDApCisgICAgOiBtX3BsYXRmb3JtRWxlbWVudChudWxscHRyKQorICAg
ICwgbV9ub3RpZmljYXRpb25GdW5jdGlvbkNhbGxiYWNrKG51bGxwdHIpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRr
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRr
LmNwcAppbmRleCAyMDU4NzUyLi43MmRhMzkxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC0xMjYsMTMgKzEy
NiwxMyBAQCBBdGtBdHRyaWJ1dGVTZXQqIGdldEF0dHJpYnV0ZVNldChBdGtPYmplY3QqIGFjY2Vz
c2libGUsIEF0a0F0dHJpYnV0ZVR5cGUgdHlwZSkKIAogICAgIGlmICh0eXBlID09IFRleHRBdHRy
aWJ1dGVUeXBlKSB7CiAgICAgICAgIGlmICghQVRLX0lTX1RFWFQoYWNjZXNzaWJsZSkpCi0gICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAg
IHJldHVybiBhdGtfdGV4dF9nZXRfZGVmYXVsdF9hdHRyaWJ1dGVzKEFUS19URVhUKGFjY2Vzc2li
bGUpKTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogU3RyaW5nIGdldEF0dHJpYnV0ZVNldFZhbHVlRm9y
SWQoQXRrT2JqZWN0KiBhY2Nlc3NpYmxlLCBBdGtBdHRyaWJ1dGVUeXBlIHR5cGUsIFN0cmluZyBp
ZCkKQEAgLTU2MSw3ICs1NjEsNyBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRy
ZW5Db3VudCgpCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmVsZW1lbnRBdFBvaW50KGludCB4LCBpbnQgeSkKIHsKICAgICBpZiAoIUFUS19JU19DT01QT05F
TlQobV9lbGVtZW50KSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgR1JlZlB0cjxBdGtPYmplY3Q+IG9iamVjdEF0UG9pbnQgPSBhZG9wdEdSZWYoYXRr
X2NvbXBvbmVudF9yZWZfYWNjZXNzaWJsZV9hdF9wb2ludChBVEtfQ09NUE9ORU5UKG1fZWxlbWVu
dCksIHgsIHksIEFUS19YWV9XSU5ET1cpKTsKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudChvYmplY3RBdFBvaW50ID8gb2JqZWN0QXRQb2ludC5nZXQoKSA6IG1fZWxlbWVudCk7CkBA
IC01NzAsMTMgKzU3MCwxMyBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KGludCB4LCBpbnQgeSkKIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCh1bnNp
Z25lZCBpbmRleCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQogewogICAgIGlm
ICghQVRLX0lTX09CSkVDVChtX2VsZW1lbnQpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gY2hp
bGRyZW47CiAgICAgZ2V0Q2hpbGRyZW5XaXRoUmFuZ2UoY2hpbGRyZW4sIGluZGV4LCBpbmRleCAr
IDEpOwpAQCAtNTg0LDcgKzU4NCw3IEBAIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQogICAgIGlmIChj
aGlsZHJlbi5zaXplKCkgPT0gMSkKICAgICAgICAgcmV0dXJuIGNoaWxkcmVuLmF0KDApOwogCi0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIHVuc2lnbmVkIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmluZGV4T2ZDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVt
ZW50KQpAQCAtNjE2LDEzICs2MTYsMTMgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6YXR0cmlidXRlc09mRG9jdW1lbnRMaW5rcygpCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVtZW50KCkKIHsKICAgICBpZiAoIUFU
S19JU19PQkpFQ1QobV9lbGVtZW50KSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVy
biBudWxscHRyOwogCiAgICAgQXRrUmVsYXRpb25TZXQqIHNldCA9IGF0a19vYmplY3RfcmVmX3Jl
bGF0aW9uX3NldChBVEtfT0JKRUNUKG1fZWxlbWVudCkpOwogICAgIGlmICghc2V0KQotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBBdGtPYmplY3QqIHRh
cmdldCA9IDA7CisgICAgQXRrT2JqZWN0KiB0YXJnZXQgPSBudWxscHRyOwogICAgIGludCBjb3Vu
dCA9IGF0a19yZWxhdGlvbl9zZXRfZ2V0X25fcmVsYXRpb25zKHNldCk7CiAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgIEF0a1JlbGF0aW9uKiByZWxhdGlvbiA9
IGF0a19yZWxhdGlvbl9zZXRfZ2V0X3JlbGF0aW9uKHNldCwgaSk7CkBAIC02MzQsMTYgKzYzNCwx
NiBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxl
VUlFbGVtZW50KCkKICAgICB9CiAKICAgICBnX29iamVjdF91bnJlZihzZXQpOwotICAgIHJldHVy
biB0YXJnZXQgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KHRhcmdldCkgOiAwOworICAgIHJldHVy
biB0YXJnZXQgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KHRhcmdldCkgOiBudWxscHRyOwogfQog
CiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVs
ZW1lbnQoKQogewogICAgIGlmICghQVRLX0lTX09CSkVDVChtX2VsZW1lbnQpKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBBdGtPYmplY3QqIHBhcmVu
dCA9ICBhdGtfb2JqZWN0X2dldF9wYXJlbnQoQVRLX09CSkVDVChtX2VsZW1lbnQpKTsKLSAgICBy
ZXR1cm4gcGFyZW50ID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChwYXJlbnQpIDogMDsKKyAgICBy
ZXR1cm4gcGFyZW50ID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChwYXJlbnQpIDogbnVsbHB0cjsK
IH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ2hp
bGRyZW4oKQpAQCAtNjc4LDEyICs2NzgsMTIgQEAgSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cm9sZSgpCiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1
YnJvbGUoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0
cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRpb24oKQogewotICAg
IHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCkBAIC04MjEsNyArODIxLDcgQEAgSlNTdHJpbmdSZWYg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIGlmICghQVRL
X0lTX09CSkVDVChtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKIAotICAgIGNvbnN0IGNoYXIqIGF4T3JpZW50YXRpb24gPSAwOwor
ICAgIGNvbnN0IGNoYXIqIGF4T3JpZW50YXRpb24gPSBudWxscHRyOwogICAgIGlmIChjaGVja0Vs
ZW1lbnRTdGF0ZShtX2VsZW1lbnQsIEFUS19TVEFURV9IT1JJWk9OVEFMKSkKICAgICAgICAgYXhP
cmllbnRhdGlvbiA9ICJBWE9yaWVudGF0aW9uOiBBWEhvcml6b250YWxPcmllbnRhdGlvbiI7CiAg
ICAgZWxzZSBpZiAoY2hlY2tFbGVtZW50U3RhdGUobV9lbGVtZW50LCBBVEtfU1RBVEVfVkVSVElD
QUwpKQpAQCAtOTU3LDcgKzk1Nyw3IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJp
YUlzR3JhYmJlZCgpIGNvbnN0CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmFyaWFEcm9wRWZmZWN0cygpIGNvbnN0CiB7ICAgCi0gICAgcmV0dXJuIDA7IAorICAgIHJldHVy
biBudWxscHRyOyAKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0V4cGFuZGVk
KCkgY29uc3QKQEAgLTEwOTAsMTggKzEwOTAsMTggQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxsZWQodW5zaWduZWQgbG9jYXRpb24K
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50
Rm9yU2VhcmNoUHJlZGljYXRlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50KiBzdGFydEVsZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNl
YXJjaEtleSwgSlNTdHJpbmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSkKIHsKICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2Vs
bEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2x1bW4sIHVuc2lnbmVkIHJvdykKIHsKICAgICBp
ZiAoIUFUS19JU19UQUJMRShtX2VsZW1lbnQpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICAvLyBBZG9wdCB0aGUgQXRrT2JqZWN0IHJlcHJlc2VudGlu
ZyB0aGUgY2VsbCBiZWNhdXNlCiAgICAgLy8gYXRfdGFibGVfcmVmX2F0KCkgdHJhbnNmZXJzIGZ1
bGwgb3duZXJzaGlwLgogICAgIEdSZWZQdHI8QXRrT2JqZWN0PiBmb3VuZENlbGwgPSBhZG9wdEdS
ZWYoYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50KSwgcm93LCBjb2x1bW4pKTsK
LSAgICByZXR1cm4gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChmb3VuZENlbGwu
Z2V0KCkpIDogMDsKKyAgICByZXR1cm4gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dChmb3VuZENlbGwuZ2V0KCkpIDogbnVsbHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2UoKQpAQCAtMTIxNiwzMiArMTIxNiwzMiBA
QCB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51KCkKIAogQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRSb3dBdEluZGV4KHVu
c2lnbmVkIGluZGV4KQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25z
RWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQogewotICAg
IHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkUm93QXRJbmRleCh1bnNpZ25lZCBp
bmRleCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogQWNjZXNz
aWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dBdEluZGV4KHVuc2ln
bmVkIGluZGV4KQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5
Um93KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNTdHJp
bmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3QK
QEAgLTEzMDksNyArMTMwOSw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3Zl
Tm90aWZpY2F0aW9uTGlzdGVuZXIoKQogICAgIC8vIFByb2dyYW1tZXJzIHNob3VsZCBub3QgYmUg
dHJ5aW5nIHRvIHJlbW92ZSBhIGxpc3RlbmVyIHRoYXQncyBhbHJlYWR5IHJlbW92ZWQuCiAgICAg
QVNTRVJUKG1fbm90aWZpY2F0aW9uSGFuZGxlcik7CiAKLSAgICBtX25vdGlmaWNhdGlvbkhhbmRs
ZXIgPSAwOworICAgIG1fbm90aWZpY2F0aW9uSGFuZGxlciA9IG51bGxwdHI7CiB9CiAKIGJvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdApAQCAtMTQxMCw3ICsx
NDEwLDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50
KGludCB4LCBpbnQgeSkKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNz
TGlzdCgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiAwOwor
ICAgIHJldHVybiBudWxscHRyOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRr
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyQXRrLmNwcAppbmRleCBlN2YyODcyLi5iYzYzMDczIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlckF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKQog
CiAgICAgLy8gRW5zdXJlIHRoZSBBdGsgaW50ZXJmYWNlIHR5cGVzIGFyZSByZWdpc3RlcmVkLCBv
dGhlcndpc2UKICAgICAvLyB0aGUgQXRrRG9jdW1lbnQgc2lnbmFsIGhhbmRsZXJzIGJlbG93IHdv
bid0IGdldCByZWdpc3RlcmVkLgotICAgIEdPYmplY3QqIGR1bW15QXhPYmplY3QgPSBHX09CSkVD
VChnX29iamVjdF9uZXcoQVRLX1RZUEVfT0JKRUNULCAwKSk7CisgICAgR09iamVjdCogZHVtbXlB
eE9iamVjdCA9IEdfT0JKRUNUKGdfb2JqZWN0X25ldyhBVEtfVFlQRV9PQkpFQ1QsIG51bGxwdHIp
KTsKICAgICBBdGtPYmplY3QqIGR1bW15Tm9PcEF4T2JqZWN0ID0gYXRrX25vX29wX29iamVjdF9u
ZXcoZHVtbXlBeE9iamVjdCk7CiAgICAgZ19vYmplY3RfdW5yZWYoR19PQkpFQ1QoZHVtbXlOb09w
QXhPYmplY3QpKTsKICAgICBnX29iamVjdF91bnJlZihkdW1teUF4T2JqZWN0KTsKQEAgLTY0LDEz
ICs2NCwxMyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5
RXZlbnRzKCkKIAogdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZSgpCiB7Ci0gICAgbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyID0gMDsKKyAgICBt
X2dsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIgPSBudWxscHRyOwogfQogCiBzdGF0aWMgQXRrT2Jq
ZWN0KiBjaGlsZEVsZW1lbnRCeUlkKEF0a09iamVjdCogcGFyZW50LCBjb25zdCBjaGFyKiBpZCkK
IHsKICAgICBpZiAoIUFUS19JU19PQkpFQ1QocGFyZW50KSkKLSAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgYm9vbCBwYXJlbnRGb3VuZCA9IGZhbHNlOwog
ICAgIEF0a0F0dHJpYnV0ZVNldCogYXR0cmlidXRlU2V0ID0gYXRrX29iamVjdF9nZXRfYXR0cmli
dXRlcyhwYXJlbnQpOwpAQCAtOTQsMTQgKzk0LDE0IEBAIHN0YXRpYyBBdGtPYmplY3QqIGNoaWxk
RWxlbWVudEJ5SWQoQXRrT2JqZWN0KiBwYXJlbnQsIGNvbnN0IGNoYXIqIGlkKQogICAgICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkKQogewog
ICAgIEF0a09iamVjdCogcm9vdCA9IEFUS19PQkpFQ1QoV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVj
dChJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCkpKTsKICAgICBpZiAoIXJv
b3QpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHNp
emVfdCBidWZmZXJTaXplID0gSlNTdHJpbmdHZXRNYXhpbXVtVVRGOENTdHJpbmdTaXplKGlkKTsK
ICAgICBHT3duUHRyPGdjaGFyPiBpZEJ1ZmZlcihzdGF0aWNfY2FzdDxnY2hhcio+KGdfbWFsbG9j
KGJ1ZmZlclNpemUpKSk7CkBAIC0xMTEsNyArMTExLDcgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmls
aXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRC
eUkKICAgICBpZiAoQVRLX0lTX09CSkVDVChyZXN1bHQpKQogICAgICAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKHJlc3VsdCk7CiAKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQpAQCAtMTQ4LDcgKzE0OCw3IEBA
IGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVy
KCkKICAgICAvLyBQcm9ncmFtbWVycyBzaG91bGQgbm90IGJlIHRyeWluZyB0byByZW1vdmUgYSBs
aXN0ZW5lciB0aGF0J3MgYWxyZWFkeSByZW1vdmVkLgogICAgIEFTU0VSVChtX2dsb2JhbE5vdGlm
aWNhdGlvbkhhbmRsZXIpOwogCi0gICAgbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyID0gMDsK
KyAgICBtX2dsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIgPSBudWxscHRyOwogICAgIHJldHVybiBm
YWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4IDA0NjM3YjMuLjRhYzNkOWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25IYW5kbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKQEAg
LTQ3LDcgKzQ3LDcgQEAgdW5zaWduZWQgcHJvcGVydHlDaGFuZ2VkTGlzdGVuZXJJZCA9IDA7CiB1
bnNpZ25lZCB2aXNpYmxlRGF0YUNoYW5nZWRMaXN0ZW5lcklkID0gMDsKIHVuc2lnbmVkIGxvYWRD
b21wbGV0ZUxpc3RlbmVySWQgPSAwOwogTm90aWZpY2F0aW9uSGFuZGxlcnNNYXAgbm90aWZpY2F0
aW9uSGFuZGxlcnM7Ci1BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlciogZ2xvYmFsTm90
aWZpY2F0aW9uSGFuZGxlciA9IDA7CitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlciog
Z2xvYmFsTm90aWZpY2F0aW9uSGFuZGxlciA9IG51bGxwdHI7CiBib29sIGxvZ2dpbmdBY2Nlc3Np
YmlsaXR5RXZlbnRzID0gZmFsc2U7CiAKIHZvaWQgcHJpbnRBY2Nlc3NpYmlsaXR5RXZlbnQoQXRr
T2JqZWN0KiBhY2Nlc3NpYmxlLCBjb25zdCBjaGFyKiBzaWduYWxOYW1lLCBjb25zdCBjaGFyKiBz
aWduYWxWYWx1ZSkKQEAgLTg1LDcgKzg1LDcgQEAgZ2Jvb2xlYW4gYXhPYmplY3RFdmVudExpc3Rl
bmVyKEdTaWduYWxJbnZvY2F0aW9uSGludCogc2lnbmFsSGludCwgdW5zaWduZWQgbnVtUGEKICAg
ICBHU2lnbmFsUXVlcnkgc2lnbmFsUXVlcnk7CiAgICAgR093blB0cjxjaGFyPiBzaWduYWxOYW1l
OwogICAgIEdPd25QdHI8Y2hhcj4gc2lnbmFsVmFsdWU7Ci0gICAgY29uc3QgY2hhciogbm90aWZp
Y2F0aW9uTmFtZSA9IDA7CisgICAgY29uc3QgY2hhciogbm90aWZpY2F0aW9uTmFtZSA9IG51bGxw
dHI7CiAKICAgICBnX3NpZ25hbF9xdWVyeShzaWduYWxIaW50LT5zaWduYWxfaWQsICZzaWduYWxR
dWVyeSk7CiAKQEAgLTEyMSw3ICsxMjEsNyBAQCBnYm9vbGVhbiBheE9iamVjdEV2ZW50TGlzdGVu
ZXIoR1NpZ25hbEludm9jYXRpb25IaW50KiBzaWduYWxIaW50LCB1bnNpZ25lZCBudW1QYQogICAg
IFdLQnVuZGxlRnJhbWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKHBh
Z2UpOwogICAgIEpTQ29udGV4dFJlZiBqc0NvbnRleHQgPSBXS0J1bmRsZUZyYW1lR2V0SmF2YVNj
cmlwdENvbnRleHQobWFpbkZyYW1lKTsKICNlbHNlCi0gICAgSlNDb250ZXh0UmVmIGpzQ29udGV4
dCA9IDA7CisgICAgSlNDb250ZXh0UmVmIGpzQ29udGV4dCA9IG51bGxwdHI7CiAjZW5kaWYKICAg
ICBpZiAoIWpzQ29udGV4dCkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xODIsNyArMTgyLDcg
QEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlcjo6c2V0Tm90aWZpY2F0aW9u
RnVuY3Rpb25DYWxsYmFjayhKU1ZhbHVlUmUKICAgICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFt
ZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShwYWdlKTsKICAgICBKU0NvbnRleHRSZWYganND
b250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFTY3JpcHRDb250ZXh0KG1haW5GcmFtZSk7CiAj
ZWxzZQotICAgIEpTQ29udGV4dFJlZiBqc0NvbnRleHQgPSAwOworICAgIEpTQ29udGV4dFJlZiBq
c0NvbnRleHQgPSBudWxscHRyOwogI2VuZGlmCiAgICAgaWYgKCFqc0NvbnRleHQpCiAgICAgICAg
IHJldHVybjsKQEAgLTIxMywxNCArMjEzLDE0IEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXI6OnJlbW92ZUFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyKCkKICAg
ICBXS0J1bmRsZUZyYW1lUmVmIG1haW5GcmFtZSA9IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShw
YWdlKTsKICAgICBKU0NvbnRleHRSZWYganNDb250ZXh0ID0gV0tCdW5kbGVGcmFtZUdldEphdmFT
Y3JpcHRDb250ZXh0KG1haW5GcmFtZSk7CiAjZWxzZQotICAgIEpTQ29udGV4dFJlZiBqc0NvbnRl
eHQgPSAwOworICAgIEpTQ29udGV4dFJlZiBqc0NvbnRleHQgPSBudWxscHRyOwogI2VuZGlmCiAg
ICAgaWYgKCFqc0NvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChnbG9iYWxOb3Rp
ZmljYXRpb25IYW5kbGVyID09IHRoaXMpIHsKICAgICAgICAgSlNWYWx1ZVVucHJvdGVjdChqc0Nv
bnRleHQsIGdsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXItPm5vdGlmaWNhdGlvbkZ1bmN0aW9uQ2Fs
bGJhY2soKSk7Ci0gICAgICAgIGdsb2JhbE5vdGlmaWNhdGlvbkhhbmRsZXIgPSAwOworICAgICAg
ICBnbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyID0gbnVsbHB0cjsKICAgICB9IGVsc2UgaWYgKG1f
cGxhdGZvcm1FbGVtZW50LmdldCgpKSB7CiAgICAgICAgIE5vdGlmaWNhdGlvbkhhbmRsZXJzTWFw
OjppdGVyYXRvciByZW1vdmVOb3RpZmljYXRpb25IYW5kbGVyID0gbm90aWZpY2F0aW9uSGFuZGxl
cnMuZmluZChtX3BsYXRmb3JtRWxlbWVudC5nZXQoKSk7CiAgICAgICAgIGlmIChyZW1vdmVOb3Rp
ZmljYXRpb25IYW5kbGVyICE9IG5vdGlmaWNhdGlvbkhhbmRsZXJzLmVuZCgpKSB7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4IDJiOWI4OTIuLjgyMDI1
MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC0x
MzAsMTMgKzEzMCwxMyBAQCBBdGtBdHRyaWJ1dGVTZXQqIGdldEF0dHJpYnV0ZVNldChBdGtPYmpl
Y3QqIGFjY2Vzc2libGUsIEF0a0F0dHJpYnV0ZVR5cGUgdHlwZSkKIAogICAgIGlmICh0eXBlID09
IFRleHRBdHRyaWJ1dGVUeXBlKSB7CiAgICAgICAgIGlmICghQVRLX0lTX1RFWFQoYWNjZXNzaWJs
ZSkpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
CiAgICAgICAgIHJldHVybiBhdGtfdGV4dF9nZXRfZGVmYXVsdF9hdHRyaWJ1dGVzKEFUS19URVhU
KGFjY2Vzc2libGUpKTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogU3RyaW5nIGdldEF0dHJpYnV0ZVNl
dFZhbHVlRm9ySWQoQXRrT2JqZWN0KiBhY2Nlc3NpYmxlLCBBdGtBdHRyaWJ1dGVUeXBlIHR5cGUs
IFN0cmluZyBpZCkKQEAgLTM4Nyw3ICszODcsNyBAQCBTdHJpbmcgYXR0cmlidXRlc09mRWxlbWVu
dChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQogICAgIC8vIEZvciB0aGUgcGFyZW50
IHdlIHByaW50IGl0cyByb2xlIGFuZCBpdHMgbmFtZSwgaWYgYXZhaWxhYmxlLgogICAgIGJ1aWxk
ZXIuYXBwZW5kKCJBWFBhcmVudDogIik7CiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ+IHBhcmVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKTsKLSAgICBBdGtPYmplY3QqIGF0
a1BhcmVudCA9IHBhcmVudCA/IHBhcmVudC0+cGxhdGZvcm1VSUVsZW1lbnQoKS5nZXQoKSA6IDA7
CisgICAgQXRrT2JqZWN0KiBhdGtQYXJlbnQgPSBwYXJlbnQgPyBwYXJlbnQtPnBsYXRmb3JtVUlF
bGVtZW50KCkuZ2V0KCkgOiBudWxscHRyOwogICAgIGlmIChhdGtQYXJlbnQpIHsKICAgICAgICAg
YnVpbGRlci5hcHBlbmQocm9sZVRvU3RyaW5nKGF0a19vYmplY3RfZ2V0X3JvbGUoYXRrUGFyZW50
KSkpOwogICAgICAgICBjb25zdCBjaGFyKiBwYXJlbnROYW1lID0gYXRrX29iamVjdF9nZXRfbmFt
ZShhdGtQYXJlbnQpOwpAQCAtNTQwLDcgKzU0MCw3IEBAIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpjaGlsZHJlbkNvdW50KCkKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQogewog
ICAgIGlmICghQVRLX0lTX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpKQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBHUmVmUHRyPEF0a09iamVjdD4g
b2JqZWN0QXRQb2ludCA9IGFkb3B0R1JlZihhdGtfY29tcG9uZW50X3JlZl9hY2Nlc3NpYmxlX2F0
X3BvaW50KEFUS19DT01QT05FTlQobV9lbGVtZW50LmdldCgpKSwgeCwgeSwgQVRLX1hZX1dJTkRP
VykpOwogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUob2JqZWN0QXRQ
b2ludCA/IG9iamVjdEF0UG9pbnQuZ2V0KCkgOiBtX2VsZW1lbnQuZ2V0KCkpOwpAQCAtNTY1LDcg
KzU2NSw3IEBAIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4T2ZDaGlsZChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZEF0SW5kZXgodW5zaWduZWQg
aW5kZXgpCiB7CiAgICAgaWYgKCFBVEtfSVNfT0JKRUNUKG1fZWxlbWVudC5nZXQoKSkpCi0gICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFZlY3RvcjxSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gPiBjaGlsZHJlbjsKICAgICBnZXRDaGlsZHJlbldp
dGhSYW5nZShjaGlsZHJlbiwgaW5kZXgsIDEpOwpAQCAtNTczLDQzICs1NzMsNDMgQEAgUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGls
ZEF0SW5kZXgodW5zaWduZWQKICAgICBpZiAoY2hpbGRyZW4uc2l6ZSgpID09IDEpCiAgICAgICAg
IHJldHVybiBjaGlsZHJlblswXTsKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCiB7CiAgICAg
Ly8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCiB7CiAgICAgLy8g
RklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKIHsKICAgICAvLyBG
SVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
IFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZGlzY2xvc2VkUm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKIHsKICAgICAvLyBGSVhNRTog
aW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NS
ZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93
QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZEF0SW5k
ZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAotICAg
IHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiB1bnNpZ25lZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkcmVuQ291bnQoKSBjb25zdApAQCAtNjIxLDE5ICs2
MjEsMTkgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZHJl
bkNvdW50KCkgY29uc3QKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQogewog
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0aXRsZVVJRWxlbWVudCgpCiB7CiAgICAgaWYgKCFBVEtfSVNfT0JKRUNUKG1f
ZWxlbWVudC5nZXQoKSkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIEF0a1JlbGF0aW9uU2V0KiBzZXQgPSBhdGtfb2JqZWN0X3JlZl9yZWxhdGlvbl9z
ZXQoQVRLX09CSkVDVChtX2VsZW1lbnQuZ2V0KCkpKTsKICAgICBpZiAoIXNldCkKLSAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgQXRrT2JqZWN0KiB0YXJn
ZXQgPSAwOworICAgIEF0a09iamVjdCogdGFyZ2V0ID0gbnVsbHB0cjsKICAgICBpbnQgY291bnQg
PSBhdGtfcmVsYXRpb25fc2V0X2dldF9uX3JlbGF0aW9ucyhzZXQpOwogICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICBBdGtSZWxhdGlvbiogcmVsYXRpb24gPSBh
dGtfcmVsYXRpb25fc2V0X2dldF9yZWxhdGlvbihzZXQsIGkpOwpAQCAtNjQ1LDIyICs2NDUsMjIg
QEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0aXRsZVVJRWxlbWVudCgpCiAgICAgfQogCiAgICAgZ19vYmplY3RfdW5yZWYoc2V0KTsK
LSAgICByZXR1cm4gdGFyZ2V0ID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKHRhcmdl
dCkgOiAwOworICAgIHJldHVybiB0YXJnZXQgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVh
dGUodGFyZ2V0KSA6IG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxl
bWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCgpCiB7CiAgICAgaWYg
KCFBVEtfSVNfT0JKRUNUKG1fZWxlbWVudC5nZXQoKSkpCi0gICAgICAgIHJldHVybiAwOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIEF0a09iamVjdCogcGFyZW50ID0gYXRrX29iamVj
dF9nZXRfcGFyZW50KEFUS19PQkpFQ1QobV9lbGVtZW50LmdldCgpKSk7Ci0gICAgcmV0dXJuIHBh
cmVudCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShwYXJlbnQpIDogMDsKKyAgICBy
ZXR1cm4gcGFyZW50ID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKHBhcmVudCkgOiBu
dWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93KCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVt
ZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZMaW5rZWRV
SUVsZW1lbnRzKCkKQEAgLTczNCw3ICs3MzQsNyBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQogUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVs
ZW1lbnRBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpIGNvbnN0CiB7CiAgICAg
Ly8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0
cmluZ1JlZiBhdHRyaWJ1dGUpCkBAIC04MjcsNyArODI3LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICBp
ZiAoIUFUS19JU19PQkpFQ1QobV9lbGVtZW50LmdldCgpKSkKICAgICAgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7CiAKLSAgICBjb25zdCBnY2hhciogYXhPcmll
bnRhdGlvbiA9IDA7CisgICAgY29uc3QgZ2NoYXIqIGF4T3JpZW50YXRpb24gPSBudWxscHRyOwog
ICAgIGlmIChjaGVja0VsZW1lbnRTdGF0ZShtX2VsZW1lbnQuZ2V0KCksIEFUS19TVEFURV9IT1JJ
Wk9OVEFMKSkKICAgICAgICAgYXhPcmllbnRhdGlvbiA9ICJBWE9yaWVudGF0aW9uOiBBWEhvcml6
b250YWxPcmllbnRhdGlvbiI7CiAgICAgZWxzZSBpZiAoY2hlY2tFbGVtZW50U3RhdGUobV9lbGVt
ZW50LmdldCgpLCBBVEtfU1RBVEVfVkVSVElDQUwpKQpAQCAtMTEzOCw3ICsxMTM4LDcgQEAgYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxs
ZWQodW5zaWduZWQgbG9jYXRpb24KIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBzdGFydEVsZW1lbnQsIGJv
b2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwgSlNTdHJpbmdSZWYgc2Vh
cmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJz
KCkKQEAgLTEyMjMsMjQgKzEyMjMsMjQgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UoKQogUGFzc1JlZlB0cjxBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5k
Um93KHVuc2lnbmVkIGNvbCwgdW5zaWduZWQgcm93KQogewogICAgIGlmICghQVRLX0lTX1RBQkxF
KG1fZWxlbWVudC5nZXQoKSkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIC8vIEFkb3B0IHRoZSBBdGtPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjZWxs
IGJlY2F1c2UKICAgICAvLyBhdF90YWJsZV9yZWZfYXQoKSB0cmFuc2ZlcnMgZnVsbCBvd25lcnNo
aXAuCiAgICAgR1JlZlB0cjxBdGtPYmplY3Q+IGZvdW5kQ2VsbCA9IGFkb3B0R1JlZihhdGtfdGFi
bGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQuZ2V0KCkpLCByb3csIGNvbCkpOwotICAgIHJl
dHVybiBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoZm91bmRDZWxs
LmdldCgpKSA6IDA7CisgICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNyZWF0ZShmb3VuZENlbGwuZ2V0KCkpIDogbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpob3Jpem9udGFs
U2Nyb2xsYmFyKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmVydGljYWxTY3JvbGxiYXIoKSBjb25z
dAogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNlbGVjdGVkVGV4dFJhbmdlKCkKQEAgLTEzNTYsNyArMTM1Niw3IEBAIGJvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQogewogICAg
IC8vIFByb2dyYW1tZXJzIHNob3VsZCBub3QgYmUgdHJ5aW5nIHRvIHJlbW92ZSBhIGxpc3RlbmVy
IHRoYXQncyBhbHJlYWR5IHJlbW92ZWQuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uSGFuZGxl
cik7Ci0gICAgbV9ub3RpZmljYXRpb25IYW5kbGVyID0gMDsKKyAgICBtX25vdGlmaWNhdGlvbkhh
bmRsZXIgPSBudWxscHRyOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDMyLDcgKzE0MzIs
NyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlvbigpCiBQYXNz
UmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxl
bWVudCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2Vy
UmFuZ2VMZW5ndGgoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCkBAIC0xNDQ0
LDEzICsxNDQ0LDEzIEBAIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFu
Z2VMZW5ndGgoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSoKIFBhc3NSZWZQdHI8QWNjZXNz
aWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZpb3VzVGV4dE1h
cmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKIHsKICAgICAvLyBGSVhN
RTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBh
c3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om5leHRUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQogewog
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBt
YXJrZXJSYW5nZSkKQEAgLTE0NjIsNDMgKzE0NjIsNDMgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nl
c3MKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpCiB7
CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAot
ICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2Vy
Rm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQog
ewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3
aWR0aCwgaW50IGhlaWdodCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvckJvdW5k
cyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkKIHsKICAgICAvLyBGSVhNRTog
aW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NS
ZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRl
eHRNYXJrZXJGb3JQb2ludChpbnQgeCwgaW50IHkpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVu
dAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxp
dHlFbGVtZW50Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQog
ewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5n
Rm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUoSlNTdHJpbmdSZWYgYXR0cmlidXRl
LCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKQEAgLTE1MjIsNyArMTUyMiw3
IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNUZXh0TWFya2VyVmFsaWQoQWNjZXNz
aWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0
TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9ySW5kZXgoaW50IHRl
eHRJbmRleCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAgICAgCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIoKQpAQCAtMTU0NSwz
MSArMTU0NSwzMSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZp
c2libGUoKQogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnN1cHBvcnRlZEFjdGlvbnMoKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbigpIGNvbnN0CiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNj
cmlwdGlvbigpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCgpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV1RSCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>