<?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>157652</bug_id>
          
          <creation_ts>2016-05-12 17:44:28 -0700</creation_ts>
          <short_desc>AX: Regressions in undo/redo accessibility from Bug 153361</short_desc>
          <delta_ts>2016-05-13 12:34:01 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Doug Russell">d_russell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1192549</commentid>
    <comment_count>0</comment_count>
    <who name="Doug Russell">d_russell</who>
    <bug_when>2016-05-12 17:44:28 -0700</bug_when>
    <thetext>The changes required by https://bugs.webkit.org/show_bug.cgi?id=153361 regressed undo and redo in editable text to the point that they’re effectively inaccessible. This follow on work is needed to bring us back to El Capitan parity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192550</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-05-12 17:45:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/26259192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192552</commentid>
    <comment_count>2</comment_count>
    <who name="Doug Russell">d_russell</who>
    <bug_when>2016-05-12 17:46:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/26180300&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192566</commentid>
    <comment_count>3</comment_count>
      <attachid>278795</attachid>
    <who name="Doug Russell">d_russell</who>
    <bug_when>2016-05-12 18:24:41 -0700</bug_when>
    <thetext>Created attachment 278795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192833</commentid>
    <comment_count>4</comment_count>
      <attachid>278859</attachid>
    <who name="Doug Russell">d_russell</who>
    <bug_when>2016-05-13 12:04:39 -0700</bug_when>
    <thetext>Created attachment 278859
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192850</commentid>
    <comment_count>5</comment_count>
      <attachid>278859</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 12:33:56 -0700</bug_when>
    <thetext>Comment on attachment 278859
Patch for landing

Clearing flags on attachment: 278859

Committed r200876: &lt;http://trac.webkit.org/changeset/200876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192851</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 12:34:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278795</attachid>
            <date>2016-05-12 18:24:41 -0700</date>
            <delta_ts>2016-05-13 12:04:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157652-20160512182532.patch</filename>
            <type>text/plain</type>
            <size>30185</size>
            <attacher name="Doug Russell">d_russell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDVkMTU3YzVhZDY2MDUz
N2Q4YWMwZjU2OWU4ZGQ4MTNjOThjZjNlNC4uZGEzYzkyYWVmNzIzZDMwMzgxMjRjNGRiMzdlZTBi
NWY0OTc1NzgwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE2LTA1LTEyICBEb3Vn
IFJ1c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBSZWdyZXNzaW9u
cyBpbiB1bmRvL3JlZG8gYWNjZXNzaWJpbGl0eSBmcm9tIEJ1ZyAxNTMzNjEKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzY1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVXNlIGluZGV4Rm9y
VmlzaWJsZVBvc2l0aW9uICYgdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXggdG8gc3RvcmUgc2VsZWN0
aW9uIGRhdGEKKyAgICAgICAgc28gdGhhdCBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dCBj
YW4gYnVpbGQgdmFsaWQgc2VsZWN0aW9uIHJhbmdlcyBhbmQKKyAgICAgICAgcmV0cmlldmUgc3Ry
aW5ncyBmb3IgQVQgbm90aWZpY2F0aW9ucy4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0
eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tY29udGVudGVkaXRhYmxl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNo
YW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS5odG1sOgorICAgICAg
ICAgICAgICAgYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2Vy
LWluZm8tdGV4dGFyZWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0
eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEuaHRtbDoK
KyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFu
Z2UtdXNlci1pbmZvLXRleHRmaWVsZC1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICAgICBhY2Nl
c3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0Zmll
bGQuaHRtbDoKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVwbGFjZWRUZXh0OjpBY2Nlc3NpYmlsaXR5
UmVwbGFjZWRUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RUZXh0
U3RhdGVDaGFuZ2VOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6cG9zdFRleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbik6CisgICAgICAgICogZWRpdGluZy9D
b21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
VW5kb1JlcGxhY2VkVGV4dDo6Y29uZmlndXJlUmFuZ2VEZWxldGVkQnlSZWFwcGx5V2l0aEVuZGlu
Z1NlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2Vk
VGV4dDo6Y29uZmlndXJlUmFuZ2VEZWxldGVkQnlSZWFwcGx5V2l0aFN0YXJ0aW5nU2VsZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpzZXRS
YW5nZURlbGV0ZWRCeVVuYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVVu
ZG9SZXBsYWNlZFRleHQ6OmNhcHR1cmVUZXh0Rm9yVW5hcHBseSk6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRGb3JSZWFwcGx5KToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojp0ZXh0RGVs
ZXRlZEJ5VW5hcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxh
Y2VkVGV4dDo6dGV4dERlbGV0ZWRCeVJlYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OnBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb25G
b3JVbmFwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRU
ZXh0Ojpwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yUmVhcHBseSk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21tYW5kQ29tcG9zaXRpb246OnVuYXBwbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6cmVhcHBseSk6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRTdGFydGluZ1NlbGVjdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRFbmRpbmdT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6c2V0
UmFuZ2VEZWxldGVkQnlVbmFwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0Ojpjb25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseUluZGV4ZXNX
aXRoRWRpdENvbW1hbmRFbmRpbmdTZWxlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OmNvbmZndXJlVGV4dFRvQmVEZWxldGVk
QnlVbmFwcGx5U3RhcnRJbmRleFdpdGhFZGl0Q29tbWFuZFN0YXJ0aW5nU2VsZWN0aW9uKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpz
ZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5
VW5hcHBseSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1Jl
cGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5UmVhcHBseSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6dGV4dEluc2Vy
dGVkQnlVbmFwcGx5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0Ojp0ZXh0SW5zZXJ0ZWRCeVJlYXBwbHkpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6c2V0VGV4dEluc2VydGVkQnlVbmFw
cGx5UmFuZ2UpOiBEZWxldGVkLgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1h
bmQuaDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6OnJlcGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQpOgorICAgICAgICAqIGVkaXRpbmcv
VHlwaW5nQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjpwb3N0
VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yRGVsZXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dEFuZE5vdGlmeUFjY2Vzc2liaWxpdHkpOgorICAg
ICAgICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrQW5kTm90aWZ5QWNj
ZXNzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRQYXJh
Z3JhcGhTZXBhcmF0b3JBbmROb3RpZnlBY2Nlc3NpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6
OlR5cGluZ0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvckluUXVvdGVkQ29udGVudEFu
ZE5vdGlmeUFjY2Vzc2liaWxpdHkpOgorCiAyMDE2LTA1LTEyICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjAwNjAxKTogQ3Jh
c2ggd2hlbiB1c2luZyBsb2NhbCgpIGFuZCB1bmljb2RlLXJhbmdlIGluIEBmb250LWZhY2UgYmxv
Y2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyNGE5ZDBkODcyYzJhYjkxMDYzOGM2ZTE3OTFiNGY4NDk2MWVjYzUzLi42ZWNiODVjNmZj
ZjgxNjJhY2FhZDkyMDJmM2RhMWJmZDU5MTJiNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTEyMiwxMCArMTIyLDEzIEBAIHZvaWQg
QVhDb21wdXRlZE9iamVjdEF0dHJpYnV0ZUNhY2hlOjpzZXRJZ25vcmVkKEFYSUQgaWQsIEFjY2Vz
c2liaWxpdHlPYmplY3RJbmNsCiAKIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQ6OkFjY2Vzc2li
aWxpdHlSZXBsYWNlZFRleHQoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQogewot
ICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIHNlbGVjdGlv
bi5pc1JhbmdlKCkpIHsKLSAgICAgICAgbV9yZXBsYWNlZFRleHQgPSBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpzdHJpbmdGb3JWaXNpYmxlUG9zaXRpb25SYW5nZShzZWxlY3Rpb24pOworICAgIGlmIChB
WE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIG1fcmVwbGFj
ZWRSYW5nZS5zdGFydEluZGV4LnZhbHVlID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oc2VsZWN0
aW9uLnN0YXJ0KCksIG1fcmVwbGFjZWRSYW5nZS5zdGFydEluZGV4LnNjb3BlKTsKLSAgICAgICAg
bV9yZXBsYWNlZFJhbmdlLmVuZEluZGV4LnZhbHVlID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24o
c2VsZWN0aW9uLmVuZCgpLCBtX3JlcGxhY2VkUmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgICAg
ICBpZiAoc2VsZWN0aW9uLmlzUmFuZ2UoKSkgeworICAgICAgICAgICAgbV9yZXBsYWNlZFRleHQg
PSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzdHJpbmdGb3JWaXNpYmxlUG9zaXRpb25SYW5nZShzZWxl
Y3Rpb24pOworICAgICAgICAgICAgbV9yZXBsYWNlZFJhbmdlLmVuZEluZGV4LnZhbHVlID0gaW5k
ZXhGb3JWaXNpYmxlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLCBtX3JlcGxhY2VkUmFuZ2UuZW5k
SW5kZXguc2NvcGUpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fcmVwbGFjZWRSYW5n
ZS5lbmRJbmRleCA9IG1fcmVwbGFjZWRSYW5nZS5zdGFydEluZGV4OwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCA0
ZGQxNzY1NGJiNTAyMWZlZTE3NTk4MzY0MzYyMDljYTgzYzllNmVkLi5mZmRmMmZiNmQ4ZjhlM2Nm
ZjlkYWUyOTVmNWM3NGJkYzJkODJmYzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtODUsNDMgKzg1LDQzIEBAIGludCBBY2Nlc3Np
YmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlz
aWJsZVBvc2l0aW9uCiAgICAgcmV0dXJuIFdlYkNvcmU6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9u
KHBvc2l0aW9uLCBzY29wZSk7CiB9CiAKLXZvaWQgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRl
eHQ6OmNvbmZndXJlVGV4dFRvQmVEZWxldGVkQnlVbmFwcGx5SW5kZXhlc1dpdGhFZGl0Q29tbWFu
ZEVuZGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCit2b2lk
IEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpjb25maWd1cmVSYW5nZURlbGV0ZWRCeVJl
YXBwbHlXaXRoRW5kaW5nU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlv
bikKIHsKICAgICBpZiAoIUFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBpZiAoc2VsZWN0aW9uLmlzUmFuZ2UoKSAmJiBtX3RleHREZWxl
dGVkQnlVbmFwcGx5UmFuZ2Uuc3RhcnRJbmRleC52YWx1ZSA9PSAtMSkKLSAgICAgICAgbV90ZXh0
RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQ
b3NpdGlvbihzZWxlY3Rpb24uc3RhcnQoKSwgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0
YXJ0SW5kZXguc2NvcGUpOwotICAgIGlmIChtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2UuZW5k
SW5kZXgudmFsdWUgPT0gLTEpCi0gICAgICAgIG1fdGV4dERlbGV0ZWRCeVVuYXBwbHlSYW5nZS5l
bmRJbmRleC52YWx1ZSA9IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKHNlbGVjdGlvbi5zdGFydCgp
LCBtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgIGlmIChz
ZWxlY3Rpb24uaXNOb25lKCkpCisgICAgICAgIHJldHVybjsKKyAgICBtX3JhbmdlRGVsZXRlZEJ5
UmVhcHBseS5lbmRJbmRleC52YWx1ZSA9IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKHNlbGVjdGlv
bi5lbmQoKSwgbV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuZW5kSW5kZXguc2NvcGUpOwogfQogCi12
b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpjb25mZ3VyZVRleHRUb0JlRGVsZXRl
ZEJ5VW5hcHBseVN0YXJ0SW5kZXhXaXRoRWRpdENvbW1hbmRTdGFydGluZ1NlbGVjdGlvbihjb25z
dCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCit2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVw
bGFjZWRUZXh0Ojpjb25maWd1cmVSYW5nZURlbGV0ZWRCeVJlYXBwbHlXaXRoU3RhcnRpbmdTZWxl
Y3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQogewogICAgIGlmICghQVhP
YmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAg
IGlmIChtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2Uuc3RhcnRJbmRleC52YWx1ZSA9PSAtMSkK
LSAgICAgICAgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXgudmFsdWUgPSBp
bmRleEZvclZpc2libGVQb3NpdGlvbihzZWxlY3Rpb24uc3RhcnQoKSwgbV90ZXh0RGVsZXRlZEJ5
VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXguc2NvcGUpOwotICAgIGlmIChzZWxlY3Rpb24uaXNSYW5n
ZSgpICYmIG1fdGV4dERlbGV0ZWRCeVVuYXBwbHlSYW5nZS5lbmRJbmRleC52YWx1ZSA9PSAtMSkK
LSAgICAgICAgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLmVuZEluZGV4LnZhbHVlID0gaW5k
ZXhGb3JWaXNpYmxlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLCBtX3RleHREZWxldGVkQnlVbmFw
cGx5UmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgIGlmIChzZWxlY3Rpb24uaXNOb25lKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBpZiAobV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRl
eC52YWx1ZSA9PSAtMSkKKyAgICAgICAgbV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRl
eC52YWx1ZSA9IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKHNlbGVjdGlvbi5zdGFydCgpLCBtX3Jh
bmdlRGVsZXRlZEJ5UmVhcHBseS5zdGFydEluZGV4LnNjb3BlKTsKIH0KIAotdm9pZCBBY2Nlc3Np
YmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6c2V0VGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2UoY29u
c3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYgcmFuZ2UpCit2b2lkIEFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0OjpzZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkoY29uc3QgVmlzaWJsZVBv
c2l0aW9uSW5kZXhSYW5nZSYgcmFuZ2UpCiB7Ci0gICAgbV90ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlS
YW5nZSA9IHJhbmdlOworICAgIGlmIChtX3JhbmdlRGVsZXRlZEJ5VW5hcHBseS5pc051bGwoKSkK
KyAgICAgICAgbV9yYW5nZURlbGV0ZWRCeVVuYXBwbHkgPSByYW5nZTsKIH0KIAotdm9pZCBBY2Nl
c3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBs
eSgpCit2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpjYXB0dXJlVGV4dEZvclVu
YXBwbHkoKQogewogICAgIGlmICghQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcmVwbGFjZWRUZXh0ID0gdGV4dEluc2VydGVkQnlS
ZWFwcGx5KCk7CisgICAgbV9yZXBsYWNlZFRleHQgPSB0ZXh0RGVsZXRlZEJ5UmVhcHBseSgpOwog
fQogCi12b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpjYXB0dXJlVGV4dFRvQmVE
ZWxldGVkQnlSZWFwcGx5KCkKK3ZvaWQgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OmNh
cHR1cmVUZXh0Rm9yUmVhcHBseSgpCiB7CiAgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9yZXBsYWNlZFRleHQgPSB0
ZXh0SW5zZXJ0ZWRCeVVuYXBwbHkoKTsKKyAgICBtX3JlcGxhY2VkVGV4dCA9IHRleHREZWxldGVk
QnlVbmFwcGx5KCk7CiB9CiAKIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9u
SW5kZXhSYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlJiByYW5nZSkKQEAgLTEz
MywxOCArMTMzLDE4IEBAIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9uSW5k
ZXhSYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlCiAgICAgcmV0dXJuIEFjY2Vz
c2liaWxpdHlPYmplY3Q6OnN0cmluZ0ZvclZpc2libGVQb3NpdGlvblJhbmdlKFZpc2libGVQb3Np
dGlvblJhbmdlKHN0YXJ0LCBlbmQpKTsKIH0KIAotU3RyaW5nIEFjY2Vzc2liaWxpdHlVbmRvUmVw
bGFjZWRUZXh0Ojp0ZXh0SW5zZXJ0ZWRCeVVuYXBwbHkoKQorU3RyaW5nIEFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0Ojp0ZXh0RGVsZXRlZEJ5VW5hcHBseSgpCiB7CiAgICAgaWYgKCFBWE9i
amVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7Ci0gICAgcmV0dXJuIHN0cmluZ0ZvclZpc2libGVQb3NpdGlvbkluZGV4UmFuZ2UobV90ZXh0
SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZSk7CisgICAgcmV0dXJuIHN0cmluZ0ZvclZpc2libGVQb3Np
dGlvbkluZGV4UmFuZ2UobV9yYW5nZURlbGV0ZWRCeVVuYXBwbHkpOwogfQogCi1TdHJpbmcgQWNj
ZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OnRleHRJbnNlcnRlZEJ5UmVhcHBseSgpCitTdHJp
bmcgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OnRleHREZWxldGVkQnlSZWFwcGx5KCkK
IHsKICAgICBpZiAoIUFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICByZXR1cm4gc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9u
SW5kZXhSYW5nZShtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2UpOworICAgIHJldHVybiBzdHJp
bmdGb3JWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlKG1fcmFuZ2VEZWxldGVkQnlSZWFwcGx5KTsK
IH0KIAogc3RhdGljIHZvaWQgcG9zdFRleHRTdGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihBWE9iamVj
dENhY2hlKiBjYWNoZSwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwb3NpdGlvbiwgY29uc3QgU3Ry
aW5nJiBkZWxldGVkVGV4dCwgY29uc3QgU3RyaW5nJiBpbnNlcnRlZFRleHQpCkBAIC0xNjcsMTIg
KzE2NywxMiBAQCB2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpwb3N0VGV4dFN0
YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yVW5hcHBseShBWAogICAgICAgICByZXR1cm47CiAgICAg
aWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1
cm47Ci0gICAgaWYgKG1fdGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2UuaXNOdWxsKCkpCisgICAg
aWYgKG1fcmFuZ2VEZWxldGVkQnlVbmFwcGx5LmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgobV90
ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZS5lbmRJbmRleC52YWx1ZSwgbV90ZXh0SW5zZXJ0ZWRC
eVVuYXBwbHlSYW5nZS5lbmRJbmRleC5zY29wZS5nZXQoKSk7CisgICAgVmlzaWJsZVBvc2l0aW9u
IHBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgobV9yYW5nZURlbGV0ZWRCeVVuYXBw
bHkuZW5kSW5kZXgudmFsdWUsIG1fcmFuZ2VEZWxldGVkQnlVbmFwcGx5LmVuZEluZGV4LnNjb3Bl
LmdldCgpKTsKICAgICBpZiAocG9zaXRpb24uaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uKGNhY2hlLCBwb3NpdGlvbiwgdGV4dElu
c2VydGVkQnlVbmFwcGx5KCksIG1fcmVwbGFjZWRUZXh0KTsKKyAgICBwb3N0VGV4dFN0YXRlQ2hh
bmdlTm90aWZpY2F0aW9uKGNhY2hlLCBwb3NpdGlvbiwgdGV4dERlbGV0ZWRCeVVuYXBwbHkoKSwg
bV9yZXBsYWNlZFRleHQpOwogICAgIG1fcmVwbGFjZWRUZXh0ID0gU3RyaW5nKCk7CiB9CiAKQEAg
LTE4MiwxMiArMTgyLDEyIEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OnBv
c3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb25Gb3JSZWFwcGx5KEFYCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAoIUFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBpZiAobV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLmlzTnVsbCgp
KQorICAgIGlmIChtX3JhbmdlRGVsZXRlZEJ5UmVhcHBseS5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuOwotICAgIFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbiA9IHZpc2libGVQb3NpdGlvbkZvcklu
ZGV4KG1fdGV4dERlbGV0ZWRCeVVuYXBwbHlSYW5nZS5zdGFydEluZGV4LnZhbHVlLCBtX3RleHRE
ZWxldGVkQnlVbmFwcGx5UmFuZ2Uuc3RhcnRJbmRleC5zY29wZS5nZXQoKSk7CisgICAgVmlzaWJs
ZVBvc2l0aW9uIHBvc2l0aW9uID0gdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgobV9yYW5nZURlbGV0
ZWRCeVJlYXBwbHkuc3RhcnRJbmRleC52YWx1ZSwgbV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3Rh
cnRJbmRleC5zY29wZS5nZXQoKSk7CiAgICAgaWYgKHBvc2l0aW9uLmlzTnVsbCgpKQogICAgICAg
ICByZXR1cm47Ci0gICAgcG9zdFRleHRTdGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihjYWNoZSwgcG9z
aXRpb24sIG1fcmVwbGFjZWRUZXh0LCB0ZXh0SW5zZXJ0ZWRCeVJlYXBwbHkoKSk7CisgICAgcG9z
dFRleHRTdGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihjYWNoZSwgcG9zaXRpb24sIHRleHREZWxldGVk
QnlSZWFwcGx5KCksIG1fcmVwbGFjZWRUZXh0KTsKICAgICBtX3JlcGxhY2VkVGV4dCA9IFN0cmlu
ZygpOwogfQogCkBAIC0yMDUsNyArMjA1LDcgQEAgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6RWRp
dENvbW1hbmRDb21wb3NpdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFZpc2libGUKICAg
ICAsIG1fZW5kaW5nUm9vdEVkaXRhYmxlRWxlbWVudChlbmRpbmdTZWxlY3Rpb24ucm9vdEVkaXRh
YmxlRWxlbWVudCgpKQogICAgICwgbV9lZGl0QWN0aW9uKGVkaXRBY3Rpb24pCiB7Ci0gICAgbV9y
ZXBsYWNlZFRleHQuY29uZmd1cmVUZXh0VG9CZURlbGV0ZWRCeVVuYXBwbHlTdGFydEluZGV4V2l0
aEVkaXRDb21tYW5kU3RhcnRpbmdTZWxlY3Rpb24oc3RhcnRpbmdTZWxlY3Rpb24pOworICAgIG1f
cmVwbGFjZWRUZXh0LmNvbmZpZ3VyZVJhbmdlRGVsZXRlZEJ5UmVhcHBseVdpdGhTdGFydGluZ1Nl
bGVjdGlvbihzdGFydGluZ1NlbGVjdGlvbik7CiB9CiAKIHZvaWQgRWRpdENvbW1hbmRDb21wb3Np
dGlvbjo6dW5hcHBseSgpCkBAIC0yMTUsNyArMjE1LDcgQEAgdm9pZCBFZGl0Q29tbWFuZENvbXBv
c2l0aW9uOjp1bmFwcGx5KCkKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX3JlcGxhY2VkVGV4dC5jYXB0dXJlVGV4dFRvQmVEZWxldGVkQnlVbmFwcGx5KCk7CisgICAg
bV9yZXBsYWNlZFRleHQuY2FwdHVyZVRleHRGb3JVbmFwcGx5KCk7CiAKICAgICAvLyBDaGFuZ2Vz
IHRvIHRoZSBkb2N1bWVudCBtYXkgaGF2ZSBiZWVuIG1hZGUgc2luY2UgdGhlIGxhc3QgZWRpdGlu
ZyBvcGVyYXRpb24gdGhhdCByZXF1aXJlIGEgbGF5b3V0LCBhcyBpbiA8cmRhcjovL3Byb2JsZW0v
NTY1ODYwMz4uCiAgICAgLy8gTG93IGxldmVsIG9wZXJhdGlvbnMsIGxpa2UgUmVtb3ZlTm9kZUNv
bW1hbmQsIGRvbid0IHJlcXVpcmUgYSBsYXlvdXQgYmVjYXVzZSB0aGUgaGlnaCBsZXZlbCBvcGVy
YXRpb25zIHRoYXQgdXNlIHRoZW0gcGVyZm9ybSBvbmUKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2b2lk
IEVkaXRDb21tYW5kQ29tcG9zaXRpb246OnJlYXBwbHkoKQogICAgIGlmICghZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fcmVwbGFjZWRUZXh0LmNhcHR1cmVUZXh0VG9CZURlbGV0ZWRC
eVJlYXBwbHkoKTsKKyAgICBtX3JlcGxhY2VkVGV4dC5jYXB0dXJlVGV4dEZvclJlYXBwbHkoKTsK
IAogICAgIC8vIENoYW5nZXMgdG8gdGhlIGRvY3VtZW50IG1heSBoYXZlIGJlZW4gbWFkZSBzaW5j
ZSB0aGUgbGFzdCBlZGl0aW5nIG9wZXJhdGlvbiB0aGF0IHJlcXVpcmUgYSBsYXlvdXQsIGFzIGlu
IDxyZGFyOi8vcHJvYmxlbS81NjU4NjAzPi4KICAgICAvLyBMb3cgbGV2ZWwgb3BlcmF0aW9ucywg
bGlrZSBSZW1vdmVOb2RlQ29tbWFuZCwgZG9uJ3QgcmVxdWlyZSBhIGxheW91dCBiZWNhdXNlIHRo
ZSBoaWdoIGxldmVsIG9wZXJhdGlvbnMgdGhhdCB1c2UgdGhlbSBwZXJmb3JtIG9uZQpAQCAtMjcy
LDE5ICsyNzIsMTkgQEAgdm9pZCBFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRTdGFydGluZ1Nl
bGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3QKIHsKICAgICBtX3N0YXJ0aW5n
U2VsZWN0aW9uID0gc2VsZWN0aW9uOwogICAgIG1fc3RhcnRpbmdSb290RWRpdGFibGVFbGVtZW50
ID0gc2VsZWN0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKLSAgICBtX3JlcGxhY2VkVGV4dC5j
b25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseVN0YXJ0SW5kZXhXaXRoRWRpdENvbW1hbmRT
dGFydGluZ1NlbGVjdGlvbihzZWxlY3Rpb24pOworICAgIG1fcmVwbGFjZWRUZXh0LmNvbmZpZ3Vy
ZVJhbmdlRGVsZXRlZEJ5UmVhcHBseVdpdGhTdGFydGluZ1NlbGVjdGlvbihzZWxlY3Rpb24pOwog
fQogCiB2b2lkIEVkaXRDb21tYW5kQ29tcG9zaXRpb246OnNldEVuZGluZ1NlbGVjdGlvbihjb25z
dCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCiB7CiAgICAgbV9lbmRpbmdTZWxlY3Rpb24g
PSBzZWxlY3Rpb247CiAgICAgbV9lbmRpbmdSb290RWRpdGFibGVFbGVtZW50ID0gc2VsZWN0aW9u
LnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsKLSAgICBtX3JlcGxhY2VkVGV4dC5jb25mZ3VyZVRleHRU
b0JlRGVsZXRlZEJ5VW5hcHBseUluZGV4ZXNXaXRoRWRpdENvbW1hbmRFbmRpbmdTZWxlY3Rpb24o
c2VsZWN0aW9uKTsKKyAgICBtX3JlcGxhY2VkVGV4dC5jb25maWd1cmVSYW5nZURlbGV0ZWRCeVJl
YXBwbHlXaXRoRW5kaW5nU2VsZWN0aW9uKHNlbGVjdGlvbik7CiB9CiAKLXZvaWQgRWRpdENvbW1h
bmRDb21wb3NpdGlvbjo6c2V0VGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2UoY29uc3QgVmlzaWJs
ZVBvc2l0aW9uSW5kZXhSYW5nZSYgcmFuZ2UpCit2b2lkIEVkaXRDb21tYW5kQ29tcG9zaXRpb246
OnNldFJhbmdlRGVsZXRlZEJ5VW5hcHBseShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdl
JiByYW5nZSkKIHsKLSAgICBtX3JlcGxhY2VkVGV4dC5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlS
YW5nZShyYW5nZSk7CisgICAgbV9yZXBsYWNlZFRleHQuc2V0UmFuZ2VEZWxldGVkQnlVbmFwcGx5
KHJhbmdlKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuaAppbmRleCA0ZWUyYWUxYzQzZWIwY2UxZTU2MTc3MmFiMzY0
MDBjZGYwNTNmYWM4Li4wOGQyNDNkZDMwMjJkMTViODA0Y2Y1YjA3YmMxYjQ0NTU4MWRmNzJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCkBAIC00
MiwyNCArNDIsMjQgQEAgY2xhc3MgVGV4dDsKIGNsYXNzIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFj
ZWRUZXh0IHsKIHB1YmxpYzoKICAgICBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dCgpIHsg
fQotICAgIHZvaWQgY29uZmd1cmVUZXh0VG9CZURlbGV0ZWRCeVVuYXBwbHlTdGFydEluZGV4V2l0
aEVkaXRDb21tYW5kU3RhcnRpbmdTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwot
ICAgIHZvaWQgY29uZmd1cmVUZXh0VG9CZURlbGV0ZWRCeVVuYXBwbHlJbmRleGVzV2l0aEVkaXRD
b21tYW5kRW5kaW5nU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKLSAgICB2b2lk
IHNldFRleHRJbnNlcnRlZEJ5VW5hcHBseVJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlvbkluZGV4
UmFuZ2UmKTsKKyAgICB2b2lkIGNvbmZpZ3VyZVJhbmdlRGVsZXRlZEJ5UmVhcHBseVdpdGhTdGFy
dGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CisgICAgdm9pZCBjb25maWd1
cmVSYW5nZURlbGV0ZWRCeVJlYXBwbHlXaXRoRW5kaW5nU2VsZWN0aW9uKGNvbnN0IFZpc2libGVT
ZWxlY3Rpb24mKTsKKyAgICB2b2lkIHNldFJhbmdlRGVsZXRlZEJ5VW5hcHBseShjb25zdCBWaXNp
YmxlUG9zaXRpb25JbmRleFJhbmdlJik7CiAKLSAgICB2b2lkIGNhcHR1cmVUZXh0VG9CZURlbGV0
ZWRCeVVuYXBwbHkoKTsKLSAgICB2b2lkIGNhcHR1cmVUZXh0VG9CZURlbGV0ZWRCeVJlYXBwbHko
KTsKKyAgICB2b2lkIGNhcHR1cmVUZXh0Rm9yVW5hcHBseSgpOworICAgIHZvaWQgY2FwdHVyZVRl
eHRGb3JSZWFwcGx5KCk7CiAKICAgICB2b2lkIHBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRp
b25Gb3JVbmFwcGx5KEFYT2JqZWN0Q2FjaGUqKTsKICAgICB2b2lkIHBvc3RUZXh0U3RhdGVDaGFu
Z2VOb3RpZmljYXRpb25Gb3JSZWFwcGx5KEFYT2JqZWN0Q2FjaGUqKTsKIAogcHJpdmF0ZToKICAg
ICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgUmVm
UHRyPENvbnRhaW5lck5vZGU+JikgY29uc3Q7Ci0gICAgU3RyaW5nIHRleHRJbnNlcnRlZEJ5VW5h
cHBseSgpOwotICAgIFN0cmluZyB0ZXh0SW5zZXJ0ZWRCeVJlYXBwbHkoKTsKKyAgICBTdHJpbmcg
dGV4dERlbGV0ZWRCeVVuYXBwbHkoKTsKKyAgICBTdHJpbmcgdGV4dERlbGV0ZWRCeVJlYXBwbHko
KTsKIAogICAgIFN0cmluZyBtX3JlcGxhY2VkVGV4dDsKLSAgICBWaXNpYmxlUG9zaXRpb25JbmRl
eFJhbmdlIG1fdGV4dERlbGV0ZWRCeVVuYXBwbHlSYW5nZTsKLSAgICBWaXNpYmxlUG9zaXRpb25J
bmRleFJhbmdlIG1fdGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2U7CisgICAgVmlzaWJsZVBvc2l0
aW9uSW5kZXhSYW5nZSBtX3JhbmdlRGVsZXRlZEJ5VW5hcHBseTsKKyAgICBWaXNpYmxlUG9zaXRp
b25JbmRleFJhbmdlIG1fcmFuZ2VEZWxldGVkQnlSZWFwcGx5OwogfTsKIAogY2xhc3MgRWRpdENv
bW1hbmRDb21wb3NpdGlvbiA6IHB1YmxpYyBVbmRvU3RlcCB7CkBAIC03OCw3ICs3OCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEVuZGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9u
Jik7CiAgICAgRWxlbWVudCogc3RhcnRpbmdSb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9zdGFydGluZ1Jvb3RFZGl0YWJsZUVsZW1lbnQuZ2V0KCk7IH0KICAgICBFbGVtZW50
KiBlbmRpbmdSb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbmRpbmdSb290
RWRpdGFibGVFbGVtZW50LmdldCgpOyB9Ci0gICAgdm9pZCBzZXRUZXh0SW5zZXJ0ZWRCeVVuYXBw
bHlSYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlJik7CisgICAgdm9pZCBzZXRS
YW5nZURlbGV0ZWRCeVVuYXBwbHkoY29uc3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYpOwog
CiAjaWZuZGVmIE5ERUJVRwogICAgIHZpcnR1YWwgdm9pZCBnZXROb2Rlc0luQ29tbWFuZChIYXNo
U2V0PE5vZGUqPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IGEwMDY1NjcxYWE3
ZTk1YmUwNzI3OTQ0NjI5MGM2MmI3MWExZjcxZGIuLjU1MWI4MThmMTVkZmMxOTY0YWEzNzE2NTRl
MjIzNmM4ZjEzYmZiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTU1MCw3ICs1
NTAsNyBAQCB2b2lkIEVkaXRvcjo6cmVwbGFjZVNlbGVjdGlvbldpdGhGcmFnbWVudChQYXNzUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50LAogICAgIGlmIChBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIGVkaXRpbmdBY3Rpb24gPT0gRWRpdEFjdGlvblBhc3Rl
KSB7CiAgICAgICAgIFN0cmluZyB0ZXh0ID0gQWNjZXNzaWJpbGl0eU9iamVjdDo6c3RyaW5nRm9y
VmlzaWJsZVBvc2l0aW9uUmFuZ2UoY29tbWFuZC0+dmlzaWJsZVNlbGVjdGlvbkZvckluc2VydGVk
VGV4dCgpKTsKICAgICAgICAgcmVwbGFjZWRUZXh0LnBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmlj
YXRpb24oZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSwgQVhUZXh0RWRpdFR5cGVQ
YXN0ZSwgdGV4dCwgbV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSk7Ci0gICAgICAgIGNv
bW1hbmQtPmNvbXBvc2l0aW9uKCktPnNldFRleHRJbnNlcnRlZEJ5VW5hcHBseVJhbmdlKHJlcGxh
Y2VkVGV4dC5yZXBsYWNlZFJhbmdlKCkpOworICAgICAgICBjb21tYW5kLT5jb21wb3NpdGlvbigp
LT5zZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7
CiAgICAgfQogCiAgICAgaWYgKCFpc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKaW5kZXggMjE5ODkwNzBlMzUy
ZGY3NWUwMjVkNDZhYzExYzQ1MjA5N2VjMmQwZi4uYzQzOTkzMDA3ZGFkNTI2NjIxYTIwZjNkZjk2
MmRiNTgwOWRiNjYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdD
b21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3Bw
CkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjpwb3N0VGV4dFN0YXRlQ2hh
bmdlTm90aWZpY2F0aW9uRm9yRGVsZXRpb24oY29uc3QgVmlzaWJsZVNlbGUKICAgICBWaXNpYmxl
UG9zaXRpb25JbmRleFJhbmdlIHJhbmdlOwogICAgIHJhbmdlLnN0YXJ0SW5kZXgudmFsdWUgPSBp
bmRleEZvclZpc2libGVQb3NpdGlvbihzZWxlY3Rpb24uc3RhcnQoKSwgcmFuZ2Uuc3RhcnRJbmRl
eC5zY29wZSk7CiAgICAgcmFuZ2UuZW5kSW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQb3Np
dGlvbihzZWxlY3Rpb24uZW5kKCksIHJhbmdlLmVuZEluZGV4LnNjb3BlKTsKLSAgICBjb21wb3Np
dGlvbigpLT5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyYW5nZSk7CisgICAgY29tcG9z
aXRpb24oKS0+c2V0UmFuZ2VEZWxldGVkQnlVbmFwcGx5KHJhbmdlKTsKIH0KIAogdm9pZCBUeXBp
bmdDb21tYW5kOjpkb0FwcGx5KCkKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIFR5cGluZ0NvbW1h
bmQ6Omluc2VydFRleHRBbmROb3RpZnlBY2Nlc3NpYmlsaXR5KGNvbnN0IFN0cmluZyAmdGV4dCwg
Ym9vbCBzZQogICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0KGZyYW1l
KCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpOwogICAgIGluc2VydFRleHQodGV4dCwgc2VsZWN0
SW5zZXJ0ZWRUZXh0KTsKICAgICByZXBsYWNlZFRleHQucG9zdFRleHRTdGF0ZUNoYW5nZU5vdGlm
aWNhdGlvbihkb2N1bWVudCgpLmV4aXN0aW5nQVhPYmplY3RDYWNoZSgpLCBBWFRleHRFZGl0VHlw
ZVR5cGluZywgdGV4dCwgZnJhbWUoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSk7Ci0gICAgY29t
cG9zaXRpb24oKS0+c2V0VGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2UocmVwbGFjZWRUZXh0LnJl
cGxhY2VkUmFuZ2UoKSk7CisgICAgY29tcG9zaXRpb24oKS0+c2V0UmFuZ2VEZWxldGVkQnlVbmFw
cGx5KHJlcGxhY2VkVGV4dC5yZXBsYWNlZFJhbmdlKCkpOwogfQogCiB2b2lkIFR5cGluZ0NvbW1h
bmQ6Omluc2VydFRleHRSdW5XaXRob3V0TmV3bGluZXMoY29uc3QgU3RyaW5nICZ0ZXh0LCBib29s
IHNlbGVjdEluc2VydGVkVGV4dCkKQEAgLTQxMCw3ICs0MTAsNyBAQCB2b2lkIFR5cGluZ0NvbW1h
bmQ6Omluc2VydExpbmVCcmVha0FuZE5vdGlmeUFjY2Vzc2liaWxpdHkoKQogICAgIEFjY2Vzc2li
aWxpdHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0
aW9uKCkpOwogICAgIGluc2VydExpbmVCcmVhaygpOwogICAgIHJlcGxhY2VkVGV4dC5wb3N0VGV4
dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uKGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hl
KCksIEFYVGV4dEVkaXRUeXBlVHlwaW5nLCAiXG4iLCBmcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpKTsKLSAgICBjb21wb3NpdGlvbigpLT5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5n
ZShyZXBsYWNlZFRleHQucmVwbGFjZWRSYW5nZSgpKTsKKyAgICBjb21wb3NpdGlvbigpLT5zZXRS
YW5nZURlbGV0ZWRCeVVuYXBwbHkocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CiB9CiAK
IHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yKCkKQEAgLTQyNyw3
ICs0MjcsNyBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvckFu
ZE5vdGlmeUFjY2Vzc2liaWxpdHkoKQogICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVw
bGFjZWRUZXh0KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpOwogICAgIGluc2VydFBh
cmFncmFwaFNlcGFyYXRvcigpOwogICAgIHJlcGxhY2VkVGV4dC5wb3N0VGV4dFN0YXRlQ2hhbmdl
Tm90aWZpY2F0aW9uKGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCksIEFYVGV4dEVk
aXRUeXBlVHlwaW5nLCAiXG4iLCBmcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpKTsKLSAg
ICBjb21wb3NpdGlvbigpLT5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyZXBsYWNlZFRl
eHQucmVwbGFjZWRSYW5nZSgpKTsKKyAgICBjb21wb3NpdGlvbigpLT5zZXRSYW5nZURlbGV0ZWRC
eVVuYXBwbHkocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CiB9CiAKIHZvaWQgVHlwaW5n
Q29tbWFuZDo6aW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9ySW5RdW90ZWRDb250ZW50KCkKQEAgLTQ0
OCw3ICs0NDgsNyBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRv
ckluUXVvdGVkQ29udGVudEFuZE5vdGlmeUFjY2Vzc2liaWxpdAogICAgIEFjY2Vzc2liaWxpdHlS
ZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkp
OwogICAgIGluc2VydFBhcmFncmFwaFNlcGFyYXRvckluUXVvdGVkQ29udGVudCgpOwogICAgIHJl
cGxhY2VkVGV4dC5wb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uKGRvY3VtZW50KCkuZXhp
c3RpbmdBWE9iamVjdENhY2hlKCksIEFYVGV4dEVkaXRUeXBlVHlwaW5nLCAiXG4iLCBmcmFtZSgp
LnNlbGVjdGlvbigpLnNlbGVjdGlvbigpKTsKLSAgICBjb21wb3NpdGlvbigpLT5zZXRUZXh0SW5z
ZXJ0ZWRCeVVuYXBwbHlSYW5nZShyZXBsYWNlZFRleHQucmVwbGFjZWRSYW5nZSgpKTsKKyAgICBj
b21wb3NpdGlvbigpLT5zZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkocmVwbGFjZWRUZXh0LnJlcGxh
Y2VkUmFuZ2UoKSk7CiB9CiAKIGJvb2wgVHlwaW5nQ29tbWFuZDo6bWFrZUVkaXRhYmxlUm9vdEVt
cHR5KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBjMmQyOGVhODRkYzJiNjdlZmY1MDYxODRkODUxYWE1N2JmNGRhYWQ5Li5k
Y2RmMmIyNGUxYzBhMmRiZWFmZTE4MmIwNzY1YTZiY2E0YTlkZjNkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTYtMDUtMTIgIERvdWcgUnVzc2VsbCAgPGRfcnVzc2VsbEBhcHBsZS5jb20+CisK
KyAgICAgICAgQVg6IFJlZ3Jlc3Npb25zIGluIHVuZG8vcmVkbyBhY2Nlc3NpYmlsaXR5IGZyb20g
QnVnIDE1MzM2MQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU3NjUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAg
IAorICAgICAgICBVc2UgaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24gJiB2aXNpYmxlUG9zaXRpb25G
b3JJbmRleCB0byBzdG9yZSBzZWxlY3Rpb24gZGF0YQorICAgICAgICBzbyB0aGF0IEFjY2Vzc2li
aWxpdHlVbmRvUmVwbGFjZWRUZXh0IGNhbiBidWlsZCB2YWxpZCBzZWxlY3Rpb24gcmFuZ2VzIGFu
ZAorICAgICAgICByZXRyaWV2ZSBzdHJpbmdzIGZvciBBVCBub3RpZmljYXRpb25zLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWlu
Zm8tY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUu
aHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hh
bmdlLXVzZXItaW5mby10ZXh0YXJlYS1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEuaHRt
bDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdl
LXVzZXItaW5mby10ZXh0ZmllbGQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC5odG1s
OgorCiAyMDE2LTA1LTEyICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1hcmtpbmcgaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0
aW9uLW5lc3RlZC1jYXRjaC5odG1sIGFzIGEgZmxha3kgdGltZW91dCBvbiBtYWMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFu
Z2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250
ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDcyN2JkMDkxNzNjZDZlY2E1MDhjZmZhZTlk
ZmE2YWY1ODQ4ZjEwYWUuLmJmYzRjM2FmNDBkM2U2ZTQ2NDNlNWFiYjkzMTE3ZjFjNGM2OWQyMzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92
YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11
c2VyLWluZm8tY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsMTYgQEAg
UEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzBdIGlzIGV4cGVjdGVkVmFsdWVz
W3Jlc3VsdEluZGV4XVswXQogUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzBdIGlz
ICJEZWxldGUiCiBQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMV0gaXMgZXhw
ZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdCiBQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJ
bmRleF1bMV0gaXMgIlR5cGluZyIKK1BBU1MgYWN0dWFsQ2hhbmdlVHlwZXNbcmVzdWx0SW5kZXhd
IGlzIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZUVkaXQKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jl
c3VsdEluZGV4XVswXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMF0KK1BBU1MgYWN0
dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVswXSBpcyAiRGVsZXRlIgorUEFTUyBhY3R1YWxDaGFu
Z2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdIGlzIGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVsx
XQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzFdIGlzICJJbnNlcnQiCitQQVNT
IGFjdHVhbENoYW5nZVR5cGVzW3Jlc3VsdEluZGV4XSBpcyBBWFRleHRTdGF0ZUNoYW5nZVR5cGVF
ZGl0CitQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMF0gaXMgZXhwZWN0ZWRW
YWx1ZXNbcmVzdWx0SW5kZXhdWzBdCitQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1b
MF0gaXMgIkRlbGV0ZSIKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVsxXSBp
cyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMV0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jl
c3VsdEluZGV4XVsxXSBpcyAiSW5zZXJ0IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUu
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1j
aGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS5odG1sCmluZGV4IGYxZjg4MDFiNWJkYWI5
MzlmNzQ4Y2VhODEwMzczNWRlYmU1YTMxOTIuLjA3YTEzNGI5NzNkMDJmMmZjNjBkYWQxMzQyOTBk
MWI1ZDU4YzNlYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3Zh
bHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFu
Z2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS5odG1sCkBAIC00NSw3ICs0NSw3IEBACiAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgY291bnQrKzsKLSAgICAgICAgICAgICAg
ICBpZiAoY291bnQgPT0gOSkgeworICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAxMSkgewog
CiAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlVHlwaW5nKCIxIik7CiAgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRGVsZXRlKCIxIik7CkBAIC01Niw2ICs1Niw4IEBACiAgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlUGFzdGUoIjIiKTsKICAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVQYXN0ZVJlcGxhY2UoIjMiLCAiMiIpOwogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVR5
cGluZ1JlcGxhY2UoIjIiLCAiMyIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUluc2Vy
dFJlcGxhY2UoIjMiLCAiMiIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUluc2VydFJl
cGxhY2UoIjIiLCAiMyIpOwogCiAgICAgICAgICAgICAgICAgICAgIHdlYkFyZWEucmVtb3ZlTm90
aWZpY2F0aW9uTGlzdGVuZXIoKTsKICAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOwpAQCAtOTQsNiArOTYsMTAgQEAKIAogICAgICAgICAgICAgZXhlY0V4
dGVuZFNlbGVjdGlvbkxlZnRCeUNoYXJhY3RlckNvbW1hbmQoKTsKICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLmtleURvd24oIjMiKTsKKworICAgICAgICAgICAgZXhlY1VuZG9Db21tYW5kKCk7CisK
KyAgICAgICAgICAgIGV4ZWNSZWRvQ29tbWFuZCgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5n
ZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRhcmVhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZv
LXRleHRhcmVhLWV4cGVjdGVkLnR4dAppbmRleCBhNzU5NzNkZDc4MTQ0ZWM4NWE3MWZhZjJmZDRi
ZjhjMmViNTg3NmUyLi5kZDRhNTAzNTU4ODUzM2ZhMDA0ODA3NDZmZThhZGE0MGNkOWM5NDgxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFs
dWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8t
dGV4dGFyZWEtZXhwZWN0ZWQudHh0CkBAIC0zOCw2ICszOCwxNiBAQCBQQVNTIGFjdHVhbENoYW5n
ZVZhbHVlc1tyZXN1bHRJbmRleF1bMF0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzBd
CiBQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1bMF0gaXMgIkRlbGV0ZSIKIFBBU1Mg
YWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVsxXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1
bHRJbmRleF1bMV0KIFBBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVsxXSBpcyAiVHlw
aW5nIgorUEFTUyBhY3R1YWxDaGFuZ2VUeXBlc1tyZXN1bHRJbmRleF0gaXMgQVhUZXh0U3RhdGVD
aGFuZ2VUeXBlRWRpdAorUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzBdIGlz
IGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVswXQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVz
dWx0SW5kZXhdWzBdIGlzICJEZWxldGUiCitQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJ
bmRleF1bMV0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdCitQQVNTIGFjdHVhbEVk
aXRUeXBlc1tyZXN1bHRJbmRleF1bMV0gaXMgIkluc2VydCIKK1BBU1MgYWN0dWFsQ2hhbmdlVHlw
ZXNbcmVzdWx0SW5kZXhdIGlzIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZUVkaXQKK1BBU1MgYWN0dWFs
Q2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVswXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRl
eF1bMF0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVswXSBpcyAiRGVsZXRlIgor
UEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdIGlzIGV4cGVjdGVkVmFsdWVz
W3Jlc3VsdEluZGV4XVsxXQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzFdIGlz
ICJJbnNlcnQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5n
ZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRhcmVhLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJl
YS5odG1sCmluZGV4IGFlYTZlODdiZTU5MzJmZDYzMjM1ZWRhZTI2YjJjYTFiOTFlNWQ2YTIuLjM2
YzRlNThiZWMxM2Q1YTEyODU4ZmQ2MDk5YTc1MjI3MjU0N2EyZGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1p
bmZvLXRleHRhcmVhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFs
dWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEuaHRtbApAQCAtNDYsNyAr
NDYsNyBAQAogCiAgICAgICAgICAgICAgICAgY291bnQrKzsKIAotICAgICAgICAgICAgICAgIHZh
ciBleHBlY3RlZENvdW50ID0gOTsKKyAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRDb3VudCA9
IDExOwogICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSBleHBlY3RlZENvdW50KSB7CiAKICAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVUeXBpbmcoIjMiKTsKQEAgLTU4LDYgKzU4LDggQEAK
ICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVQYXN0ZSgiNSIpOwogICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZVBhc3RlUmVwbGFjZSgiNiIsICI1Iik7CiAgICAgICAgICAgICAgICAgICAg
IHNob3VsZEJlVHlwaW5nUmVwbGFjZSgiNSIsICI2Iik7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlSW5zZXJ0UmVwbGFjZSgiNiIsICI1Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlSW5zZXJ0UmVwbGFjZSgiNSIsICI2Iik7CiAKICAgICAgICAgICAgICAgICAgICAgd2ViQXJl
YS5yZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOwogICAgICAgICAgICAgICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CkBAIC05Niw2ICs5OCwxMCBAQAogCiAgICAgICAg
ICAgICBleGVjRXh0ZW5kU2VsZWN0aW9uTGVmdEJ5Q2hhcmFjdGVyQ29tbWFuZCgpOwogICAgICAg
ICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiNiIpOworCisgICAgICAgICAgICBleGVjVW5kb0Nv
bW1hbmQoKTsKKworICAgICAgICAgICAgZXhlY1JlZG9Db21tYW5kKCk7CiAgICAgICAgIH0KICAg
ICA8L3NjcmlwdD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
dmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGZpZWxkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFu
Z2UtdXNlci1pbmZvLXRleHRmaWVsZC1leHBlY3RlZC50eHQKaW5kZXggOTBlYWZjNjI4YjJjMGE4
MDRiMWExOTkyMWQ0ZGU4NDU2NTc1NzRjYi4uYmViYTVjYjMyZTY4NDY3YjQ5NzM1NGNhZmJmMDAy
ZDYxMzVlNDA4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFs
dWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGZpZWxkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hh
bmdlLXVzZXItaW5mby10ZXh0ZmllbGQtZXhwZWN0ZWQudHh0CkBAIC0zMiw2ICszMiwxNiBAQCBQ
QVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMF0gaXMgZXhwZWN0ZWRWYWx1ZXNb
cmVzdWx0SW5kZXhdWzBdCiBQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1bMF0gaXMg
IkRlbGV0ZSIKIFBBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVsxXSBpcyBleHBl
Y3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMV0KIFBBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdElu
ZGV4XVsxXSBpcyAiVHlwaW5nIgorUEFTUyBhY3R1YWxDaGFuZ2VUeXBlc1tyZXN1bHRJbmRleF0g
aXMgQVhUZXh0U3RhdGVDaGFuZ2VUeXBlRWRpdAorUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVz
dWx0SW5kZXhdWzBdIGlzIGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVswXQorUEFTUyBhY3R1
YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzBdIGlzICJEZWxldGUiCitQQVNTIGFjdHVhbENoYW5n
ZVZhbHVlc1tyZXN1bHRJbmRleF1bMV0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFd
CitQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1bMV0gaXMgIkluc2VydCIKK1BBU1Mg
YWN0dWFsQ2hhbmdlVHlwZXNbcmVzdWx0SW5kZXhdIGlzIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZUVk
aXQKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVswXSBpcyBleHBlY3RlZFZh
bHVlc1tyZXN1bHRJbmRleF1bMF0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVsw
XSBpcyAiRGVsZXRlIgorUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdIGlz
IGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVsxXQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVz
dWx0SW5kZXhdWzFdIGlzICJJbnNlcnQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC5odG1sIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11
c2VyLWluZm8tdGV4dGZpZWxkLmh0bWwKaW5kZXggNjM1ODJjNDZhM2EzNzk0NGRmYWFlN2I3ZGM1
YjkwZGE5MTM3NjZkOS4uODUxOGI1MDU4MWY1YWVhYjMzNzJhYjdkZmMxMGQyMTljMGUzYjdkZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3Zh
bHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGZpZWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGZp
ZWxkLmh0bWwKQEAgLTQ2LDcgKzQ2LDcgQEAKIAogICAgICAgICAgICAgICAgIGNvdW50Kys7CiAK
LSAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRDb3VudCA9IDc7CisgICAgICAgICAgICAgICAg
dmFyIGV4cGVjdGVkQ291bnQgPSA5OwogICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSBleHBl
Y3RlZENvdW50KSB7CiAKICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVUeXBpbmcoIjYiKTsK
QEAgLTU2LDYgKzU2LDggQEAKICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVQYXN0ZSgiOCIp
OwogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVBhc3RlUmVwbGFjZSgiOSIsICI4Iik7CiAg
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlVHlwaW5nUmVwbGFjZSgiOCIsICI5Iik7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlSW5zZXJ0UmVwbGFjZSgiOSIsICI4Iik7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlSW5zZXJ0UmVwbGFjZSgiOCIsICI5Iik7CiAKICAgICAgICAg
ICAgICAgICAgICAgd2ViQXJlYS5yZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpOwogICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CkBAIC05Miw2ICs5
NCwxMCBAQAogCiAgICAgICAgICAgICBleGVjRXh0ZW5kU2VsZWN0aW9uTGVmdEJ5Q2hhcmFjdGVy
Q29tbWFuZCgpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiOSIpOworCisgICAg
ICAgICAgICBleGVjVW5kb0NvbW1hbmQoKTsKKworICAgICAgICAgICAgZXhlY1JlZG9Db21tYW5k
KCk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278859</attachid>
            <date>2016-05-13 12:04:39 -0700</date>
            <delta_ts>2016-05-13 12:33:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-157652-20160513120531.patch</filename>
            <type>text/plain</type>
            <size>30144</size>
            <attacher name="Doug Russell">d_russell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdmMDI2ZTY0NDE2YzAw
OTRhZTE4OWEwYTNiMzY5ZjQ4ZGQ0NjAzMC4uOWZiNjJhZjg4ZGY0YTc4YWUwYzg3ZjIxMjRjODU1
ZmFiNmEyNWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE2LTA1LTEzICBEb3Vn
IFJ1c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBSZWdyZXNzaW9u
cyBpbiB1bmRvL3JlZG8gYWNjZXNzaWJpbGl0eSBmcm9tIEJ1ZyAxNTMzNjEKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzY1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorICAgICAgICAKKyAgICAgICAgVXNlIGluZGV4Rm9yVmlz
aWJsZVBvc2l0aW9uICYgdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXggdG8gc3RvcmUgc2VsZWN0aW9u
IGRhdGEKKyAgICAgICAgc28gdGhhdCBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dCBjYW4g
YnVpbGQgdmFsaWQgc2VsZWN0aW9uIHJhbmdlcyBhbmQKKyAgICAgICAgcmV0cmlldmUgc3RyaW5n
cyBmb3IgQVQgbm90aWZpY2F0aW9ucy4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9t
YWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tY29udGVudGVkaXRhYmxlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5n
ZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS5odG1sOgorICAgICAgICAg
ICAgICAgYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWlu
Zm8tdGV4dGFyZWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9t
YWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEuaHRtbDoKKyAg
ICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2Ut
dXNlci1pbmZvLXRleHRmaWVsZC1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICAgICBhY2Nlc3Np
YmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0ZmllbGQu
aHRtbDoKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVwbGFjZWRUZXh0OjpBY2Nlc3NpYmlsaXR5UmVw
bGFjZWRUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RUZXh0U3Rh
dGVDaGFuZ2VOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFRleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbik6CisgICAgICAgICogZWRpdGluZy9Db21w
b3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5k
b1JlcGxhY2VkVGV4dDo6Y29uZmlndXJlUmFuZ2VEZWxldGVkQnlSZWFwcGx5V2l0aEVuZGluZ1Nl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4
dDo6Y29uZmlndXJlUmFuZ2VEZWxldGVkQnlSZWFwcGx5V2l0aFN0YXJ0aW5nU2VsZWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpzZXRSYW5n
ZURlbGV0ZWRCeVVuYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVVuZG9S
ZXBsYWNlZFRleHQ6OmNhcHR1cmVUZXh0Rm9yVW5hcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRGb3JSZWFwcGx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojp0ZXh0RGVsZXRl
ZEJ5VW5hcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2Vk
VGV4dDo6dGV4dERlbGV0ZWRCeVJlYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVVuZG9SZXBsYWNlZFRleHQ6OnBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb25Gb3JV
bmFwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0
Ojpwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yUmVhcHBseSk6CisgICAgICAgIChX
ZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21tYW5kQ29tcG9zaXRpb246OnVuYXBwbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6cmVhcHBseSk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRTdGFydGluZ1NlbGVjdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRFbmRpbmdTZWxl
Y3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6c2V0UmFu
Z2VEZWxldGVkQnlVbmFwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRv
UmVwbGFjZWRUZXh0Ojpjb25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseUluZGV4ZXNXaXRo
RWRpdENvbW1hbmRFbmRpbmdTZWxlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OmNvbmZndXJlVGV4dFRvQmVEZWxldGVkQnlV
bmFwcGx5U3RhcnRJbmRleFdpdGhFZGl0Q29tbWFuZFN0YXJ0aW5nU2VsZWN0aW9uKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpzZXRU
ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5VW5h
cHBseSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxh
Y2VkVGV4dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5UmVhcHBseSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6dGV4dEluc2VydGVk
QnlVbmFwcGx5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlVbmRv
UmVwbGFjZWRUZXh0Ojp0ZXh0SW5zZXJ0ZWRCeVJlYXBwbHkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6c2V0VGV4dEluc2VydGVkQnlVbmFwcGx5
UmFuZ2UpOiBEZWxldGVkLgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQu
aDoKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0
b3I6OnJlcGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQpOgorICAgICAgICAqIGVkaXRpbmcvVHlw
aW5nQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjpwb3N0VGV4
dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yRGVsZXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
VHlwaW5nQ29tbWFuZDo6aW5zZXJ0VGV4dEFuZE5vdGlmeUFjY2Vzc2liaWxpdHkpOgorICAgICAg
ICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6aW5zZXJ0TGluZUJyZWFrQW5kTm90aWZ5QWNjZXNz
aWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdDb21tYW5kOjppbnNlcnRQYXJhZ3Jh
cGhTZXBhcmF0b3JBbmROb3RpZnlBY2Nlc3NpYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OlR5
cGluZ0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvckluUXVvdGVkQ29udGVudEFuZE5v
dGlmeUFjY2Vzc2liaWxpdHkpOgorCiAyMDE2LTA1LTEzICBCZXRoIERha2luICA8YmRha2luQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgZHlsZFNQSS5oIGZvciBsaW5rZWQgb24gb3IgYWZ0ZXIg
Y2hlY2tzLCBhbmQgYWRkIG9uZSBmb3IgbGluayBwcmV2aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAyNGE5ZDBkODcyYzJhYjkxMDYz
OGM2ZTE3OTFiNGY4NDk2MWVjYzUzLi42ZWNiODVjNmZjZjgxNjJhY2FhZDkyMDJmM2RhMWJmZDU5
MTJiNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKQEAgLTEyMiwxMCArMTIyLDEzIEBAIHZvaWQgQVhDb21wdXRlZE9iamVjdEF0dHJpYnV0
ZUNhY2hlOjpzZXRJZ25vcmVkKEFYSUQgaWQsIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsCiAKIEFj
Y2Vzc2liaWxpdHlSZXBsYWNlZFRleHQ6OkFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQoY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQogewotICAgIGlmIChBWE9iamVjdENhY2hlOjph
Y2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIHNlbGVjdGlvbi5pc1JhbmdlKCkpIHsKLSAgICAgICAg
bV9yZXBsYWNlZFRleHQgPSBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzdHJpbmdGb3JWaXNpYmxlUG9z
aXRpb25SYW5nZShzZWxlY3Rpb24pOworICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmls
aXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIG1fcmVwbGFjZWRSYW5nZS5zdGFydEluZGV4LnZhbHVl
ID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oc2VsZWN0aW9uLnN0YXJ0KCksIG1fcmVwbGFjZWRS
YW5nZS5zdGFydEluZGV4LnNjb3BlKTsKLSAgICAgICAgbV9yZXBsYWNlZFJhbmdlLmVuZEluZGV4
LnZhbHVlID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oc2VsZWN0aW9uLmVuZCgpLCBtX3JlcGxh
Y2VkUmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgICAgICBpZiAoc2VsZWN0aW9uLmlzUmFuZ2Uo
KSkgeworICAgICAgICAgICAgbV9yZXBsYWNlZFRleHQgPSBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
dHJpbmdGb3JWaXNpYmxlUG9zaXRpb25SYW5nZShzZWxlY3Rpb24pOworICAgICAgICAgICAgbV9y
ZXBsYWNlZFJhbmdlLmVuZEluZGV4LnZhbHVlID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oc2Vs
ZWN0aW9uLmVuZCgpLCBtX3JlcGxhY2VkUmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIG1fcmVwbGFjZWRSYW5nZS5lbmRJbmRleCA9IG1fcmVwbGFjZWRS
YW5nZS5zdGFydEluZGV4OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCA0ZGQxNzY1NGJiNTAyMWZlZTE3NTk4MzY0
MzYyMDljYTgzYzllNmVkLi5mZmRmMmZiNmQ4ZjhlM2NmZjlkYWUyOTVmNWM3NGJkYzJkODJmYzY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNw
cApAQCAtODUsNDMgKzg1LDQzIEBAIGludCBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6
aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uCiAgICAgcmV0dXJu
IFdlYkNvcmU6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKHBvc2l0aW9uLCBzY29wZSk7CiB9CiAK
LXZvaWQgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OmNvbmZndXJlVGV4dFRvQmVEZWxl
dGVkQnlVbmFwcGx5SW5kZXhlc1dpdGhFZGl0Q29tbWFuZEVuZGluZ1NlbGVjdGlvbihjb25zdCBW
aXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCit2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFj
ZWRUZXh0Ojpjb25maWd1cmVSYW5nZURlbGV0ZWRCeVJlYXBwbHlXaXRoRW5kaW5nU2VsZWN0aW9u
KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKIHsKICAgICBpZiAoIUFYT2JqZWN0
Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAo
c2VsZWN0aW9uLmlzUmFuZ2UoKSAmJiBtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2Uuc3RhcnRJ
bmRleC52YWx1ZSA9PSAtMSkKLSAgICAgICAgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0
YXJ0SW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihzZWxlY3Rpb24uc3RhcnQo
KSwgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXguc2NvcGUpOwotICAgIGlm
IChtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2UuZW5kSW5kZXgudmFsdWUgPT0gLTEpCi0gICAg
ICAgIG1fdGV4dERlbGV0ZWRCeVVuYXBwbHlSYW5nZS5lbmRJbmRleC52YWx1ZSA9IGluZGV4Rm9y
VmlzaWJsZVBvc2l0aW9uKHNlbGVjdGlvbi5zdGFydCgpLCBtX3RleHREZWxldGVkQnlVbmFwcGx5
UmFuZ2UuZW5kSW5kZXguc2NvcGUpOworICAgIGlmIChzZWxlY3Rpb24uaXNOb25lKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBtX3JhbmdlRGVsZXRlZEJ5UmVhcHBseS5lbmRJbmRleC52YWx1ZSA9
IGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKHNlbGVjdGlvbi5lbmQoKSwgbV9yYW5nZURlbGV0ZWRC
eVJlYXBwbHkuZW5kSW5kZXguc2NvcGUpOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVw
bGFjZWRUZXh0Ojpjb25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseVN0YXJ0SW5kZXhXaXRo
RWRpdENvbW1hbmRTdGFydGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxl
Y3Rpb24pCit2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpjb25maWd1cmVSYW5n
ZURlbGV0ZWRCeVJlYXBwbHlXaXRoU3RhcnRpbmdTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVj
dGlvbiYgc2VsZWN0aW9uKQogewogICAgIGlmICghQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0
eUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX3RleHREZWxldGVkQnlVbmFw
cGx5UmFuZ2Uuc3RhcnRJbmRleC52YWx1ZSA9PSAtMSkKLSAgICAgICAgbV90ZXh0RGVsZXRlZEJ5
VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihz
ZWxlY3Rpb24uc3RhcnQoKSwgbV90ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLnN0YXJ0SW5kZXgu
c2NvcGUpOwotICAgIGlmIChzZWxlY3Rpb24uaXNSYW5nZSgpICYmIG1fdGV4dERlbGV0ZWRCeVVu
YXBwbHlSYW5nZS5lbmRJbmRleC52YWx1ZSA9PSAtMSkKLSAgICAgICAgbV90ZXh0RGVsZXRlZEJ5
VW5hcHBseVJhbmdlLmVuZEluZGV4LnZhbHVlID0gaW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oc2Vs
ZWN0aW9uLmVuZCgpLCBtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2UuZW5kSW5kZXguc2NvcGUp
OworICAgIGlmIChzZWxlY3Rpb24uaXNOb25lKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAo
bV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRleC52YWx1ZSA9PSAtMSkKKyAgICAgICAg
bV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRleC52YWx1ZSA9IGluZGV4Rm9yVmlzaWJs
ZVBvc2l0aW9uKHNlbGVjdGlvbi5zdGFydCgpLCBtX3JhbmdlRGVsZXRlZEJ5UmVhcHBseS5zdGFy
dEluZGV4LnNjb3BlKTsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dDo6
c2V0VGV4dEluc2VydGVkQnlVbmFwcGx5UmFuZ2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhS
YW5nZSYgcmFuZ2UpCit2b2lkIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0OjpzZXRSYW5n
ZURlbGV0ZWRCeVVuYXBwbHkoY29uc3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYgcmFuZ2Up
CiB7Ci0gICAgbV90ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZSA9IHJhbmdlOworICAgIGlmICht
X3JhbmdlRGVsZXRlZEJ5VW5hcHBseS5pc051bGwoKSkKKyAgICAgICAgbV9yYW5nZURlbGV0ZWRC
eVVuYXBwbHkgPSByYW5nZTsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4
dDo6Y2FwdHVyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseSgpCit2b2lkIEFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0OjpjYXB0dXJlVGV4dEZvclVuYXBwbHkoKQogewogICAgIGlmICghQVhP
YmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotICAg
IG1fcmVwbGFjZWRUZXh0ID0gdGV4dEluc2VydGVkQnlSZWFwcGx5KCk7CisgICAgbV9yZXBsYWNl
ZFRleHQgPSB0ZXh0RGVsZXRlZEJ5UmVhcHBseSgpOwogfQogCi12b2lkIEFjY2Vzc2liaWxpdHlV
bmRvUmVwbGFjZWRUZXh0OjpjYXB0dXJlVGV4dFRvQmVEZWxldGVkQnlSZWFwcGx5KCkKK3ZvaWQg
QWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OmNhcHR1cmVUZXh0Rm9yUmVhcHBseSgpCiB7
CiAgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAg
ICByZXR1cm47Ci0gICAgbV9yZXBsYWNlZFRleHQgPSB0ZXh0SW5zZXJ0ZWRCeVVuYXBwbHkoKTsK
KyAgICBtX3JlcGxhY2VkVGV4dCA9IHRleHREZWxldGVkQnlVbmFwcGx5KCk7CiB9CiAKIHN0YXRp
YyBTdHJpbmcgc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZShjb25zdCBWaXNpYmxl
UG9zaXRpb25JbmRleFJhbmdlJiByYW5nZSkKQEAgLTEzMywxOCArMTMzLDE4IEBAIHN0YXRpYyBT
dHJpbmcgc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZShjb25zdCBWaXNpYmxlUG9z
aXRpb25JbmRleFJhbmdlCiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3Q6OnN0cmluZ0Zv
clZpc2libGVQb3NpdGlvblJhbmdlKFZpc2libGVQb3NpdGlvblJhbmdlKHN0YXJ0LCBlbmQpKTsK
IH0KIAotU3RyaW5nIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojp0ZXh0SW5zZXJ0ZWRC
eVVuYXBwbHkoKQorU3RyaW5nIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojp0ZXh0RGVs
ZXRlZEJ5VW5hcHBseSgpCiB7CiAgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5
RW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIHN0cmluZ0Zv
clZpc2libGVQb3NpdGlvbkluZGV4UmFuZ2UobV90ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZSk7
CisgICAgcmV0dXJuIHN0cmluZ0ZvclZpc2libGVQb3NpdGlvbkluZGV4UmFuZ2UobV9yYW5nZURl
bGV0ZWRCeVVuYXBwbHkpOwogfQogCi1TdHJpbmcgQWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRl
eHQ6OnRleHRJbnNlcnRlZEJ5UmVhcHBseSgpCitTdHJpbmcgQWNjZXNzaWJpbGl0eVVuZG9SZXBs
YWNlZFRleHQ6OnRleHREZWxldGVkQnlSZWFwcGx5KCkKIHsKICAgICBpZiAoIUFYT2JqZWN0Q2Fj
aGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAg
ICByZXR1cm4gc3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZShtX3RleHREZWxldGVk
QnlVbmFwcGx5UmFuZ2UpOworICAgIHJldHVybiBzdHJpbmdGb3JWaXNpYmxlUG9zaXRpb25JbmRl
eFJhbmdlKG1fcmFuZ2VEZWxldGVkQnlSZWFwcGx5KTsKIH0KIAogc3RhdGljIHZvaWQgcG9zdFRl
eHRTdGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihBWE9iamVjdENhY2hlKiBjYWNoZSwgY29uc3QgVmlz
aWJsZVBvc2l0aW9uJiBwb3NpdGlvbiwgY29uc3QgU3RyaW5nJiBkZWxldGVkVGV4dCwgY29uc3Qg
U3RyaW5nJiBpbnNlcnRlZFRleHQpCkBAIC0xNjcsMTIgKzE2NywxMiBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlVbmRvUmVwbGFjZWRUZXh0Ojpwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9y
VW5hcHBseShBWAogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nl
c3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1fdGV4dEluc2Vy
dGVkQnlVbmFwcGx5UmFuZ2UuaXNOdWxsKCkpCisgICAgaWYgKG1fcmFuZ2VEZWxldGVkQnlVbmFw
cGx5LmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0gICAgVmlzaWJsZVBvc2l0aW9uIHBvc2l0
aW9uID0gdmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgobV90ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5n
ZS5lbmRJbmRleC52YWx1ZSwgbV90ZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZS5lbmRJbmRleC5z
Y29wZS5nZXQoKSk7CisgICAgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uID0gdmlzaWJsZVBvc2l0
aW9uRm9ySW5kZXgobV9yYW5nZURlbGV0ZWRCeVVuYXBwbHkuZW5kSW5kZXgudmFsdWUsIG1fcmFu
Z2VEZWxldGVkQnlVbmFwcGx5LmVuZEluZGV4LnNjb3BlLmdldCgpKTsKICAgICBpZiAocG9zaXRp
b24uaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBwb3N0VGV4dFN0YXRlQ2hhbmdlTm90
aWZpY2F0aW9uKGNhY2hlLCBwb3NpdGlvbiwgdGV4dEluc2VydGVkQnlVbmFwcGx5KCksIG1fcmVw
bGFjZWRUZXh0KTsKKyAgICBwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uKGNhY2hlLCBw
b3NpdGlvbiwgdGV4dERlbGV0ZWRCeVVuYXBwbHkoKSwgbV9yZXBsYWNlZFRleHQpOwogICAgIG1f
cmVwbGFjZWRUZXh0ID0gU3RyaW5nKCk7CiB9CiAKQEAgLTE4MiwxMiArMTgyLDEyIEBAIHZvaWQg
QWNjZXNzaWJpbGl0eVVuZG9SZXBsYWNlZFRleHQ6OnBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmlj
YXRpb25Gb3JSZWFwcGx5KEFYCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIUFYT2JqZWN0Q2Fj
aGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAobV90
ZXh0RGVsZXRlZEJ5VW5hcHBseVJhbmdlLmlzTnVsbCgpKQorICAgIGlmIChtX3JhbmdlRGVsZXRl
ZEJ5UmVhcHBseS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwotICAgIFZpc2libGVQb3NpdGlv
biBwb3NpdGlvbiA9IHZpc2libGVQb3NpdGlvbkZvckluZGV4KG1fdGV4dERlbGV0ZWRCeVVuYXBw
bHlSYW5nZS5zdGFydEluZGV4LnZhbHVlLCBtX3RleHREZWxldGVkQnlVbmFwcGx5UmFuZ2Uuc3Rh
cnRJbmRleC5zY29wZS5nZXQoKSk7CisgICAgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uID0gdmlz
aWJsZVBvc2l0aW9uRm9ySW5kZXgobV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRleC52
YWx1ZSwgbV9yYW5nZURlbGV0ZWRCeVJlYXBwbHkuc3RhcnRJbmRleC5zY29wZS5nZXQoKSk7CiAg
ICAgaWYgKHBvc2l0aW9uLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47Ci0gICAgcG9zdFRleHRT
dGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihjYWNoZSwgcG9zaXRpb24sIG1fcmVwbGFjZWRUZXh0LCB0
ZXh0SW5zZXJ0ZWRCeVJlYXBwbHkoKSk7CisgICAgcG9zdFRleHRTdGF0ZUNoYW5nZU5vdGlmaWNh
dGlvbihjYWNoZSwgcG9zaXRpb24sIHRleHREZWxldGVkQnlSZWFwcGx5KCksIG1fcmVwbGFjZWRU
ZXh0KTsKICAgICBtX3JlcGxhY2VkVGV4dCA9IFN0cmluZygpOwogfQogCkBAIC0yMDUsNyArMjA1
LDcgQEAgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6RWRpdENvbW1hbmRDb21wb3NpdGlvbihEb2N1
bWVudCYgZG9jdW1lbnQsIGNvbnN0IFZpc2libGUKICAgICAsIG1fZW5kaW5nUm9vdEVkaXRhYmxl
RWxlbWVudChlbmRpbmdTZWxlY3Rpb24ucm9vdEVkaXRhYmxlRWxlbWVudCgpKQogICAgICwgbV9l
ZGl0QWN0aW9uKGVkaXRBY3Rpb24pCiB7Ci0gICAgbV9yZXBsYWNlZFRleHQuY29uZmd1cmVUZXh0
VG9CZURlbGV0ZWRCeVVuYXBwbHlTdGFydEluZGV4V2l0aEVkaXRDb21tYW5kU3RhcnRpbmdTZWxl
Y3Rpb24oc3RhcnRpbmdTZWxlY3Rpb24pOworICAgIG1fcmVwbGFjZWRUZXh0LmNvbmZpZ3VyZVJh
bmdlRGVsZXRlZEJ5UmVhcHBseVdpdGhTdGFydGluZ1NlbGVjdGlvbihzdGFydGluZ1NlbGVjdGlv
bik7CiB9CiAKIHZvaWQgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6dW5hcHBseSgpCkBAIC0yMTUs
NyArMjE1LDcgQEAgdm9pZCBFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjp1bmFwcGx5KCkKICAgICBp
ZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3JlcGxhY2VkVGV4dC5jYXB0dXJl
VGV4dFRvQmVEZWxldGVkQnlVbmFwcGx5KCk7CisgICAgbV9yZXBsYWNlZFRleHQuY2FwdHVyZVRl
eHRGb3JVbmFwcGx5KCk7CiAKICAgICAvLyBDaGFuZ2VzIHRvIHRoZSBkb2N1bWVudCBtYXkgaGF2
ZSBiZWVuIG1hZGUgc2luY2UgdGhlIGxhc3QgZWRpdGluZyBvcGVyYXRpb24gdGhhdCByZXF1aXJl
IGEgbGF5b3V0LCBhcyBpbiA8cmRhcjovL3Byb2JsZW0vNTY1ODYwMz4uCiAgICAgLy8gTG93IGxl
dmVsIG9wZXJhdGlvbnMsIGxpa2UgUmVtb3ZlTm9kZUNvbW1hbmQsIGRvbid0IHJlcXVpcmUgYSBs
YXlvdXQgYmVjYXVzZSB0aGUgaGlnaCBsZXZlbCBvcGVyYXRpb25zIHRoYXQgdXNlIHRoZW0gcGVy
Zm9ybSBvbmUKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2b2lkIEVkaXRDb21tYW5kQ29tcG9zaXRpb246
OnJlYXBwbHkoKQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcmVw
bGFjZWRUZXh0LmNhcHR1cmVUZXh0VG9CZURlbGV0ZWRCeVJlYXBwbHkoKTsKKyAgICBtX3JlcGxh
Y2VkVGV4dC5jYXB0dXJlVGV4dEZvclJlYXBwbHkoKTsKIAogICAgIC8vIENoYW5nZXMgdG8gdGhl
IGRvY3VtZW50IG1heSBoYXZlIGJlZW4gbWFkZSBzaW5jZSB0aGUgbGFzdCBlZGl0aW5nIG9wZXJh
dGlvbiB0aGF0IHJlcXVpcmUgYSBsYXlvdXQsIGFzIGluIDxyZGFyOi8vcHJvYmxlbS81NjU4NjAz
Pi4KICAgICAvLyBMb3cgbGV2ZWwgb3BlcmF0aW9ucywgbGlrZSBSZW1vdmVOb2RlQ29tbWFuZCwg
ZG9uJ3QgcmVxdWlyZSBhIGxheW91dCBiZWNhdXNlIHRoZSBoaWdoIGxldmVsIG9wZXJhdGlvbnMg
dGhhdCB1c2UgdGhlbSBwZXJmb3JtIG9uZQpAQCAtMjcyLDE5ICsyNzIsMTkgQEAgdm9pZCBFZGl0
Q29tbWFuZENvbXBvc2l0aW9uOjpzZXRTdGFydGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2Vs
ZWN0aW9uJiBzZWxlY3QKIHsKICAgICBtX3N0YXJ0aW5nU2VsZWN0aW9uID0gc2VsZWN0aW9uOwog
ICAgIG1fc3RhcnRpbmdSb290RWRpdGFibGVFbGVtZW50ID0gc2VsZWN0aW9uLnJvb3RFZGl0YWJs
ZUVsZW1lbnQoKTsKLSAgICBtX3JlcGxhY2VkVGV4dC5jb25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5
VW5hcHBseVN0YXJ0SW5kZXhXaXRoRWRpdENvbW1hbmRTdGFydGluZ1NlbGVjdGlvbihzZWxlY3Rp
b24pOworICAgIG1fcmVwbGFjZWRUZXh0LmNvbmZpZ3VyZVJhbmdlRGVsZXRlZEJ5UmVhcHBseVdp
dGhTdGFydGluZ1NlbGVjdGlvbihzZWxlY3Rpb24pOwogfQogCiB2b2lkIEVkaXRDb21tYW5kQ29t
cG9zaXRpb246OnNldEVuZGluZ1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxl
Y3Rpb24pCiB7CiAgICAgbV9lbmRpbmdTZWxlY3Rpb24gPSBzZWxlY3Rpb247CiAgICAgbV9lbmRp
bmdSb290RWRpdGFibGVFbGVtZW50ID0gc2VsZWN0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKTsK
LSAgICBtX3JlcGxhY2VkVGV4dC5jb25mZ3VyZVRleHRUb0JlRGVsZXRlZEJ5VW5hcHBseUluZGV4
ZXNXaXRoRWRpdENvbW1hbmRFbmRpbmdTZWxlY3Rpb24oc2VsZWN0aW9uKTsKKyAgICBtX3JlcGxh
Y2VkVGV4dC5jb25maWd1cmVSYW5nZURlbGV0ZWRCeVJlYXBwbHlXaXRoRW5kaW5nU2VsZWN0aW9u
KHNlbGVjdGlvbik7CiB9CiAKLXZvaWQgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6c2V0VGV4dElu
c2VydGVkQnlVbmFwcGx5UmFuZ2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYgcmFu
Z2UpCit2b2lkIEVkaXRDb21tYW5kQ29tcG9zaXRpb246OnNldFJhbmdlRGVsZXRlZEJ5VW5hcHBs
eShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlJiByYW5nZSkKIHsKLSAgICBtX3JlcGxh
Y2VkVGV4dC5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyYW5nZSk7CisgICAgbV9yZXBs
YWNlZFRleHQuc2V0UmFuZ2VEZWxldGVkQnlVbmFwcGx5KHJhbmdlKTsKIH0KIAogI2lmbmRlZiBO
REVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENv
bW1hbmQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaApp
bmRleCA0ZWUyYWUxYzQzZWIwY2UxZTU2MTc3MmFiMzY0MDBjZGYwNTNmYWM4Li4wOGQyNDNkZDMw
MjJkMTViODA0Y2Y1YjA3YmMxYjQ0NTU4MWRmNzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCkBAIC00MiwyNCArNDIsMjQgQEAgY2xhc3MgVGV4
dDsKIGNsYXNzIEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0IHsKIHB1YmxpYzoKICAgICBB
Y2Nlc3NpYmlsaXR5VW5kb1JlcGxhY2VkVGV4dCgpIHsgfQotICAgIHZvaWQgY29uZmd1cmVUZXh0
VG9CZURlbGV0ZWRCeVVuYXBwbHlTdGFydEluZGV4V2l0aEVkaXRDb21tYW5kU3RhcnRpbmdTZWxl
Y3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwotICAgIHZvaWQgY29uZmd1cmVUZXh0VG9C
ZURlbGV0ZWRCeVVuYXBwbHlJbmRleGVzV2l0aEVkaXRDb21tYW5kRW5kaW5nU2VsZWN0aW9uKGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mKTsKLSAgICB2b2lkIHNldFRleHRJbnNlcnRlZEJ5VW5hcHBs
eVJhbmdlKGNvbnN0IFZpc2libGVQb3NpdGlvbkluZGV4UmFuZ2UmKTsKKyAgICB2b2lkIGNvbmZp
Z3VyZVJhbmdlRGVsZXRlZEJ5UmVhcHBseVdpdGhTdGFydGluZ1NlbGVjdGlvbihjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJik7CisgICAgdm9pZCBjb25maWd1cmVSYW5nZURlbGV0ZWRCeVJlYXBwbHlX
aXRoRW5kaW5nU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKKyAgICB2b2lkIHNl
dFJhbmdlRGVsZXRlZEJ5VW5hcHBseShjb25zdCBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlJik7
CiAKLSAgICB2b2lkIGNhcHR1cmVUZXh0VG9CZURlbGV0ZWRCeVVuYXBwbHkoKTsKLSAgICB2b2lk
IGNhcHR1cmVUZXh0VG9CZURlbGV0ZWRCeVJlYXBwbHkoKTsKKyAgICB2b2lkIGNhcHR1cmVUZXh0
Rm9yVW5hcHBseSgpOworICAgIHZvaWQgY2FwdHVyZVRleHRGb3JSZWFwcGx5KCk7CiAKICAgICB2
b2lkIHBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb25Gb3JVbmFwcGx5KEFYT2JqZWN0Q2Fj
aGUqKTsKICAgICB2b2lkIHBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb25Gb3JSZWFwcGx5
KEFYT2JqZWN0Q2FjaGUqKTsKIAogcHJpdmF0ZToKICAgICBpbnQgaW5kZXhGb3JWaXNpYmxlUG9z
aXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgUmVmUHRyPENvbnRhaW5lck5vZGU+JikgY29u
c3Q7Ci0gICAgU3RyaW5nIHRleHRJbnNlcnRlZEJ5VW5hcHBseSgpOwotICAgIFN0cmluZyB0ZXh0
SW5zZXJ0ZWRCeVJlYXBwbHkoKTsKKyAgICBTdHJpbmcgdGV4dERlbGV0ZWRCeVVuYXBwbHkoKTsK
KyAgICBTdHJpbmcgdGV4dERlbGV0ZWRCeVJlYXBwbHkoKTsKIAogICAgIFN0cmluZyBtX3JlcGxh
Y2VkVGV4dDsKLSAgICBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlIG1fdGV4dERlbGV0ZWRCeVVu
YXBwbHlSYW5nZTsKLSAgICBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlIG1fdGV4dEluc2VydGVk
QnlVbmFwcGx5UmFuZ2U7CisgICAgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSBtX3JhbmdlRGVs
ZXRlZEJ5VW5hcHBseTsKKyAgICBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlIG1fcmFuZ2VEZWxl
dGVkQnlSZWFwcGx5OwogfTsKIAogY2xhc3MgRWRpdENvbW1hbmRDb21wb3NpdGlvbiA6IHB1Ymxp
YyBVbmRvU3RlcCB7CkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuZGlu
Z1NlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAgICAgRWxlbWVudCogc3RhcnRp
bmdSb290RWRpdGFibGVFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9zdGFydGluZ1Jvb3RFZGl0
YWJsZUVsZW1lbnQuZ2V0KCk7IH0KICAgICBFbGVtZW50KiBlbmRpbmdSb290RWRpdGFibGVFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbmRpbmdSb290RWRpdGFibGVFbGVtZW50LmdldCgpOyB9
Ci0gICAgdm9pZCBzZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShjb25zdCBWaXNpYmxlUG9z
aXRpb25JbmRleFJhbmdlJik7CisgICAgdm9pZCBzZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkoY29u
c3QgVmlzaWJsZVBvc2l0aW9uSW5kZXhSYW5nZSYpOwogCiAjaWZuZGVmIE5ERUJVRwogICAgIHZp
cnR1YWwgdm9pZCBnZXROb2Rlc0luQ29tbWFuZChIYXNoU2V0PE5vZGUqPiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IGEwMDY1NjcxYWE3ZTk1YmUwNzI3OTQ0NjI5MGM2MmI3MWEx
ZjcxZGIuLjU1MWI4MThmMTVkZmMxOTY0YWEzNzE2NTRlMjIzNmM4ZjEzYmZiMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTU1MCw3ICs1NTAsNyBAQCB2b2lkIEVkaXRvcjo6cmVw
bGFjZVNlbGVjdGlvbldpdGhGcmFnbWVudChQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZy
YWdtZW50LAogICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYm
IGVkaXRpbmdBY3Rpb24gPT0gRWRpdEFjdGlvblBhc3RlKSB7CiAgICAgICAgIFN0cmluZyB0ZXh0
ID0gQWNjZXNzaWJpbGl0eU9iamVjdDo6c3RyaW5nRm9yVmlzaWJsZVBvc2l0aW9uUmFuZ2UoY29t
bWFuZC0+dmlzaWJsZVNlbGVjdGlvbkZvckluc2VydGVkVGV4dCgpKTsKICAgICAgICAgcmVwbGFj
ZWRUZXh0LnBvc3RUZXh0U3RhdGVDaGFuZ2VOb3RpZmljYXRpb24oZG9jdW1lbnQoKS5leGlzdGlu
Z0FYT2JqZWN0Q2FjaGUoKSwgQVhUZXh0RWRpdFR5cGVQYXN0ZSwgdGV4dCwgbV9mcmFtZS5zZWxl
Y3Rpb24oKS5zZWxlY3Rpb24oKSk7Ci0gICAgICAgIGNvbW1hbmQtPmNvbXBvc2l0aW9uKCktPnNl
dFRleHRJbnNlcnRlZEJ5VW5hcHBseVJhbmdlKHJlcGxhY2VkVGV4dC5yZXBsYWNlZFJhbmdlKCkp
OworICAgICAgICBjb21tYW5kLT5jb21wb3NpdGlvbigpLT5zZXRSYW5nZURlbGV0ZWRCeVVuYXBw
bHkocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CiAgICAgfQogCiAgICAgaWYgKCFpc0Nv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlw
aW5nQ29tbWFuZC5jcHAKaW5kZXggMjE5ODkwNzBlMzUyZGY3NWUwMjVkNDZhYzExYzQ1MjA5N2Vj
MmQwZi4uYzQzOTkzMDA3ZGFkNTI2NjIxYTIwZjNkZjk2MmRiNTgwOWRiNjYwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCkBAIC0yNTYsNyArMjU2LDcgQEAgdm9p
ZCBUeXBpbmdDb21tYW5kOjpwb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uRm9yRGVsZXRp
b24oY29uc3QgVmlzaWJsZVNlbGUKICAgICBWaXNpYmxlUG9zaXRpb25JbmRleFJhbmdlIHJhbmdl
OwogICAgIHJhbmdlLnN0YXJ0SW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihz
ZWxlY3Rpb24uc3RhcnQoKSwgcmFuZ2Uuc3RhcnRJbmRleC5zY29wZSk7CiAgICAgcmFuZ2UuZW5k
SW5kZXgudmFsdWUgPSBpbmRleEZvclZpc2libGVQb3NpdGlvbihzZWxlY3Rpb24uZW5kKCksIHJh
bmdlLmVuZEluZGV4LnNjb3BlKTsKLSAgICBjb21wb3NpdGlvbigpLT5zZXRUZXh0SW5zZXJ0ZWRC
eVVuYXBwbHlSYW5nZShyYW5nZSk7CisgICAgY29tcG9zaXRpb24oKS0+c2V0UmFuZ2VEZWxldGVk
QnlVbmFwcGx5KHJhbmdlKTsKIH0KIAogdm9pZCBUeXBpbmdDb21tYW5kOjpkb0FwcGx5KCkKQEAg
LTM4Myw3ICszODMsNyBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHRBbmROb3RpZnlB
Y2Nlc3NpYmlsaXR5KGNvbnN0IFN0cmluZyAmdGV4dCwgYm9vbCBzZQogICAgIEFjY2Vzc2liaWxp
dHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9u
KCkpOwogICAgIGluc2VydFRleHQodGV4dCwgc2VsZWN0SW5zZXJ0ZWRUZXh0KTsKICAgICByZXBs
YWNlZFRleHQucG9zdFRleHRTdGF0ZUNoYW5nZU5vdGlmaWNhdGlvbihkb2N1bWVudCgpLmV4aXN0
aW5nQVhPYmplY3RDYWNoZSgpLCBBWFRleHRFZGl0VHlwZVR5cGluZywgdGV4dCwgZnJhbWUoKS5z
ZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSk7Ci0gICAgY29tcG9zaXRpb24oKS0+c2V0VGV4dEluc2Vy
dGVkQnlVbmFwcGx5UmFuZ2UocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CisgICAgY29t
cG9zaXRpb24oKS0+c2V0UmFuZ2VEZWxldGVkQnlVbmFwcGx5KHJlcGxhY2VkVGV4dC5yZXBsYWNl
ZFJhbmdlKCkpOwogfQogCiB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHRSdW5XaXRob3V0
TmV3bGluZXMoY29uc3QgU3RyaW5nICZ0ZXh0LCBib29sIHNlbGVjdEluc2VydGVkVGV4dCkKQEAg
LTQxMCw3ICs0MTAsNyBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydExpbmVCcmVha0FuZE5v
dGlmeUFjY2Vzc2liaWxpdHkoKQogICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVwbGFj
ZWRUZXh0KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpOwogICAgIGluc2VydExpbmVC
cmVhaygpOwogICAgIHJlcGxhY2VkVGV4dC5wb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9u
KGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCksIEFYVGV4dEVkaXRUeXBlVHlwaW5n
LCAiXG4iLCBmcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpKTsKLSAgICBjb21wb3NpdGlv
bigpLT5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyZXBsYWNlZFRleHQucmVwbGFjZWRS
YW5nZSgpKTsKKyAgICBjb21wb3NpdGlvbigpLT5zZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkocmVw
bGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CiB9CiAKIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5z
ZXJ0UGFyYWdyYXBoU2VwYXJhdG9yKCkKQEAgLTQyNyw3ICs0MjcsNyBAQCB2b2lkIFR5cGluZ0Nv
bW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvckFuZE5vdGlmeUFjY2Vzc2liaWxpdHkoKQog
ICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0KGZyYW1lKCkuc2VsZWN0
aW9uKCkuc2VsZWN0aW9uKCkpOwogICAgIGluc2VydFBhcmFncmFwaFNlcGFyYXRvcigpOwogICAg
IHJlcGxhY2VkVGV4dC5wb3N0VGV4dFN0YXRlQ2hhbmdlTm90aWZpY2F0aW9uKGRvY3VtZW50KCku
ZXhpc3RpbmdBWE9iamVjdENhY2hlKCksIEFYVGV4dEVkaXRUeXBlVHlwaW5nLCAiXG4iLCBmcmFt
ZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpKTsKLSAgICBjb21wb3NpdGlvbigpLT5zZXRUZXh0
SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyZXBsYWNlZFRleHQucmVwbGFjZWRSYW5nZSgpKTsKKyAg
ICBjb21wb3NpdGlvbigpLT5zZXRSYW5nZURlbGV0ZWRCeVVuYXBwbHkocmVwbGFjZWRUZXh0LnJl
cGxhY2VkUmFuZ2UoKSk7CiB9CiAKIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0UGFyYWdyYXBo
U2VwYXJhdG9ySW5RdW90ZWRDb250ZW50KCkKQEAgLTQ0OCw3ICs0NDgsNyBAQCB2b2lkIFR5cGlu
Z0NvbW1hbmQ6Omluc2VydFBhcmFncmFwaFNlcGFyYXRvckluUXVvdGVkQ29udGVudEFuZE5vdGlm
eUFjY2Vzc2liaWxpdAogICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0
KGZyYW1lKCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkpOwogICAgIGluc2VydFBhcmFncmFwaFNl
cGFyYXRvckluUXVvdGVkQ29udGVudCgpOwogICAgIHJlcGxhY2VkVGV4dC5wb3N0VGV4dFN0YXRl
Q2hhbmdlTm90aWZpY2F0aW9uKGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVjdENhY2hlKCksIEFY
VGV4dEVkaXRUeXBlVHlwaW5nLCAiXG4iLCBmcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigp
KTsKLSAgICBjb21wb3NpdGlvbigpLT5zZXRUZXh0SW5zZXJ0ZWRCeVVuYXBwbHlSYW5nZShyZXBs
YWNlZFRleHQucmVwbGFjZWRSYW5nZSgpKTsKKyAgICBjb21wb3NpdGlvbigpLT5zZXRSYW5nZURl
bGV0ZWRCeVVuYXBwbHkocmVwbGFjZWRUZXh0LnJlcGxhY2VkUmFuZ2UoKSk7CiB9CiAKIGJvb2wg
VHlwaW5nQ29tbWFuZDo6bWFrZUVkaXRhYmxlUm9vdEVtcHR5KCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYWMyYzFiMTc3
YTk0ZWI5OTlkNjc4N2JmNTEyMWU0YjFlMmIzY2VlLi4xZjIwZTY4YjNkODZhZWM0NDAxYTI3MTU1
MGEwMDYxOWMzNjVmOWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDUtMTMgIERvdWcg
UnVzc2VsbCAgPGRfcnVzc2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFJlZ3Jlc3Npb25z
IGluIHVuZG8vcmVkbyBhY2Nlc3NpYmlsaXR5IGZyb20gQnVnIDE1MzM2MQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3NjUyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisgICAgICAgIAorICAgICAgICBVc2UgaW5kZXhGb3JWaXNp
YmxlUG9zaXRpb24gJiB2aXNpYmxlUG9zaXRpb25Gb3JJbmRleCB0byBzdG9yZSBzZWxlY3Rpb24g
ZGF0YQorICAgICAgICBzbyB0aGF0IEFjY2Vzc2liaWxpdHlVbmRvUmVwbGFjZWRUZXh0IGNhbiBi
dWlsZCB2YWxpZCBzZWxlY3Rpb24gcmFuZ2VzIGFuZAorICAgICAgICByZXRyaWV2ZSBzdHJpbmdz
IGZvciBBVCBub3RpZmljYXRpb25zLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdmFs
dWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tY29udGVudGVkaXRhYmxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hh
bmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVl
LWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEuaHRtbDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0ZmllbGQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1j
aGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC5odG1sOgorCiAyMDE2LTA1LTEzICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmtpbmcgZmFzdC90ZXh0LWF1
dG9zaXppbmcvaW9zL3RleHQtYXV0b3NpemluZy1hZnRlci1iYWNrLmh0bWwgYXMgYSBmbGFreSB0
aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1j
aGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5n
ZS11c2VyLWluZm8tY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dAppbmRleCA3MjdiZDA5MTcz
Y2Q2ZWNhNTA4Y2ZmYWU5ZGZhNmFmNTg0OGYxMGFlLi5iZmM0YzNhZjQwZDNlNmU0NjQzZTVhYmI5
MzExN2YxYzRjNjlkMjM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21h
Yy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5n
ZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS1leHBlY3RlZC50eHQKQEAg
LTM4LDYgKzM4LDE2IEBAIFBBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVswXSBp
cyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMF0KIFBBU1MgYWN0dWFsRWRpdFR5cGVzW3Jl
c3VsdEluZGV4XVswXSBpcyAiRGVsZXRlIgogUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0
SW5kZXhdWzFdIGlzIGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVsxXQogUEFTUyBhY3R1YWxF
ZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzFdIGlzICJUeXBpbmciCitQQVNTIGFjdHVhbENoYW5nZVR5
cGVzW3Jlc3VsdEluZGV4XSBpcyBBWFRleHRTdGF0ZUNoYW5nZVR5cGVFZGl0CitQQVNTIGFjdHVh
bENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMF0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5k
ZXhdWzBdCitQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1bMF0gaXMgIkRlbGV0ZSIK
K1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVsxXSBpcyBleHBlY3RlZFZhbHVl
c1tyZXN1bHRJbmRleF1bMV0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVsxXSBp
cyAiSW5zZXJ0IgorUEFTUyBhY3R1YWxDaGFuZ2VUeXBlc1tyZXN1bHRJbmRleF0gaXMgQVhUZXh0
U3RhdGVDaGFuZ2VUeXBlRWRpdAorUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhd
WzBdIGlzIGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVswXQorUEFTUyBhY3R1YWxFZGl0VHlw
ZXNbcmVzdWx0SW5kZXhdWzBdIGlzICJEZWxldGUiCitQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1ty
ZXN1bHRJbmRleF1bMV0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdCitQQVNTIGFj
dHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1bMV0gaXMgIkluc2VydCIKIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8t
Y29udGVudGVkaXRhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1
ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUuaHRtbAppbmRl
eCBmMWY4ODAxYjViZGFiOTM5Zjc0OGNlYTgxMDM3MzVkZWJlNWEzMTkyLi4wN2ExMzRiOTczZDAy
ZjJmYzYwZGFkMTM0MjkwZDFiNWQ1OGMzZWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50
ZWRpdGFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1j
aGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby1jb250ZW50ZWRpdGFibGUuaHRtbApAQCAtNDUs
NyArNDUsNyBAQAogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGNvdW50Kys7
Ci0gICAgICAgICAgICAgICAgaWYgKGNvdW50ID09IDkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
Y291bnQgPT0gMTEpIHsKIAogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGluZygiMSIp
OwogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZURlbGV0ZSgiMSIpOwpAQCAtNTYsNiArNTYs
OCBAQAogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVBhc3RlKCIyIik7CiAgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlUGFzdGVSZXBsYWNlKCIzIiwgIjIiKTsKICAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVUeXBpbmdSZXBsYWNlKCIyIiwgIjMiKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVJbnNlcnRSZXBsYWNlKCIzIiwgIjIiKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVJbnNlcnRSZXBsYWNlKCIyIiwgIjMiKTsKIAogICAgICAgICAgICAgICAgICAgICB3
ZWJBcmVhLnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCk7CiAgICAgICAgICAgICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKQEAgLTk0LDYgKzk2LDEwIEBACiAKICAg
ICAgICAgICAgIGV4ZWNFeHRlbmRTZWxlY3Rpb25MZWZ0QnlDaGFyYWN0ZXJDb21tYW5kKCk7CiAg
ICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCIzIik7CisKKyAgICAgICAgICAgIGV4ZWNV
bmRvQ29tbWFuZCgpOworCisgICAgICAgICAgICBleGVjUmVkb0NvbW1hbmQoKTsKICAgICAgICAg
fQogICAgIDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUt
Y2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS1leHBlY3RlZC50eHQKaW5kZXggYTc1OTczZGQ3ODE0
NGVjODVhNzFmYWYyZmQ0YmY4YzJlYjU4NzZlMi4uZGQ0YTUwMzU1ODg1MzNmYTAwNDgwNzQ2ZmU4
YWRhNDBjZDljOTQ4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMv
dmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1j
aGFuZ2UtdXNlci1pbmZvLXRleHRhcmVhLWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsMTYgQEAg
UEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzBdIGlzIGV4cGVjdGVkVmFsdWVz
W3Jlc3VsdEluZGV4XVswXQogUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzBdIGlz
ICJEZWxldGUiCiBQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMV0gaXMgZXhw
ZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdCiBQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJ
bmRleF1bMV0gaXMgIlR5cGluZyIKK1BBU1MgYWN0dWFsQ2hhbmdlVHlwZXNbcmVzdWx0SW5kZXhd
IGlzIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZUVkaXQKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jl
c3VsdEluZGV4XVswXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMF0KK1BBU1MgYWN0
dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVswXSBpcyAiRGVsZXRlIgorUEFTUyBhY3R1YWxDaGFu
Z2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdIGlzIGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVsx
XQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzFdIGlzICJJbnNlcnQiCitQQVNT
IGFjdHVhbENoYW5nZVR5cGVzW3Jlc3VsdEluZGV4XSBpcyBBWFRleHRTdGF0ZUNoYW5nZVR5cGVF
ZGl0CitQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1bMF0gaXMgZXhwZWN0ZWRW
YWx1ZXNbcmVzdWx0SW5kZXhdWzBdCitQQVNTIGFjdHVhbEVkaXRUeXBlc1tyZXN1bHRJbmRleF1b
MF0gaXMgIkRlbGV0ZSIKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVsxXSBp
cyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMV0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jl
c3VsdEluZGV4XVsxXSBpcyAiSW5zZXJ0IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS5odG1sIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11
c2VyLWluZm8tdGV4dGFyZWEuaHRtbAppbmRleCBhZWE2ZTg3YmU1OTMyZmQ2MzIzNWVkYWUyNmIy
Y2ExYjkxZTVkNmEyLi4zNmM0ZTU4YmVjMTNkNWExMjg1OGZkNjA5OWE3NTIyNzI1NDdhMmRiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFs
dWUtY2hhbmdlLXVzZXItaW5mby10ZXh0YXJlYS5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRhcmVh
Lmh0bWwKQEAgLTQ2LDcgKzQ2LDcgQEAKIAogICAgICAgICAgICAgICAgIGNvdW50Kys7CiAKLSAg
ICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRDb3VudCA9IDk7CisgICAgICAgICAgICAgICAgdmFy
IGV4cGVjdGVkQ291bnQgPSAxMTsKICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT0gZXhwZWN0
ZWRDb3VudCkgewogCiAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlVHlwaW5nKCIzIik7CkBA
IC01OCw2ICs1OCw4IEBACiAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlUGFzdGUoIjUiKTsK
ICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVQYXN0ZVJlcGxhY2UoIjYiLCAiNSIpOwogICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGluZ1JlcGxhY2UoIjUiLCAiNiIpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUluc2VydFJlcGxhY2UoIjYiLCAiNSIpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUluc2VydFJlcGxhY2UoIjUiLCAiNiIpOwogCiAgICAgICAgICAg
ICAgICAgICAgIHdlYkFyZWEucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKICAgICAgICAg
ICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwpAQCAtOTYsNiArOTgs
MTAgQEAKIAogICAgICAgICAgICAgZXhlY0V4dGVuZFNlbGVjdGlvbkxlZnRCeUNoYXJhY3RlckNv
bW1hbmQoKTsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oIjYiKTsKKworICAgICAg
ICAgICAgZXhlY1VuZG9Db21tYW5kKCk7CisKKyAgICAgICAgICAgIGV4ZWNSZWRvQ29tbWFuZCgp
OwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRm
aWVsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1j
aGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0ZmllbGQtZXhwZWN0ZWQudHh0CmluZGV4
IDkwZWFmYzYyOGIyYzBhODA0YjFhMTk5MjFkNGRlODQ1NjU3NTc0Y2IuLmJlYmE1Y2IzMmU2ODQ2
N2I0OTczNTRjYWZiZjAwMmQ2MTM1ZTQwODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVs
ZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvdmFsdWUt
Y2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGZpZWxkLWV4cGVjdGVkLnR4dApAQCAt
MzIsNiArMzIsMTYgQEAgUEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzBdIGlz
IGV4cGVjdGVkVmFsdWVzW3Jlc3VsdEluZGV4XVswXQogUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVz
dWx0SW5kZXhdWzBdIGlzICJEZWxldGUiCiBQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJ
bmRleF1bMV0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdCiBQQVNTIGFjdHVhbEVk
aXRUeXBlc1tyZXN1bHRJbmRleF1bMV0gaXMgIlR5cGluZyIKK1BBU1MgYWN0dWFsQ2hhbmdlVHlw
ZXNbcmVzdWx0SW5kZXhdIGlzIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZUVkaXQKK1BBU1MgYWN0dWFs
Q2hhbmdlVmFsdWVzW3Jlc3VsdEluZGV4XVswXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRl
eF1bMF0KK1BBU1MgYWN0dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVswXSBpcyAiRGVsZXRlIgor
UEFTUyBhY3R1YWxDaGFuZ2VWYWx1ZXNbcmVzdWx0SW5kZXhdWzFdIGlzIGV4cGVjdGVkVmFsdWVz
W3Jlc3VsdEluZGV4XVsxXQorUEFTUyBhY3R1YWxFZGl0VHlwZXNbcmVzdWx0SW5kZXhdWzFdIGlz
ICJJbnNlcnQiCitQQVNTIGFjdHVhbENoYW5nZVR5cGVzW3Jlc3VsdEluZGV4XSBpcyBBWFRleHRT
dGF0ZUNoYW5nZVR5cGVFZGl0CitQQVNTIGFjdHVhbENoYW5nZVZhbHVlc1tyZXN1bHRJbmRleF1b
MF0gaXMgZXhwZWN0ZWRWYWx1ZXNbcmVzdWx0SW5kZXhdWzBdCitQQVNTIGFjdHVhbEVkaXRUeXBl
c1tyZXN1bHRJbmRleF1bMF0gaXMgIkRlbGV0ZSIKK1BBU1MgYWN0dWFsQ2hhbmdlVmFsdWVzW3Jl
c3VsdEluZGV4XVsxXSBpcyBleHBlY3RlZFZhbHVlc1tyZXN1bHRJbmRleF1bMV0KK1BBU1MgYWN0
dWFsRWRpdFR5cGVzW3Jlc3VsdEluZGV4XVsxXSBpcyAiSW5zZXJ0IgogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10
ZXh0ZmllbGQuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5n
ZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC5odG1sCmluZGV4IDYzNTgyYzQ2YTNh
Mzc5NDRkZmFhZTdiN2RjNWI5MGRhOTEzNzY2ZDkuLjg1MThiNTA1ODFmNWFlYWIzMzcyYWI3ZGZj
MTBkMjE5YzBlM2I3ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFj
L3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLXRleHRmaWVsZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2Ut
dXNlci1pbmZvLXRleHRmaWVsZC5odG1sCkBAIC00Niw3ICs0Niw3IEBACiAKICAgICAgICAgICAg
ICAgICBjb3VudCsrOwogCi0gICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkQ291bnQgPSA3Owor
ICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZENvdW50ID0gOTsKICAgICAgICAgICAgICAgICBp
ZiAoY291bnQgPT0gZXhwZWN0ZWRDb3VudCkgewogCiAgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlVHlwaW5nKCI2Iik7CkBAIC01Niw2ICs1Niw4IEBACiAgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlUGFzdGUoIjgiKTsKICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVQYXN0ZVJlcGxh
Y2UoIjkiLCAiOCIpOwogICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGluZ1JlcGxhY2Uo
IjgiLCAiOSIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUluc2VydFJlcGxhY2UoIjki
LCAiOCIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUluc2VydFJlcGxhY2UoIjgiLCAi
OSIpOwogCiAgICAgICAgICAgICAgICAgICAgIHdlYkFyZWEucmVtb3ZlTm90aWZpY2F0aW9uTGlz
dGVuZXIoKTsKICAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwpAQCAtOTIsNiArOTQsMTAgQEAKIAogICAgICAgICAgICAgZXhlY0V4dGVuZFNlbGVjdGlv
bkxlZnRCeUNoYXJhY3RlckNvbW1hbmQoKTsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURv
d24oIjkiKTsKKworICAgICAgICAgICAgZXhlY1VuZG9Db21tYW5kKCk7CisKKyAgICAgICAgICAg
IGV4ZWNSZWRvQ29tbWFuZCgpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>