<?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>91867</bug_id>
          
          <creation_ts>2012-07-20 08:31:38 -0700</creation_ts>
          <short_desc>Web Inspector: disable fake workers inspection.</short_desc>
          <delta_ts>2012-07-20 09:50:59 -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>Web Inspector (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>674594</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-20 08:31:38 -0700</bug_when>
    <thetext>Ports that are interested in workers inspection should enable true (native) inspection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674603</commentid>
    <comment_count>1</comment_count>
      <attachid>153513</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-20 08:43:18 -0700</bug_when>
    <thetext>Created attachment 153513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674655</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-20 09:50:59 -0700</bug_when>
    <thetext>Committed r123223: &lt;http://trac.webkit.org/changeset/123223&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153513</attachid>
            <date>2012-07-20 08:43:18 -0700</date>
            <delta_ts>2012-07-20 09:07:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91867-20120720194313.patch</filename>
            <type>text/plain</type>
            <size>41524</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0NDViMjI1Mjc5MTc0
YmVhNmE4MjYyNTQ0NjhiMGJkZTdjM2ZjNi4uOGZmODZhY2JiM2Y1NmUwYjZmMTMzZjUxZTc2NWY3
YTE0YWRhM2Q2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA3LTIwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGRpc2FibGUgZmFrZSB3b3JrZXJzIGluc3BlY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTg2NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICdGYWtlIHdvcmtlcnMnIGlzIHVucmVsaWFibGUg
ZXJyb3ItcHJvbmUgd2F5IHRvIGRlYnVnIHdvcmtlcnMuIFRoZXJlIGFyZSBhCisgICAgICAgIGxv
dCBvZiBmcmFtZXdvcmtzIHN1cHBvcnRpbmcgaXQuIEluc3BlY3RvciBzaG91bGQgbm90IGRvIHRo
YXQgc2luY2UgaXQgaGFzIGEgbW9yZQorICAgICAgICBwb3dlcmZ1bCBuYXRpdmUgd29ya2VyIGlu
c3BlY3Rpb24gY2FwYWJpbGl0aWVzLiBQb3J0IG93bmVycyBzaG91bGQgZW5hYmxlIGl0CisgICAg
ICAgIGluIGNhc2UgdGhleSB3YW50IHRvIHByb3ZpZGUgd29ya2VycyBkZWJ1Z2dpbmcuCisKKyAg
ICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdEhvc3Q6OkluamVjdGVk
U2NyaXB0SG9zdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oOgor
ICAgICAgICAoSW5qZWN0ZWRTY3JpcHRIb3N0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckFnZW50OjpkaWRDb21taXRMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckFnZW50OjplbmFibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChJbnNwZWN0b3JBZ2VudCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkRmFr
ZVdvcmtlci5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJzU2lkZWJhclBhbmUuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
czoKKyAgICAgICAgKiB3b3JrZXJzL0Fic3RyYWN0V29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFic3RyYWN0V29ya2VyOjpjb250ZXh0RGVzdHJveWVkKToKKyAgICAgICAgKiB3b3JrZXJz
L0Fic3RyYWN0V29ya2VyLmg6CisgICAgICAgIChBYnN0cmFjdFdvcmtlcik6CisgICAgICAgICog
d29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
OjpjcmVhdGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlcjo6Y3JlYXRlKToKKwogMjAxMi0wNy0yMCAgRXVnZW5lIEtseXVjaG5pa292ICA8
ZXVzdGFzLmJpZ0BnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogVGltZWxpbmU6
IGZvcndhcmQgY29tcGF0aWJpbGl0eSBmb3IgbG9hZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCAwYzhjYzIwMzc3ZWY2YTZlNTBh
Nzg1NTYzNjlkMmI4N2Y1NDYyYmVmLi43MGExOGEwNWU1NTdkYmI0YzI5ZGNiZDQ3MzY2ZWVkYjE0
ZmVmNTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzCkBAIC03NSw3ICs3NSw2IEBAIGxvY2FsaXplZFN0cmluZ3NbIkFnZ3JlZ2F0ZWQg
VGltZSJdID0gIkFnZ3JlZ2F0ZWQgVGltZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgTm9kZXMi
XSA9ICJBbGwgTm9kZXMiOwogbG9jYWxpemVkU3RyaW5nc1siQWxsIFBhbmVscyJdID0gIkFsbCBQ
YW5lbHMiOwogbG9jYWxpemVkU3RyaW5nc1siQWxsIl0gPSAiQWxsIjsKLWxvY2FsaXplZFN0cmlu
Z3NbIkFsbG93IGRlYnVnZ2luZyB3b3JrZXJzLiBFbmFibGluZyB0aGlzIG9wdGlvbiB3aWxsIHJl
cGxhY2UgbmF0aXZlIHdvcmtlcnMgd2l0aCB0aGUgaWZyYW1lLWJhc2VkIEphdmFTY3JpcHQgaW1w
bGVtZW50YXRpb24iXSA9ICJBbGxvdyBkZWJ1Z2dpbmcgd29ya2Vycy4gRW5hYmxpbmcgdGhpcyBv
cHRpb24gd2lsbCByZXBsYWNlIG5hdGl2ZSB3b3JrZXJzIHdpdGggdGhlIGlmcmFtZS1iYXNlZCBK
YXZhU2NyaXB0IGltcGxlbWVudGF0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsd2F5cyBlbmFi
bGUiXSA9ICJBbHdheXMgZW5hYmxlIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFuIGVycm9yIG9jY3Vy
cmVkIHRyeWluZyB0b1xucmVhZCB0aGUg4oCcJXPigJ0gdGFibGUuIl0gPSAiQW4gZXJyb3Igb2Nj
dXJyZWQgdHJ5aW5nIHRvXG5yZWFkIHRoZSDigJwlc+KAnSB0YWJsZS4iOwogbG9jYWxpemVkU3Ry
aW5nc1siQW4gdW5leHBlY3RlZCBlcnJvciAlcyBvY2N1cnJlZC4iXSA9ICJBbiB1bmV4cGVjdGVk
IGVycm9yICVzIG9jY3VycmVkLiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNWZjZDZkNGVmNmUzYzNm
ZmI2MjA0NWRiYTI0NTY5MTJjMTY1N2ExNy4uZGJiNDQ4MzBjYmQyYmI5YmU4NjE0YzRmMWYyOWQz
MTdiNmY0MTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjMyMSw3ICs2MzIxLDYgQEAKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcycs
Ci0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZEZha2VXb3JrZXIuanMn
LAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRDb250ZXh0TWFuYWdlci5qcycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0Rm9ybWF0dGVyLmpz
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IGUxYWJiZWM2NjAxYWQzMjFjYjE4OWVkYjZmYzBiNjM0
YjRmMjkxODUuLjM1N2VhNDYyNGFkMmU3OGI0NmRkNTdlNzFmMzc3NWE0M2Y0YzZmMGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgpAQCAtMTg3NDUsNyArMTg3NDUsNiBAQCBfX1pON1dlYkNvcmUyMldvcmtl
clNjcmlwdENvbnRyb2xsZXIyOHNjaGVkdWxlRXhlY3V0aW9uVGVybWluYXRpb25FdgogX19aTjdX
ZWJDb3JlMTVEYXRhYmFzZVRyYWNrZXIzMWludGVycnVwdEFsbERhdGFiYXNlc0ZvckNvbnRleHRF
UEtOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFCiBfX1pON1dlYkNvcmUxNEFic3RyYWN0V29y
a2VyRDJFdgogX19aTjdXZWJDb3JlMjlXb3JrZXJUaHJlYWRTaHV0ZG93blN0YXJ0VGFzazExcGVy
Zm9ybVRhc2tFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEUKLV9fWk43V2ViQ29yZTE0QWJz
dHJhY3RXb3JrZXIxNW9uRGVzdHJveVdvcmtlckV2CiBfX1pON1dlYkNvcmUyNERhdGFiYXNlVGFz
a1N5bmNocm9uaXplckMxRXYKIF9fWk43V2ViQ29yZTI0RGF0YWJhc2VUYXNrU3luY2hyb25pemVy
MTN0YXNrQ29tcGxldGVkRXYKIF9fWk43V2ViQ29yZTEzV29ya2VyQ29udGV4dDIxbm90aWZ5T2Jz
ZXJ2ZXJzT2ZTdG9wRXYKQEAgLTI3ODY5LDggKzI3ODY4LDYgQEAgX19aTjdXZWJDb3JlMjZJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjE3RGVidWdnZXJfc3RlcE92ZXJFbFBOU18xNUluc3BlY3Rv
ck9iamUKIF9fWk43V2ViQ29yZTIySW5zcGVjdG9yRGVidWdnZXJBZ2VudDhzdGVwT3ZlckVQTjNX
VEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTdTY3JpcHREZWJ1Z1NlcnZlcjE3c3RlcE92ZXJTdGF0
ZW1lbnRFdgogX19aU3Q0c3dhcElON1dlYkNvcmUyMkluc3BlY3RvckRlYnVnZ2VyQWdlbnQ2U2Ny
aXB0RUV2UlRfUzRfCi1fX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjE5ZGlk
Q3JlYXRlV29ya2VySW1wbEVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRWxSS04zV1RGNlN0cmlu
Z0ViCi1fX1pON1dlYkNvcmUxNEluc3BlY3RvckFnZW50MTVkaWRDcmVhdGVXb3JrZXJFbFJLTjNX
VEY2U3RyaW5nRWIKIF9fWk4zV1RGN0hhc2hNYXBJbE5TXzZSZWZQdHJJTjdXZWJDb3JlMjNJbnNw
ZWN0b3JXb3JrZXJSZXNvdXJjZUVFRU5TXzdJbnRIYXNoSW1FRU5TXzEwSGFzaFRyYWl0c0lsRUVO
UzdfSVM0X0VFRTNzZXRFUktsUktTNF8KIF9fWk4zV1RGMTdIYXNoTWFwVHJhbnNsYXRvcklTdDRw
YWlySWxOU182UmVmUHRySU43V2ViQ29yZTIzSW5zcGVjdG9yV29ya2VyUmVzb3VyY2VFRUVFTlNf
MTRQYWlySGFzaFRyYWl0c0lOU18xMEhhc2hUcmFpdHNJbEVFTlM4X0lTNV9FRUVFTlNfN0ludEhh
c2hJbUVFRTl0cmFuc2xhdGVFUlM2X1JLbFJLUzVfCiBfX1pON1dlYkNvcmUyNkluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyMTRET01fcmVtb3ZlTm9kZUVsUE5TXzE1SW5zcGVjdG9yT2JqZWN0RQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3MDVh
NGJjZTk4NGE3YjYzMjNhMjBhOWY5MTIzNzQ3ZWVmYzJkYTYyLi4xNDEyM2ZlYTFjOTFhOGIyZWNh
ZWZjMTdkZDI2NTJiOTc0ZjVlOGExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNzUyMTAsMTAgKzc1MjEwLDYgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcSW5qZWN0ZWRGYWtlV29ya2VyLmpzIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxl
CiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxpbnNwZWN0b3IuY3Nz
IgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRIb3N0LmNwcAppbmRleCA1OTg1OGQ5Nzc5YjQ2MjE0MjY5Y2RmMGFhZTdmMmJi
ZDJhODA1ZjlmLi5lNDlmOTkzZDNhMjA3NzBkNDNmN2Y0ZTJiYWU2MWQ1MjMzODY2Njc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcApAQCAt
NzcsNyArNzcsNiBAQCBJbmplY3RlZFNjcmlwdEhvc3Q6OkluamVjdGVkU2NyaXB0SG9zdCgpCiAj
ZW5kaWYKICAgICAsIG1fZG9tU3RvcmFnZUFnZW50KDApCiAgICAgLCBtX2RvbUFnZW50KDApCi0g
ICAgLCBtX2xhc3RXb3JrZXJJZCgxIDw8IDMxKSAvLyBEaXN0aW5ndWlzaCBpZHMgb2YgZmFrZSB3
b3JrZXJzIGZyb20gcmVhbCBvbmVzLCB0byBtaW5pbWl6ZSB0aGUgY2hhbmNlcyB0aGV5IG92ZXJs
YXAuCiB7CiAgICAgbV9kZWZhdWx0SW5zcGVjdGFibGVPYmplY3QgPSBhZG9wdFB0cihuZXcgSW5z
cGVjdGFibGVPYmplY3QoKSk7CiB9CkBAIC0xNjQsMjUgKzE2Myw2IEBAIFN0cmluZyBJbmplY3Rl
ZFNjcmlwdEhvc3Q6OnN0b3JhZ2VJZEltcGwoU3RvcmFnZSogc3RvcmFnZSkKICAgICByZXR1cm4g
U3RyaW5nKCk7CiB9CiAKLSNpZiBFTkFCTEUoV09SS0VSUykKLWxvbmcgSW5qZWN0ZWRTY3JpcHRI
b3N0OjpuZXh0V29ya2VySWQoKQotewotICAgIHJldHVybiArK21fbGFzdFdvcmtlcklkOwotfQot
Ci12b2lkIEluamVjdGVkU2NyaXB0SG9zdDo6ZGlkQ3JlYXRlV29ya2VyKGxvbmcgaWQsIGNvbnN0
IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQotewotICAgIGlmIChtX2luc3BlY3Rv
ckFnZW50KQotICAgICAgICBtX2luc3BlY3RvckFnZW50LT5kaWRDcmVhdGVXb3JrZXIoc3RhdGlj
X2Nhc3Q8aW50PihpZCksIHVybCwgaXNTaGFyZWRXb3JrZXIpOwotfQotCi12b2lkIEluamVjdGVk
U2NyaXB0SG9zdDo6ZGlkRGVzdHJveVdvcmtlcihsb25nIGlkKQotewotICAgIGlmIChtX2luc3Bl
Y3RvckFnZW50KQotICAgICAgICBtX2luc3BlY3RvckFnZW50LT5kaWREZXN0cm95V29ya2VyKHN0
YXRpY19jYXN0PGludD4oaWQpKTsKLX0KLSNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKLQogI2lm
IEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogU2NyaXB0RGVidWdTZXJ2ZXImIEluamVjdGVk
U2NyaXB0SG9zdDo6c2NyaXB0RGVidWdTZXJ2ZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IDRlOWE4MjEwMjk5YzcwMWEwYmMxN2Vj
YTU5M2MzYjNmMzQ1Yjk4NmEuLmFiNTBmYjkzOTBlN2YwMjA3M2NiMmRiZWMyMWE2YmI5MWRiMGVk
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgK
QEAgLTEwOSwxMSArMTA5LDYgQEAgcHVibGljOgogICAgIFN0cmluZyBkYXRhYmFzZUlkSW1wbChE
YXRhYmFzZSopOwogI2VuZGlmCiAgICAgU3RyaW5nIHN0b3JhZ2VJZEltcGwoU3RvcmFnZSopOwot
I2lmIEVOQUJMRShXT1JLRVJTKQotICAgIGxvbmcgbmV4dFdvcmtlcklkKCk7Ci0gICAgdm9pZCBk
aWRDcmVhdGVXb3JrZXIobG9uZyBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRX
b3JrZXIpOwotICAgIHZvaWQgZGlkRGVzdHJveVdvcmtlcihsb25nIGlkKTsKLSNlbmRpZgogCiAj
aWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgU2NyaXB0RGVidWdTZXJ2ZXImIHNj
cmlwdERlYnVnU2VydmVyKCk7CkBAIC0xMzIsNyArMTI3LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFC
TEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2Rl
YnVnZ2VyQWdlbnQ7CiAjZW5kaWYKLSAgICBsb25nIG1fbGFzdFdvcmtlcklkOwogICAgIFZlY3Rv
cjxPd25QdHI8SW5zcGVjdGFibGVPYmplY3Q+ID4gbV9pbnNwZWN0ZWRPYmplY3RzOwogICAgIE93
blB0cjxJbnNwZWN0YWJsZU9iamVjdD4gbV9kZWZhdWx0SW5zcGVjdGFibGVPYmplY3Q7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbAppbmRl
eCA1NGYwODBmMmMzYWFhNGYzYzMyNmQwZGE0YjI2NzhkYzI2MTVmODQ4Li43MWI4OGIxMzdmZTI0
NWZhMTI2MWE2NDM1MWY3ZTc4ODMzNTQwMDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbApAQCAtNDcsMTEgKzQ3LDYgQEAgbW9kdWxlIGNv
cmUgewogCiAgICAgICAgIFtDdXN0b21dIERPTVN0cmluZyBkYXRhYmFzZUlkKGluIERPTU9iamVj
dCBkYXRhYmFzZSk7CiAgICAgICAgIFtDdXN0b21dIERPTVN0cmluZyBzdG9yYWdlSWQoaW4gRE9N
T2JqZWN0IHN0b3JhZ2UpOwotCi0jaWYgZGVmaW5lZChFTkFCTEVfV09SS0VSUykgJiYgRU5BQkxF
X1dPUktFUlMKLSAgICAgICAgdm9pZCBkaWRDcmVhdGVXb3JrZXIoaW4gbG9uZyBpZCwgaW4gRE9N
U3RyaW5nIHVybCwgaW4gYm9vbGVhbiBpc0Zha2VXb3JrZXIpOwotICAgICAgICB2b2lkIGRpZERl
c3Ryb3lXb3JrZXIoaW4gbG9uZyBpZCk7Ci0gICAgICAgIGxvbmcgbmV4dFdvcmtlcklkKCk7Ci0j
ZW5kaWYKICAgICB9OwogfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
aW5kZXggNzdhZDY3MGZlOWFlZWM0MDBlNjcwMDNiNTNjNjBjNjM0YWRkMzE2Mi4uYWE5ZTdjOTdk
MDQzOWQ0MzgwMjM3MzZmYzM3ODBmNzE2NTYwMmNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbgpAQCAtMjgsMjAgKzI4LDYgQEAKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJvYmplY3QiLCAiJHJlZiI6ICJSdW50aW1lLlJlbW90ZU9iamVjdCIgfSwKICAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoaW50cyIsICJ0eXBlIjogIm9iamVjdCIgfQog
ICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZGlkQ3JlYXRlV29ya2VyIiwKLSAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZCIsICJ0eXBlIjog
ImludGVnZXIiIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXJsIiwgInR5cGUi
OiAic3RyaW5nIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlzU2hhcmVkIiwg
InR5cGUiOiAiYm9vbGVhbiIgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlkRGVzdHJveVdvcmtlciIs
Ci0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiaWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9Ci0gICAgICAgICAgICAgICAgXQogICAg
ICAgICAgICAgfQogICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IGIzYWEzYmNmNjhmZDIzM2Q1MTc3ZTdmYzJlNmZhNDc4
N2FhMzE1MTQuLjVjMjhjYTc3ODgxZjY3ZWM2MzE3Mjc0NDM5Nzg3MmJiYTdkOWRlNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAtNDUsNyArNDUs
NiBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRz
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgpAQCAt
MTEzLDIzICsxMTIsMTIgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkQ29tbWl0TG9hZCgpCiB7
CiAgICAgbV9kaWRDb21taXRMb2FkRmlyZWQgPSB0cnVlOwogICAgIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzKCk7Ci0jaWYgRU5BQkxFKFdPUktFUlMpCi0g
ICAgbV93b3JrZXJzLmNsZWFyKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6
ZW5hYmxlKEVycm9yU3RyaW5nKikKIHsKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKEluc3BlY3Rv
ckFnZW50U3RhdGU6Omluc3BlY3RvckFnZW50RW5hYmxlZCwgdHJ1ZSk7CiAKLSNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikgJiYgRU5BQkxFKFdPUktFUlMpCi0gICAgV29ya2Vyc01hcDo6
aXRlcmF0b3Igd29ya2Vyc0VuZCA9IG1fd29ya2Vycy5lbmQoKTsKLSAgICBmb3IgKFdvcmtlcnNN
YXA6Oml0ZXJhdG9yIGl0ID0gbV93b3JrZXJzLmJlZ2luKCk7IGl0ICE9IHdvcmtlcnNFbmQ7ICsr
aXQpIHsKLSAgICAgICAgSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UqIHdvcmtlciA9IGl0LT5zZWNv
bmQuZ2V0KCk7Ci0gICAgICAgIG1fZnJvbnRlbmQtPmluc3BlY3RvcigpLT5kaWRDcmVhdGVXb3Jr
ZXIoc3RhdGljX2Nhc3Q8aW50Pih3b3JrZXItPmlkKCkpLCB3b3JrZXItPnVybCgpLCB3b3JrZXIt
PmlzU2hhcmVkV29ya2VyKCkpOwotICAgIH0KLSNlbmRpZgotCiAgICAgaWYgKG1fcGVuZGluZ0lu
c3BlY3REYXRhLmZpcnN0KQogICAgICAgICBpbnNwZWN0KG1fcGVuZGluZ0luc3BlY3REYXRhLmZp
cnN0LCBtX3BlbmRpbmdJbnNwZWN0RGF0YS5zZWNvbmQpOwogCkBAIC0xNTMsMzYgKzE0MSw2IEBA
IGJvb2wgSW5zcGVjdG9yQWdlbnQ6OmlzTWFpblJlc291cmNlTG9hZGVyKERvY3VtZW50TG9hZGVy
KiBsb2FkZXIsIGNvbnN0IEtVUkwmIHJlCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJhbWUoKSA9PSBt
X2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9hZGVyLT5yZXF1
ZXN0VVJMKCk7CiB9CiAKLSNpZiBFTkFCTEUoV09SS0VSUykKLXZvaWQgSW5zcGVjdG9yQWdlbnQ6
OmRpZENyZWF0ZVdvcmtlcihpbnRwdHJfdCBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNT
aGFyZWRXb3JrZXIpCi17Ci0gICAgaWYgKCFkZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZT4gd29ya2Vy
UmVzb3VyY2UoSW5zcGVjdG9yV29ya2VyUmVzb3VyY2U6OmNyZWF0ZShpZCwgdXJsLCBpc1NoYXJl
ZFdvcmtlcikpOwotICAgIG1fd29ya2Vycy5zZXQoaWQsIHdvcmtlclJlc291cmNlKTsKLSNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAgICBpZiAobV9pbnNwZWN0ZWRQYWdlICYmIG1f
ZnJvbnRlbmQgJiYgbV9zdGF0ZS0+Z2V0Qm9vbGVhbihJbnNwZWN0b3JBZ2VudFN0YXRlOjppbnNw
ZWN0b3JBZ2VudEVuYWJsZWQpKQotICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+ZGlk
Q3JlYXRlV29ya2VyKHN0YXRpY19jYXN0PGludD4oaWQpLCB1cmwsIGlzU2hhcmVkV29ya2VyKTsK
LSNlbmRpZgotfQotCi12b2lkIEluc3BlY3RvckFnZW50OjpkaWREZXN0cm95V29ya2VyKGludHB0
cl90IGlkKQotewotICAgIGlmICghZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBXb3JrZXJzTWFwOjppdGVyYXRvciB3b3JrZXJSZXNvdXJjZSA9IG1fd29y
a2Vycy5maW5kKGlkKTsKLSAgICBpZiAod29ya2VyUmVzb3VyY2UgPT0gbV93b3JrZXJzLmVuZCgp
KQotICAgICAgICByZXR1cm47Ci0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0gICAg
aWYgKG1faW5zcGVjdGVkUGFnZSAmJiBtX2Zyb250ZW5kICYmIG1fc3RhdGUtPmdldEJvb2xlYW4o
SW5zcGVjdG9yQWdlbnRTdGF0ZTo6aW5zcGVjdG9yQWdlbnRFbmFibGVkKSkKLSAgICAgICAgbV9m
cm9udGVuZC0+aW5zcGVjdG9yKCktPmRpZERlc3Ryb3lXb3JrZXIoc3RhdGljX2Nhc3Q8aW50Pihp
ZCkpOwotI2VuZGlmCi0gICAgbV93b3JrZXJzLnJlbW92ZSh3b3JrZXJSZXNvdXJjZSk7Ci19Ci0j
ZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCi0KIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRl
Rm9yVGVzdEluRnJvbnRlbmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQogewog
ICAgIGlmIChtX3N0YXRlLT5nZXRCb29sZWFuKEluc3BlY3RvckFnZW50U3RhdGU6Omluc3BlY3Rv
ckFnZW50RW5hYmxlZCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5o
CmluZGV4IDUyZjMxZTJjODFhZGE4MzIyOGIzY2NmNWI1ZmMyOWFmMDY3ODAwN2IuLmQ1MTBhNGRi
OTlhODAxOGQwMmQyZWUwNTliNTkxMjQxYzljYmRhMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBZ2VudC5oCkBAIC00NSw3ICs0NSw2IEBAIGNsYXNzIEZyYW1lOwogY2xh
c3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFz
cyBJbnNwZWN0b3JPYmplY3Q7Ci1jbGFzcyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZTsKIGNsYXNz
IEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBLVVJMOwogY2xhc3MgUGFnZTsKQEAgLTgyLDEx
ICs4MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRvbUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKCk7
CiAgICAgYm9vbCBkaWRDb21taXRMb2FkRmlyZWQoKSB7IHJldHVybiBtX2RpZENvbW1pdExvYWRG
aXJlZDsgfQogCi0jaWYgRU5BQkxFKFdPUktFUlMpCi0gICAgdm9pZCBkaWRDcmVhdGVXb3JrZXIo
aW50cHRyX3QsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKTsKLSAgICB2
b2lkIGRpZERlc3Ryb3lXb3JrZXIoaW50cHRyX3QpOwotI2VuZGlmCi0KICAgICBib29sIGhhc0Zy
b250ZW5kKCkgY29uc3QgeyByZXR1cm4gbV9mcm9udGVuZDsgfQogCiAgICAgLy8gR2VuZXJpYyBj
b2RlIGNhbGxlZCBmcm9tIGN1c3RvbSBpbXBsZW1lbnRhdGlvbnMuCkBAIC0xMTUsMTAgKzEwOSw2
IEBAIHByaXZhdGU6CiAgICAgcGFpcjxSZWZQdHI8VHlwZUJ1aWxkZXI6OlJ1bnRpbWU6OlJlbW90
ZU9iamVjdD4sIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+ID4gbV9wZW5kaW5nSW5zcGVjdERhdGE7
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBJbmplY3RlZFNjcmlwdEZvck9y
aWdpbk1hcDsKICAgICBJbmplY3RlZFNjcmlwdEZvck9yaWdpbk1hcCBtX2luamVjdGVkU2NyaXB0
Rm9yT3JpZ2luOwotI2lmIEVOQUJMRShXT1JLRVJTKQotICAgIHR5cGVkZWYgSGFzaE1hcDxpbnRw
dHJfdCwgUmVmUHRyPEluc3BlY3RvcldvcmtlclJlc291cmNlPiA+IFdvcmtlcnNNYXA7Ci0gICAg
V29ya2Vyc01hcCBtX3dvcmtlcnM7Ci0jZW5kaWYKICAgICBib29sIG1fZGlkQ29tbWl0TG9hZEZp
cmVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAzMjVhNGM0OGY4YWEyYTdjN2JmZTlkMzNlZjZiYzgx
NTU3NDFhMDkxLi4yOTYxNjVmZDc3YjQ0NTk0ODFhYjNhMDU4ZGE3MmVkMGRmMGQ1YTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtOTczLDE4ICs5NzMsNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbgogICAg
ICAgICB3b3JrZXJBZ2VudC0+ZGlkU3RhcnRXb3JrZXJDb250ZXh0KHdvcmtlckNvbnRleHRQcm94
eSwgdXJsKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdv
cmtlckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgaW50cHRy
X3QgaWQsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQotewotICAgIGlm
IChJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5p
bnNwZWN0b3JBZ2VudCgpKQotICAgICAgICBpbnNwZWN0b3JBZ2VudC0+ZGlkQ3JlYXRlV29ya2Vy
KGlkLCB1cmwsIGlzU2hhcmVkV29ya2VyKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZERlc3Ryb3lXb3JrZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMsIGludHB0cl90IGlkKQotewotICAgIGlmIChJbnNwZWN0b3JBZ2VudCogaW5z
cGVjdG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpKQotICAg
ICAgICBpbnNwZWN0b3JBZ2VudC0+ZGlkRGVzdHJveVdvcmtlcihpZCk7Ci19Ci0KIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVXb3JrZXJTY3JpcHQoV29ya2VyQ29u
dGV4dCogd29ya2VyQ29udGV4dCwgaW50IHdvcmtlclRocmVhZFN0YXJ0TW9kZSkKIHsKICAgICBp
ZiAod29ya2VyVGhyZWFkU3RhcnRNb2RlICE9IFBhdXNlV29ya2VyQ29udGV4dE9uU3RhcnQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKaW5kZXggNDM1MGU5Y2NkNzJmNmViM2ZkY2UwMTYwYTUzZGFhODFlYmYwYjBiOC4uZmQzOGI0
NGUyOTdlYTA2OGM3MGIwY2VlMjNkY2VjMWY3NTJiOTIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMjIzLDggKzIy
Myw2IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBzdGF0aWMgYm9vbCBzaG91
bGRQYXVzZURlZGljYXRlZFdvcmtlck9uU3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgV29ya2VyQ29udGV4dFByb3h5KiwgY29uc3QgS1VSTCYpOwotICAgIHN0YXRpYyB2b2lk
IGRpZENyZWF0ZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgaW50cHRyX3QgaWQsIGNv
bnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKTsKLSAgICBzdGF0aWMgdm9pZCBk
aWREZXN0cm95V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBpbnRwdHJfdCBpZCk7CiAg
ICAgc3RhdGljIHZvaWQgd29ya2VyQ29udGV4dFRlcm1pbmF0ZWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFdvcmtlckNvbnRleHRQcm94eSopOwogICAgIHN0YXRpYyB2b2lkIHdpbGxFdmFsdWF0
ZVdvcmtlclNjcmlwdChXb3JrZXJDb250ZXh0KiwgaW50IHdvcmtlclRocmVhZFN0YXJ0TW9kZSk7
CiAjZW5kaWYKQEAgLTM4OSw4ICszODcsNiBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJT
KQogICAgIHN0YXRpYyBib29sIHNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydEltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyQ29u
dGV4dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFdvcmtlckNvbnRleHRQcm94eSosIGNvbnN0
IEtVUkwmKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVXb3JrZXJJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBpbnRwdHJfdCBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRX
b3JrZXIpOwotICAgIHN0YXRpYyB2b2lkIGRpZERlc3Ryb3lXb3JrZXJJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBpbnRwdHJfdCBpZCk7CiAgICAgc3RhdGljIHZvaWQgd29ya2VyQ29udGV4dFRl
cm1pbmF0ZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBXb3JrZXJDb250ZXh0UHJveHkqKTsK
ICNlbmRpZgogCkBAIC0xMjUwLDI0ICsxMjQ2LDYgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGUK
ICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENy
ZWF0ZVdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnRwdHJfdCBpZCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRXb3JrZXIpCi17Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKLSAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQotICAgICAgICBkaWRDcmVhdGVXb3JrZXJJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIGlkLCB1cmwsIGlzU2hhcmVkV29ya2VyKTsKLSNlbmRpZgot
fQotCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERlc3Ryb3lXb3Jr
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50cHRyX3QgaWQpCi17Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgp
KTsKLSAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQotICAgICAgICBkaWREZXN0cm95
V29ya2VySW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZCk7Ci0jZW5kaWYKLX0KLQogaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3JrZXJDb250ZXh0VGVybWluYXRlZChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXb3JrZXJDb250ZXh0UHJveHkqIHByb3h5
KQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkRmFrZVdvcmtlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRGYWtlV29ya2VyLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkNjViMjA4NDA5NGNkNGNjZGE3ZTBjZDkxYmU3Nzc0OTQ5YzM5NmY0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRGYWtlV29ya2VyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMzQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi12YXIgSW5qZWN0ZWRGYWtlV29ya2VyID0gZnVuY3Rpb24o
SW5qZWN0ZWRTY3JpcHRIb3N0LCBpbnNwZWN0ZWRXaW5kb3csIGluamVjdGVkU2NyaXB0SWQpCi17
Ci0KLVdvcmtlciA9IGZ1bmN0aW9uKHVybCkKLXsKLSAgICB2YXIgaW1wbCA9IG5ldyBGYWtlV29y
a2VyKHRoaXMsIHVybCk7Ci0gICAgaWYgKGltcGwgPT09IG51bGwpCi0gICAgICAgIHJldHVybiBu
dWxsOwotCi0gICAgdGhpcy5pc0Zha2UgPSB0cnVlOwotICAgIHRoaXMucG9zdE1lc3NhZ2UgPSBi
aW5kKGltcGwucG9zdE1lc3NhZ2UsIGltcGwpOwotICAgIHRoaXMudGVybWluYXRlID0gYmluZChp
bXBsLnRlcm1pbmF0ZSwgaW1wbCk7Ci0KLSAgICBmdW5jdGlvbiBvbm1lc3NhZ2VHZXR0ZXIoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGltcGwuY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2U7Ci0gICAg
fQotICAgIGZ1bmN0aW9uIG9ubWVzc2FnZVNldHRlcihjYWxsYmFjaykKLSAgICB7Ci0gICAgICAg
IGltcGwuY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBjYWxsYmFjazsKLSAgICB9Ci0gICAgdGhp
cy5fX2RlZmluZUdldHRlcl9fKCJvbm1lc3NhZ2UiLCBvbm1lc3NhZ2VHZXR0ZXIpOwotICAgIHRo
aXMuX19kZWZpbmVTZXR0ZXJfXygib25tZXNzYWdlIiwgb25tZXNzYWdlU2V0dGVyKTsKLSAgICB0
aGlzLmFkZEV2ZW50TGlzdGVuZXIgPSBiaW5kKGltcGwuY2hhbm5lbC5wb3J0MS5hZGRFdmVudExp
c3RlbmVyLCBpbXBsLmNoYW5uZWwucG9ydDEpOwotICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5l
ciA9IGJpbmQoaW1wbC5jaGFubmVsLnBvcnQxLnJlbW92ZUV2ZW50TGlzdGVuZXIsIGltcGwuY2hh
bm5lbC5wb3J0MSk7Ci0gICAgdGhpcy5kaXNwYXRjaEV2ZW50ID0gYmluZChpbXBsLmNoYW5uZWwu
cG9ydDEuZGlzcGF0Y2hFdmVudCwgaW1wbC5jaGFubmVsLnBvcnQxKTsKLX0KLQotZnVuY3Rpb24g
RmFrZVdvcmtlcih3b3JrZXIsIHVybCkKLXsKLSAgICB2YXIgc2NyaXB0VVJMID0gdGhpcy5fZXhw
YW5kVVJMQW5kQ2hlY2tPcmlnaW4oZG9jdW1lbnQuYmFzZVVSSSwgbG9jYXRpb24uaHJlZiwgdXJs
KTsKLQotICAgIHRoaXMuX3dvcmtlciA9IHdvcmtlcjsKLSAgICB0aGlzLl9pZCA9IEluamVjdGVk
U2NyaXB0SG9zdC5uZXh0V29ya2VySWQoKTsKLSAgICB0aGlzLmNoYW5uZWwgPSBuZXcgTWVzc2Fn
ZUNoYW5uZWwoKTsKLSAgICB0aGlzLl9saXN0ZW5lcnMgPSBbXTsKLSAgICB0aGlzLl9idWlsZFdv
cmtlcihzY3JpcHRVUkwpOwotCi0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0LmRpZENyZWF0ZVdvcmtl
cih0aGlzLl9pZCwgc2NyaXB0VVJMLnVybCwgZmFsc2UpOwotfQotCi1GYWtlV29ya2VyLnByb3Rv
dHlwZSA9IHsKLSAgICBwb3N0TWVzc2FnZTogZnVuY3Rpb24obXNnLCBvcHRfcG9ydHMpCi0gICAg
ewotICAgICAgICBpZiAodGhpcy5fZnJhbWUgIT0gbnVsbCkKLSAgICAgICAgICAgIHRoaXMuY2hh
bm5lbC5wb3J0MS5wb3N0TWVzc2FnZS5hcHBseSh0aGlzLmNoYW5uZWwucG9ydDEsIGFyZ3VtZW50
cyk7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuX3BlbmRpbmdNZXNzYWdlcykKLSAgICAgICAgICAg
IHRoaXMuX3BlbmRpbmdNZXNzYWdlcy5wdXNoKGFyZ3VtZW50cykKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgdGhpcy5fcGVuZGluZ01lc3NhZ2VzID0gWyBhcmd1bWVudHMgXTsKLSAgICB9LAot
Ci0gICAgdGVybWluYXRlOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBJbmplY3RlZFNjcmlw
dEhvc3QuZGlkRGVzdHJveVdvcmtlcih0aGlzLl9pZCk7Ci0KLSAgICAgICAgdGhpcy5jaGFubmVs
LnBvcnQxLmNsb3NlKCk7Ci0gICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0Mi5jbG9zZSgpOwotICAg
ICAgICBpZiAodGhpcy5fZnJhbWUgIT0gbnVsbCkKLSAgICAgICAgICAgIHRoaXMuX2ZyYW1lLmZy
YW1lRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2ZyYW1lLmZyYW1lRWxlbWVu
dCk7Ci0gICAgICAgIHRoaXMuX2ZyYW1lID0gbnVsbDsKLSAgICAgICAgdGhpcy5fd29ya2VyID0g
bnVsbDsgLy8gQnJlYWsgcmVmZXJlbmNlIGxvb3AuCi0gICAgfSwKLQotICAgIF9idWlsZFdvcmtl
cjogZnVuY3Rpb24odXJsKQotICAgIHsKLSAgICAgICAgdmFyIGNvZGUgPSB0aGlzLl9sb2FkU2Ny
aXB0KHVybC51cmwpOwotICAgICAgICB2YXIgaWZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgICBpZnJhbWVFbGVtZW50LnN0eWxlLmRpc3BsYXkg
PSAibm9uZSI7Ci0KLSAgICAgICAgdGhpcy5fZG9jdW1lbnQgPSBkb2N1bWVudDsKLSAgICAgICAg
aWZyYW1lRWxlbWVudC5vbmxvYWQgPSBiaW5kKHRoaXMuX29uV29ya2VyRnJhbWVMb2FkZWQsIHRo
aXMsIGlmcmFtZUVsZW1lbnQsIHVybCwgY29kZSk7Ci0KLSAgICAgICAgaWYgKGRvY3VtZW50LmJv
ZHkpCi0gICAgICAgICAgICB0aGlzLl9hdHRhY2hXb3JrZXJGcmFtZVRvRG9jdW1lbnQoaWZyYW1l
RWxlbWVudCwgdXJsLCBjb2RlKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBiaW5kKHRoaXMuX2F0dGFjaFdvcmtlckZyYW1lVG9Eb2N1
bWVudCwgdGhpcywgaWZyYW1lRWxlbWVudCksIGZhbHNlKTsKLSAgICB9LAotCi0gICAgX2F0dGFj
aFdvcmtlckZyYW1lVG9Eb2N1bWVudDogZnVuY3Rpb24oaWZyYW1lRWxlbWVudCkKLSAgICB7Ci0g
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lRWxlbWVudCk7Ci0gICAgfSwK
LQotICAgIF9vbldvcmtlckZyYW1lTG9hZGVkOiBmdW5jdGlvbihpZnJhbWVFbGVtZW50LCB1cmws
IGNvZGUpCi0gICAgewotICAgICAgICB2YXIgZnJhbWUgPSBpZnJhbWVFbGVtZW50LmNvbnRlbnRX
aW5kb3c7Ci0gICAgICAgIHRoaXMuX2ZyYW1lID0gZnJhbWU7Ci0gICAgICAgIHRoaXMuX3NldHVw
V29ya2VyQ29udGV4dChmcmFtZSwgdXJsKTsKLQotICAgICAgICB2YXIgZnJhbWVDb250ZW50cyA9
ICcoZnVuY3Rpb24oKSB7IHZhciBsb2NhdGlvbiA9IF9fZGV2dG9vbHMubG9jYXRpb247IHZhciB3
aW5kb3c7ICcgKyBjb2RlICsgJ30pKCk7XG4nICsgJy8vQCBzb3VyY2VVUkw9JyArIHVybC51cmw7
Ci0KLSAgICAgICAgZnJhbWUuZXZhbChmcmFtZUNvbnRlbnRzKTsKLSAgICAgICAgaWYgKHRoaXMu
X3BlbmRpbmdNZXNzYWdlcykgewotICAgICAgICAgICAgZm9yICh2YXIgbXNnID0gMDsgbXNnIDwg
dGhpcy5fcGVuZGluZ01lc3NhZ2VzLmxlbmd0aDsgKyttc2cpCi0gICAgICAgICAgICAgICAgdGhp
cy5wb3N0TWVzc2FnZS5hcHBseSh0aGlzLCB0aGlzLl9wZW5kaW5nTWVzc2FnZXNbbXNnXSk7Ci0g
ICAgICAgICAgICBkZWxldGUgdGhpcy5fcGVuZGluZ01lc3NhZ2VzOwotICAgICAgICB9Ci0gICAg
fSwKLQotICAgIF9zZXR1cFdvcmtlckNvbnRleHQ6IGZ1bmN0aW9uKHdvcmtlckZyYW1lLCB1cmwp
Ci0gICAgewotICAgICAgICB3b3JrZXJGcmFtZS5fX2RldnRvb2xzID0gewotICAgICAgICAgICAg
aGFuZGxlRXhjZXB0aW9uOiBiaW5kKHRoaXMuX2hhbmRsZUV4Y2VwdGlvbiwgdGhpcyksCi0gICAg
ICAgICAgICBsb2NhdGlvbjogdXJsLm1vY2tMb2NhdGlvbigpCi0gICAgICAgIH07Ci0KLSAgICAg
ICAgdmFyIHNlbGYgPSB0aGlzOwotCi0gICAgICAgIGZ1bmN0aW9uIG9ubWVzc2FnZUdldHRlcigp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmNoYW5uZWwucG9ydDIub25tZXNz
YWdlID8gc2VsZi5jaGFubmVsLnBvcnQyLm9ubWVzc2FnZS5vcmlnaW5hbENhbGxiYWNrIDogbnVs
bDsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIG9ubWVzc2FnZVNldHRlcihjYWxsYmFj
aykKLSAgICAgICAgewotICAgICAgICAgICAgdmFyIHdyYXBwZWRDYWxsYmFjayA9IGJpbmQoc2Vs
Zi5fY2FsbGJhY2tXcmFwcGVyLCBzZWxmLCBjYWxsYmFjayk7Ci0gICAgICAgICAgICB3cmFwcGVk
Q2FsbGJhY2sub3JpZ2luYWxDYWxsYmFjayA9IGNhbGxiYWNrOwotICAgICAgICAgICAgc2VsZi5j
aGFubmVsLnBvcnQyLm9ubWVzc2FnZSA9IHdyYXBwZWRDYWxsYmFjazsKLSAgICAgICAgfQotCi0g
ICAgICAgIHdvcmtlckZyYW1lLl9fZGVmaW5lR2V0dGVyX18oIm9ubWVzc2FnZSIsIG9ubWVzc2Fn
ZUdldHRlcik7Ci0gICAgICAgIHdvcmtlckZyYW1lLl9fZGVmaW5lU2V0dGVyX18oIm9ubWVzc2Fn
ZSIsIG9ubWVzc2FnZVNldHRlcik7Ci0gICAgICAgIHdvcmtlckZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIgPSBiaW5kKHRoaXMuX2FkZEV2ZW50TGlzdGVuZXIsIHRoaXMpOwotICAgICAgICB3b3JrZXJG
cmFtZS5yZW1vdmVFdmVudExpc3RlbmVyID0gYmluZCh0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVy
LCB0aGlzKTsKLSAgICAgICAgd29ya2VyRnJhbWUuZGlzcGF0Y2hFdmVudCA9IGJpbmQodGhpcy5j
aGFubmVsLnBvcnQyLmRpc3BhdGNoRXZlbnQsIHRoaXMuY2hhbm5lbC5wb3J0Mik7Ci0gICAgICAg
IHdvcmtlckZyYW1lLnBvc3RNZXNzYWdlID0gYmluZCh0aGlzLmNoYW5uZWwucG9ydDIucG9zdE1l
c3NhZ2UsIHRoaXMuY2hhbm5lbC5wb3J0Mik7Ci0gICAgICAgIHdvcmtlckZyYW1lLmltcG9ydFNj
cmlwdHMgPSBiaW5kKHRoaXMuX2ltcG9ydFNjcmlwdHMsIHRoaXMsIHdvcmtlckZyYW1lKTsKLSAg
ICAgICAgd29ya2VyRnJhbWUuY2xvc2UgPSBiaW5kKHRoaXMudGVybWluYXRlLCB0aGlzKTsKLSAg
ICB9LAotCi0gICAgX2FkZEV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uKHR5cGUsIGNhbGxiYWNrLCB1
c2VDYXB0dXJlKQotICAgIHsKLSAgICAgICAgdmFyIHdyYXBwZWRDYWxsYmFjayA9IGJpbmQodGhp
cy5fY2FsbGJhY2tXcmFwcGVyLCB0aGlzLCBjYWxsYmFjayk7Ci0gICAgICAgIHdyYXBwZWRDYWxs
YmFjay5vcmlnaW5hbENhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgICAgIHdyYXBwZWRDYWxsYmFj
ay50eXBlID0gdHlwZTsKLSAgICAgICAgd3JhcHBlZENhbGxiYWNrLnVzZUNhcHR1cmUgPSBCb29s
ZWFuKHVzZUNhcHR1cmUpOwotCi0gICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0Mi5hZGRFdmVudExp
c3RlbmVyKHR5cGUsIHdyYXBwZWRDYWxsYmFjaywgdXNlQ2FwdHVyZSk7Ci0gICAgICAgIHRoaXMu
X2xpc3RlbmVycy5wdXNoKHdyYXBwZWRDYWxsYmFjayk7Ci0gICAgfSwKLQotICAgIF9yZW1vdmVF
dmVudExpc3RlbmVyOiBmdW5jdGlvbih0eXBlLCBjYWxsYmFjaywgdXNlQ2FwdHVyZSkKLSAgICB7
Ci0gICAgICAgIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnM7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbGlzdGVuZXJzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAo
bGlzdGVuZXJzW2ldLm9yaWdpbmFsQ2FsbGJhY2sgPT09IGNhbGxiYWNrICYmCi0gICAgICAgICAg
ICAgICAgbGlzdGVuZXJzW2ldLnR5cGUgPT09IHR5cGUgJiYKLSAgICAgICAgICAgICAgICBsaXN0
ZW5lcnNbaV0udXNlQ2FwdHVyZSA9PT0gQm9vbGVhbih1c2VDYXB0dXJlKSkgewotICAgICAgICAg
ICAgICAgIHRoaXMuY2hhbm5lbC5wb3J0Mi5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3Rl
bmVyc1tpXSwgdXNlQ2FwdHVyZSk7Ci0gICAgICAgICAgICAgICAgbGlzdGVuZXJzW2ldID0gbGlz
dGVuZXJzW2xpc3RlbmVycy5sZW5ndGggLSAxXTsKLSAgICAgICAgICAgICAgICBsaXN0ZW5lcnMu
cG9wKCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9LAotCi0gICAgX2NhbGxiYWNrV3JhcHBlcjogZnVuY3Rpb24oY2FsbGJhY2ssIG1zZykK
LSAgICB7Ci0gICAgICAgIC8vIFNob3J0Y3V0IC0tIGlmIG5vIGV4Y2VwdGlvbiBoYW5kbGVycyBp
bnN0YWxsZWQsIGF2b2lkIHRyeS9jYXRjaCBzbyBhcyBub3QgdG8gb2JzY3VyZSBsaW5lIG51bWJl
ci4KLSAgICAgICAgaWYgKCF0aGlzLl9mcmFtZS5vbmVycm9yICYmICF0aGlzLl93b3JrZXIub25l
cnJvcikgewotICAgICAgICAgICAgY2FsbGJhY2sobXNnKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBjYWxsYmFjayhtc2cpOwot
ICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeGNlcHRpb24o
ZSwgdGhpcy5fZnJhbWUub25lcnJvciwgdGhpcy5fd29ya2VyLm9uZXJyb3IpOwotICAgICAgICB9
Ci0gICAgfSwKLQotICAgIF9oYW5kbGVFeGNlcHRpb246IGZ1bmN0aW9uKGUpCi0gICAgewotICAg
ICAgICAvLyBOQjogaXQgc2hvdWxkIGJlIGFuIEVycm9yRXZlbnQsIGJ1dCBjcmVhdGluZyBpdCBm
cm9tIHNjcmlwdCBpcyBub3QKLSAgICAgICAgLy8gY3VycmVudGx5IHN1cHBvcnRlZCwgc28gZW11
bGF0ZSBpdCBvbiB0b3Agb2YgcGxhaW4gdmFuaWxsYSBFdmVudC4KLSAgICAgICAgdmFyIGVycm9y
RXZlbnQgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKLSAgICAgICAgZXJy
b3JFdmVudC5pbml0RXZlbnQoIkV2ZW50IiwgZmFsc2UsIGZhbHNlKTsKLSAgICAgICAgZXJyb3JF
dmVudC5tZXNzYWdlID0gIlVuY2F1Z2h0IGV4Y2VwdGlvbiI7Ci0KLSAgICAgICAgZm9yICh2YXIg
aSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChhcmd1
bWVudHNbaV0gJiYgYXJndW1lbnRzW2ldKGVycm9yRXZlbnQpKQotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIHRocm93IGU7Ci0gICAgfSwKLQotICAgIF9pbXBv
cnRTY3JpcHRzOiBmdW5jdGlvbih0YXJnZXRGcmFtZSkKLSAgICB7Ci0gICAgICAgIGZvciAodmFy
IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgd29y
a2VyT3JpZ2luID0gdGFyZ2V0RnJhbWUuX19kZXZ0b29scy5sb2NhdGlvbi5ocmVmOwotICAgICAg
ICAgICAgdmFyIHVybCA9IHRoaXMuX2V4cGFuZFVSTEFuZENoZWNrT3JpZ2luKHdvcmtlck9yaWdp
biwgd29ya2VyT3JpZ2luLCBhcmd1bWVudHNbaV0pOwotICAgICAgICAgICAgdGFyZ2V0RnJhbWUu
ZXZhbCh0aGlzLl9sb2FkU2NyaXB0KHVybC51cmwpICsgIlxuLy9AIHNvdXJjZVVSTD0gIiArIHVy
bC51cmwpOwotICAgICAgICB9Ci0gICAgfSwKLQotICAgIF9sb2FkU2NyaXB0OiBmdW5jdGlvbih1
cmwpCi0gICAgewotICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAg
ICAgIHhoci5vcGVuKCJHRVQiLCB1cmwsIGZhbHNlKTsKLSAgICAgICAgeGhyLnNlbmQobnVsbCk7
Ci0KLSAgICAgICAgdmFyIHRleHQgPSB4aHIucmVzcG9uc2VUZXh0OwotICAgICAgICBpZiAoeGhy
LnN0YXR1cyAhPSAwICYmIHhoci5zdGF0dXMvMTAwICE9PSAyKSB7IC8vIFdlJ3JlIGdldHRpbmcg
c3RhdHVzID09PSAwIHdoZW4gdXNpbmcgZmlsZTovLy4KLSAgICAgICAgICAgIGNvbnNvbGUuZXJy
b3IoIkZhaWxlZCB0byBsb2FkIHdvcmtlcjogIiArIHVybCArICJbIiArIHhoci5zdGF0dXMgKyAi
XSIpOwotICAgICAgICAgICAgdGV4dCA9ICIiOyAvLyBXZSd2ZSBnb3QgZXJyb3IgbWVzc2FnZSwg
bm90IHdvcmtlciBjb2RlLgotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0ZXh0OwotICAgIH0s
Ci0KLSAgICBfZXhwYW5kVVJMQW5kQ2hlY2tPcmlnaW46IGZ1bmN0aW9uKGJhc2VVUkwsIG9yaWdp
biwgdXJsKQotICAgIHsKLSAgICAgICAgdmFyIHNjcmlwdFVSTCA9IG5ldyBVUkwoYmFzZVVSTCku
Y29tcGxldGVXaXRoKHVybCk7Ci0KLSAgICAgICAgaWYgKCFzY3JpcHRVUkwuc2FtZU9yaWdpbihv
cmlnaW4pKQotICAgICAgICAgICAgdGhyb3cgbmV3IERPTUNvcmVFeGNlcHRpb24oIlNFQ1VSSVRZ
X0VSUiIsMTgpOwotICAgICAgICByZXR1cm4gc2NyaXB0VVJMOwotICAgIH0KLX07Ci0KLWZ1bmN0
aW9uIFVSTCh1cmwpCi17Ci0gICAgdGhpcy51cmwgPSB1cmw7Ci0gICAgdGhpcy5zcGxpdCgpOwot
fQotCi1VUkwucHJvdG90eXBlID0gewotICAgIHVybFJlZ0V4OiAoL14oaHR0cFtzXT98ZmlsZSk6
XC9cLyhbXlwvOl0qKSg6W1xkXSspPyg/OihcL1teIz9dKikoXD9bXiNdKik/KD86IyguKikpPyk/
JC9pKSwKLQotICAgIHNwbGl0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBl
bXB0eUlmTnVsbChzdHIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBzdHIgPT0gbnVs
bCA/ICIiIDogc3RyOwotICAgICAgICB9Ci0gICAgICAgIHZhciBwYXJ0cyA9IHRoaXMudXJsUmVn
RXguZXhlYyh0aGlzLnVybCk7Ci0KLSAgICAgICAgdGhpcy5zY2hlbWEgPSBwYXJ0c1sxXTsKLSAg
ICAgICAgdGhpcy5ob3N0ID0gcGFydHNbMl07Ci0gICAgICAgIHRoaXMucG9ydCA9IGVtcHR5SWZO
dWxsKHBhcnRzWzNdKTsKLSAgICAgICAgdGhpcy5wYXRoID0gZW1wdHlJZk51bGwocGFydHNbNF0p
OwotICAgICAgICB0aGlzLnF1ZXJ5ID0gZW1wdHlJZk51bGwocGFydHNbNV0pOwotICAgICAgICB0
aGlzLmZyYWdtZW50ID0gZW1wdHlJZk51bGwocGFydHNbNl0pOwotICAgIH0sCi0KLSAgICBtb2Nr
TG9jYXRpb246IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciBob3N0ID0gdGhpcy5ob3N0
LnJlcGxhY2UoL15bXkBdKkAvLCAiIik7Ci0KLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAg
IGhyZWY6ICAgICB0aGlzLnVybCwKLSAgICAgICAgICAgIHByb3RvY29sOiB0aGlzLnNjaGVtYSAr
ICI6IiwKLSAgICAgICAgICAgIGhvc3Q6ICAgICBob3N0LAotICAgICAgICAgICAgaG9zdG5hbWU6
IGhvc3QsCi0gICAgICAgICAgICBwb3J0OiAgICAgdGhpcy5wb3J0LAotICAgICAgICAgICAgcGF0
aG5hbWU6IHRoaXMucGF0aCwKLSAgICAgICAgICAgIHNlYXJjaDogICB0aGlzLnF1ZXJ5LAotICAg
ICAgICAgICAgaGFzaDogICAgIHRoaXMuZnJhZ21lbnQKLSAgICAgICAgfTsKLSAgICB9LAotCi0g
ICAgY29tcGxldGVXaXRoOiBmdW5jdGlvbih1cmwpCi0gICAgewotICAgICAgICBpZiAodXJsID09
PSAiIiB8fCAvXlteL10qOi8uZXhlYyh1cmwpKSAvLyBJZiBnaXZlbiBhYnNvbHV0ZSB1cmwsIHJl
dHVybiBhcyBpcyBub3cuCi0gICAgICAgICAgICByZXR1cm4gbmV3IFVSTCh1cmwpOwotCi0gICAg
ICAgIHZhciByZWxQYXJ0cyA9IC9eKFteIz9dKikoLiopJC8uZXhlYyh1cmwpOyAvLyA9PiBbIHVy
bCwgcGF0aCwgcXVlcnktYW5kb3ItZnJhZ21lbnQgXQotCi0gICAgICAgIHZhciBwYXRoID0gKHJl
bFBhcnRzWzFdLnNsaWNlKDAsIDEpID09PSAiLyIgPyAiIiA6IHRoaXMucGF0aC5yZXBsYWNlKC9b
Xi9dKiQvLCAiIikpICsgcmVsUGFydHNbMV07Ci0gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2Uo
LyhcL1wuKSsoXC98JCkvZywgIi8iKS5yZXBsYWNlKC9bXi9dKlwvXC5cLihcL3wkKS9nLCAiIik7
Ci0KLSAgICAgICAgcmV0dXJuIG5ldyBVUkwodGhpcy5zY2hlbWEgKyAiOi8vIiArIHRoaXMuaG9z
dCArIHRoaXMucG9ydCArIHBhdGggKyByZWxQYXJ0c1syXSk7Ci0gICAgfSwKLQotICAgIHNhbWVP
cmlnaW46IGZ1bmN0aW9uKHVybCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZVBv
cnQoc2NoZW1hLCBwb3J0KQotICAgICAgICB7Ci0gICAgICAgICAgICB2YXIgcG9ydE5vID0gcG9y
dC5zbGljZSgxKTsKLSAgICAgICAgICAgIHJldHVybiAoc2NoZW1hID09PSAiaHR0cHMiICYmIHBv
cnRObyA9PSA0NDMgfHwgc2NoZW1hID09PSAiaHR0cCIgJiYgcG9ydE5vID09IDgwKSA/ICIiIDog
cG9ydDsKLSAgICAgICAgfQotCi0gICAgICAgIHZhciBvdGhlciA9IG5ldyBVUkwodXJsKTsKLQot
ICAgICAgICByZXR1cm4gdGhpcy5zY2hlbWEgPT09IG90aGVyLnNjaGVtYSAmJgotICAgICAgICAg
ICAgdGhpcy5ob3N0ID09PSBvdGhlci5ob3N0ICYmCi0gICAgICAgICAgICBub3JtYWxpemVQb3J0
KHRoaXMuc2NoZW1hLCB0aGlzLnBvcnQpID09PSBub3JtYWxpemVQb3J0KG90aGVyLnNjaGVtYSwg
b3RoZXIucG9ydCk7Ci0gICAgfQotfTsKLQotZnVuY3Rpb24gRE9NQ29yZUV4Y2VwdGlvbihuYW1l
LCBjb2RlKQotewotICAgIGZ1bmN0aW9uIGZvcm1hdEVycm9yKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiAiRXJyb3I6ICIgKyB0aGlzLm1lc3NhZ2U7Ci0gICAgfQotCi0gICAgdGhpcy5uYW1lID0g
bmFtZTsKLSAgICB0aGlzLm1lc3NhZ2UgPSBuYW1lICsgIjogRE9NIEV4Y2VwdGlvbiAiICsgY29k
ZTsKLSAgICB0aGlzLmNvZGUgPSBjb2RlOwotICAgIHRoaXMudG9TdHJpbmcgPSBiaW5kKGZvcm1h
dEVycm9yLCB0aGlzKTsKLX0KLQotZnVuY3Rpb24gYmluZChmdW5jLCB0aGlzT2JqZWN0KQotewot
ICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTsK
LSAgICByZXR1cm4gZnVuY3Rpb24oKSB7IHJldHVybiBmdW5jLmFwcGx5KHRoaXNPYmplY3QsIGFy
Z3MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCkpKTsgfTsK
LX0KLQotZnVuY3Rpb24gbm9vcCgpCi17Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggNWFhYWFhYWUyMjg3N2Mz
NjZhMTNjYzM4MGYxMDA2MWM3YzAwZDdjMy4uNjE3NThmNjY2ZDZhMzU1YjY5MmZlMDNmZTQ4NzUz
NDk4ZjgwYTFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzUGFuZWwuanMKQEAgLTEwMyw5ICsxMDMsOCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsID0gZnVuY3Rpb24od29ya3NwYWNlRm9yVGVzdCkKIAogICAgIGlmIChQcmVmZXJlbmNl
cy5leHBvc2VXb3JrZXJzSW5zcGVjdGlvbiAmJiAhV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIu
aXNXb3JrZXJGcm9udGVuZCgpKSB7CiAgICAgICAgIFdvcmtlckFnZW50LnNldFdvcmtlckluc3Bl
Y3Rpb25FbmFibGVkKHRydWUpOwotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy53b3JrZXJMaXN0
ID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJMaXN0U2lkZWJhclBhbmUoV2ViSW5zcGVjdG9yLndv
cmtlck1hbmFnZXIpOwotICAgIH0gZWxzZQotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy53b3Jr
ZXJzID0gbmV3IFdlYkluc3BlY3Rvci5Xb3JrZXJzU2lkZWJhclBhbmUoKTsKKyAgICAgICAgdGhp
cy5zaWRlYmFyUGFuZXMud29ya2VyTGlzdCA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya2Vyc1NpZGVi
YXJQYW5lKFdlYkluc3BlY3Rvci53b3JrZXJNYW5hZ2VyKTsKKyAgICB9CiAKICAgICB0aGlzLl9k
ZWJ1Z1NpZGViYXJDb250ZW50c0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKICAgICB0aGlzLl9kZWJ1Z1NpZGViYXJDb250ZW50c0VsZW1lbnQuaWQgPSAic2NyaXB0cy1k
ZWJ1Zy1zaWRlYmFyLWNvbnRlbnRzIjsKQEAgLTM2NCw4ICszNjMsNiBAQCBXZWJJbnNwZWN0b3Iu
U2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdXBkYXRlU2NyaXB0Vmll
d1N0YXR1c0Jhckl0ZW1zKCk7CiAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmpzQnJlYWtwb2lu
dHMucmVzZXQoKTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hFeHByZXNzaW9ucy5y
ZXNldCgpOwotICAgICAgICBpZiAoIXByZXNlcnZlSXRlbXMgJiYgdGhpcy5zaWRlYmFyUGFuZXMu
d29ya2VycykKLSAgICAgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLndvcmtlcnMucmVzZXQoKTsK
IAogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlcyA9IHRoaXMuX3dvcmtzcGFjZS51aVNvdXJjZUNv
ZGVzKCk7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdWlTb3VyY2VDb2Rlcy5sZW5ndGg7
ICsraSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpp
bmRleCBjZDMxYjMwZTJiMTc4Y2Q5OTVmZTg1MDE0OWQ0NWZhMWVkYzE0Mzk0Li4wZjEzN2ZjZmNh
MTg4N2JlN2FmZDc3MDEzZmI2OTBkZDZhZjc2ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC03OSw3ICs3OSw2IEBACiAgICAgPGZpbGU+
SW1hZ2VWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkluZGV4ZWREQk1vZGVsLmpzPC9maWxlPgog
ICAgIDxmaWxlPkluZGV4ZWREQlZpZXdzLmpzPC9maWxlPgotICAgIDxmaWxlPkluamVjdGVkRmFr
ZVdvcmtlci5qczwvZmlsZT4KICAgICA8ZmlsZT5pbnNwZWN0b3IuanM8L2ZpbGU+CiAgICAgPGZp
bGU+SW5zcGVjdG9yQmFja2VuZC5qczwvZmlsZT4KICAgICA8ZmlsZT5JbnNwZWN0b3JGcm9udGVu
ZEFQSS5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV29ya2Vyc1NpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Xb3JrZXJzU2lkZWJhclBhbmUuanMKaW5kZXggMzQ4MjZiNTJjODA5YmYwMWVhMjk5
ZmJiNWIzM2ViZDJhMDMzZWZlMC4uZWZhNTkyMTYxMTdmNGZkODU5ZjAxM2IzNDlmODIyMmFlZmM5
ZmIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jr
ZXJzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Xb3JrZXJzU2lkZWJhclBhbmUuanMKQEAgLTMwLDg2ICszMCw2IEBACiAKIC8qKgogICogQGNv
bnN0cnVjdG9yCi0gKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lfQotICovCi1X
ZWJJbnNwZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lID0gZnVuY3Rpb24oKQotewotICAgIFdlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV29y
a2VycyIpKTsKLQotICAgIHRoaXMuX3dvcmtlcnMgPSB7fTsKLQotICAgIHRoaXMuX2VuYWJsZVdv
cmtlcnNDaGVja2JveCA9IG5ldyBXZWJJbnNwZWN0b3IuQ2hlY2tib3goCi0gICAgICAgIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGVidWciKSwKLSAgICAgICAgInNpZGViYXItcGFuZS1zdWJ0aXRs
ZSIsCi0gICAgICAgIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWxsb3cgZGVidWdnaW5nIHdvcmtl
cnMuIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgcmVwbGFjZSBuYXRpdmUgd29ya2VycyB3aXRo
IHRoZSBpZnJhbWUtYmFzZWQgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiIpKTsKLSAgICB0aGlz
LnRpdGxlRWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fZW5hYmxlV29ya2Vyc0NoZWNrYm94LmVs
ZW1lbnQsIHRoaXMudGl0bGVFbGVtZW50LmZpcnN0Q2hpbGQpOwotCi0gICAgdGhpcy5fZW5hYmxl
V29ya2Vyc0NoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fb25UcmlnZ2VySW5zdHJ1bWVu
dC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9lbmFibGVXb3JrZXJzQ2hlY2tib3guY2hlY2tlZCA9
IGZhbHNlOwotCi0gICAgdGhpcy5fbGlzdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJvbCIpOwotICAgIHRoaXMuX2xpc3RFbGVtZW50LmNsYXNzTmFtZSA9ICJ3b3JrZXJzLWxpc3Qi
OwotCi0gICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saXN0RWxlbWVudCk7
Ci0gICAgdGhpcy5fdHJlZU91dGxpbmUgPSBuZXcgVHJlZU91dGxpbmUodGhpcy5fbGlzdEVsZW1l
bnQpOwotfQotCi1XZWJJbnNwZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsK
LSAgICBhZGRXb3JrZXI6IGZ1bmN0aW9uKGlkLCB1cmwsIGlzU2hhcmVkKQotICAgIHsKLSAgICAg
ICAgaWYgKGlkIGluIHRoaXMuX3dvcmtlcnMpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IHZhciB3b3JrZXIgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlcihpZCwgdXJsLCBpc1NoYXJlZCk7
Ci0gICAgICAgIHRoaXMuX3dvcmtlcnNbaWRdID0gd29ya2VyOwotCi0gICAgICAgIHZhciB0aXRs
ZSA9IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHVybCwgV2ViSW5zcGVjdG9yLmRpc3Bs
YXlOYW1lRm9yVVJMKHVybCksICJ3b3JrZXItaXRlbSIsIHRydWUsIHVybCk7Ci0gICAgICAgIHRo
aXMuX3RyZWVPdXRsaW5lLmFwcGVuZENoaWxkKG5ldyBUcmVlRWxlbWVudCh0aXRsZSwgd29ya2Vy
LCBmYWxzZSkpOwotICAgIH0sCi0KLSAgICByZW1vdmVXb3JrZXI6IGZ1bmN0aW9uKGlkKQotICAg
IHsKLSAgICAgICAgaWYgKGlkIGluIHRoaXMuX3dvcmtlcnMpIHsKLSAgICAgICAgICAgIHRoaXMu
X3RyZWVPdXRsaW5lLnJlbW92ZUNoaWxkKHRoaXMuX3RyZWVPdXRsaW5lLmdldENhY2hlZFRyZWVF
bGVtZW50KHRoaXMuX3dvcmtlcnNbaWRdKSk7Ci0gICAgICAgICAgICBkZWxldGUgdGhpcy5fd29y
a2Vyc1tpZF07Ci0gICAgICAgIH0KLSAgICB9LAotCi0gICAgX3NldEluc3RydW1lbnRhdGlvbjog
ZnVuY3Rpb24oZW5hYmxlZCkKLSAgICB7Ci0gICAgICAgIGlmICghZW5hYmxlZCA9PT0gIXRoaXMu
X2Zha2VXb3JrZXJzU2NyaXB0SWRlbnRpZmllcikKLSAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICBpZiAoZW5hYmxlZCkgewotICAgICAgICAgICAgdGhpcy5fZW5hYmxlV29ya2Vyc0NoZWNr
Ym94LmRpc2FibGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9y
LCBpZGVudGlmaWVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRoaXMuX2Zha2VX
b3JrZXJzU2NyaXB0SWRlbnRpZmllciA9IGlkZW50aWZpZXI7Ci0gICAgICAgICAgICAgICAgdGhp
cy5fZW5hYmxlV29ya2Vyc0NoZWNrYm94LmRpc2FibGVkID0gZmFsc2U7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBQYWdlQWdlbnQuYWRkU2NyaXB0VG9FdmFsdWF0ZU9uTG9hZCgiKCIgKyBJ
bmplY3RlZEZha2VXb3JrZXIgKyAiKSIsIGNhbGxiYWNrLmJpbmQodGhpcykpOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgUGFnZUFnZW50LnJlbW92ZVNjcmlwdFRvRXZhbHVhdGVPbkxv
YWQodGhpcy5fZmFrZVdvcmtlcnNTY3JpcHRJZGVudGlmaWVyKTsKLSAgICAgICAgICAgIHRoaXMu
X2Zha2VXb3JrZXJzU2NyaXB0SWRlbnRpZmllciA9IG51bGw7Ci0gICAgICAgIH0KLSAgICB9LAot
Ci0gICAgcmVzZXQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3NldEluc3RydW1l
bnRhdGlvbih0aGlzLl9lbmFibGVXb3JrZXJzQ2hlY2tib3guY2hlY2tlZCk7Ci0gICAgICAgIHRo
aXMuX3RyZWVPdXRsaW5lLnJlbW92ZUNoaWxkcmVuKCk7Ci0gICAgICAgIHRoaXMuX3dvcmtlcnMg
PSB7fTsKLSAgICB9LAotCi0gICAgX29uVHJpZ2dlckluc3RydW1lbnQ6IGZ1bmN0aW9uKGV2ZW50
KQotICAgIHsKLSAgICAgICAgdGhpcy5fc2V0SW5zdHJ1bWVudGF0aW9uKHRoaXMuX2VuYWJsZVdv
cmtlcnNDaGVja2JveC5jaGVja2VkKTsKLSAgICB9Ci19OwotCi1XZWJJbnNwZWN0b3IuV29ya2Vy
c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBh
bmUucHJvdG90eXBlOwotCi0vKioKLSAqIEBjb25zdHJ1Y3RvcgogICovCiBXZWJJbnNwZWN0b3Iu
V29ya2VyID0gZnVuY3Rpb24oaWQsIHVybCwgc2hhcmVkKQogewpAQCAtMTIyLDcgKzQyLDcgQEAg
V2ViSW5zcGVjdG9yLldvcmtlciA9IGZ1bmN0aW9uKGlkLCB1cmwsIHNoYXJlZCkKICAqIEBjb25z
dHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5TaWRlYmFyUGFuZX0KICAqLwotV2Vi
SW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKHdvcmtlck1hbmFnZXIp
CitXZWJJbnNwZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lID0gZnVuY3Rpb24od29ya2VyTWFuYWdl
cikKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlzLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIldvcmtlcnMiKSk7CiAKQEAgLTE1OSw3ICs3OSw3IEBAIFdlYkluc3BlY3Rv
ci5Xb3JrZXJMaXN0U2lkZWJhclBhbmUgPSBmdW5jdGlvbih3b3JrZXJNYW5hZ2VyKQogICAgIHdv
cmtlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5F
dmVudHMuV29ya2Vyc0NsZWFyZWQsIHRoaXMuX3dvcmtlcnNDbGVhcmVkLCB0aGlzKTsKIH0KIAot
V2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CitXZWJJbnNw
ZWN0b3IuV29ya2Vyc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICBfd29ya2VyQWRkZWQ6
IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fYWRkV29ya2VyKGV2ZW50LmRh
dGEud29ya2VySWQsIGV2ZW50LmRhdGEudXJsLCBldmVudC5kYXRhLmluc3BlY3RvckNvbm5lY3Rl
ZCk7CkBAIC0yMDEsNCArMTIxLDQgQEAgV2ViSW5zcGVjdG9yLldvcmtlckxpc3RTaWRlYmFyUGFu
ZS5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCi1XZWJJbnNwZWN0b3IuV29ya2VyTGlzdFNpZGVi
YXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJv
dG90eXBlOworV2ViSW5zcGVjdG9yLldvcmtlcnNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcwppbmRleCBjYmM4MjcxNTM5MTMwZWIx
YjAxYWJiOTFlMjMyMDRlOThhMmU1YzNhLi4zZjE3OTc1MWQzODg4ZDkyYTA4YzcyNDY0N2VhOGFj
MDUxZWVlZDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2V4dGVybnMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRl
cm5zLmpzCkBAIC0xNTUsOCArMTU1LDYgQEAgV2ViSW5zcGVjdG9yLnNob3dDb25zb2xlID0gZnVu
Y3Rpb24oKSB7fQogICovCiBXZWJJbnNwZWN0b3IuZXZhbHVhdGVJbkNvbnNvbGUgPSBmdW5jdGlv
bihleHByZXNzaW9uLCBzaG93UmVzdWx0T25seSkge30KIAotdmFyIEluamVjdGVkRmFrZVdvcmtl
ciA9IGZ1bmN0aW9uKCkge30KLQogV2ViSW5zcGVjdG9yLnF1ZXJ5UGFyYW1zT2JqZWN0ID0ge30K
IAogV2ViSW5zcGVjdG9yLkV2ZW50cyA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IGViZDUyNDQ5MGRiY2UxNGE2ZGQxN2Jl
MmMzYzAzNTQ4MzJjYmYwNTUuLjE1OTc5OGJhYWNhNjU2MmZjYjFiYWM1ZjY4YTAzNmE4ZWUzZDZj
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuaHRtbApAQCAtMTE5LDcgKzExOSw2IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iU3RhdHVzQmFyQnV0dG9uLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJFbGVtZW50c1BhbmVsLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJOZXR3b3JrUGFu
ZWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkluamVjdGVkRmFrZVdvcmtlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iVGV4dEVkaXRvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU291cmNlRnJhbWUuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJlc291cmNlVmlldy5qcyI+PC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzCmluZGV4IDFlNmEwMTI5NDY3NTliMDNkYzgzZDE0MGNhYjkwYTRmYWI2MTkzM2YuLjZkYjky
ODY2YTU0YjllZmE5YzJiMjc4ZGFmZGEyOTY2YmM2MGQxZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC04ODIsMjAgKzg4Miw2IEBA
IFdlYkluc3BlY3Rvci5icmluZ1RvRnJvbnQgPSBmdW5jdGlvbigpCiAgICAgSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwogfQogCi1XZWJJbnNwZWN0b3IuZGlkQ3JlYXRlV29y
a2VyID0gZnVuY3Rpb24oKQotewotICAgIHZhciB3b3JrZXJzUGFuZSA9IFdlYkluc3BlY3Rvci5w
YW5lbHMuc2NyaXB0cy5zaWRlYmFyUGFuZXMud29ya2VyczsKLSAgICBpZiAod29ya2Vyc1BhbmUp
Ci0gICAgICAgIHdvcmtlcnNQYW5lLmFkZFdvcmtlci5hcHBseSh3b3JrZXJzUGFuZSwgYXJndW1l
bnRzKTsKLX0KLQotV2ViSW5zcGVjdG9yLmRpZERlc3Ryb3lXb3JrZXIgPSBmdW5jdGlvbigpCi17
Ci0gICAgdmFyIHdvcmtlcnNQYW5lID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnNpZGVi
YXJQYW5lcy53b3JrZXJzOwotICAgIGlmICh3b3JrZXJzUGFuZSkKLSAgICAgICAgd29ya2Vyc1Bh
bmUucmVtb3ZlV29ya2VyLmFwcGx5KHdvcmtlcnNQYW5lLCBhcmd1bWVudHMpOwotfQotCiAvKioK
ICAqIEBwYXJhbSB7c3RyaW5nPX0gbWVzc2FnZUxldmVsCiAgKiBAcGFyYW0ge2Jvb2xlYW49fSBz
aG93Q29uc29sZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdv
cmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmNwcAppbmRl
eCAwN2NmNzNmYTk3MzQ0ZjMwNGQ0NjlkMzExNmE5YjFlMDFhYTQ4MzE5Li4wYWQ5OTViMjJlNjk1
ZDE4MWQ1NzRiNTEyMWQ5YTA0YzY0NGQwMzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0Fic3RyYWN0V29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fi
c3RyYWN0V29ya2VyLmNwcApAQCAtNTUsMTQgKzU1LDggQEAgQWJzdHJhY3RXb3JrZXI6On5BYnN0
cmFjdFdvcmtlcigpCiB7CiB9CiAKLXZvaWQgQWJzdHJhY3RXb3JrZXI6Om9uRGVzdHJveVdvcmtl
cigpCi17Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREZXN0cm95V29ya2VyKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgYXNJRCgpKTsKLX0KLQogdm9pZCBBYnN0cmFjdFdvcmtl
cjo6Y29udGV4dERlc3Ryb3llZCgpCiB7Ci0gICAgb25EZXN0cm95V29ya2VyKCk7CiAgICAgQWN0
aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7IAogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0Fic3RyYWN0V29ya2VyLmgKaW5kZXggZjRjYzUwYmQyY2Q3N2FhZjE3Mzg4N2VjYWExMjcz
ODAwZmQ1NjhmMy4uNDk3NTRmMjkwYzU0MDVhNTQzMDhkMTI0NDYwZGU5MjA5MjcxMDQ2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaApAQCAtNzEsNyArNzEsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgeyBkZXJlZigpOyB9CiAgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRh
cmdldERhdGEoKTsKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50
VGFyZ2V0RGF0YSgpOwotICAgICAgICB2b2lkIG9uRGVzdHJveVdvcmtlcigpOwogICAgICAgICAK
ICAgICAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOwogICAgIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAKaW5kZXggOWU5NGVlNTBmYjQyNjBlOTVm
ZmRjOTExMGQ3ODU0ZDM3MDYxYTMxMi4uNTcxODI3ZDY2ODdkM2RiYTY1ZmIwMmIyZWEwOTg4ODZi
YTI1NjU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcApAQCAtNjYs
OCArNjYsNiBAQCBQYXNzUmVmUHRyPFNoYXJlZFdvcmtlcj4gU2hhcmVkV29ya2VyOjpjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgYwogCiAgICAgU2hhcmVkV29ya2VyUmVw
b3NpdG9yeTo6Y29ubmVjdCh3b3JrZXIuZ2V0KCksIHJlbW90ZVBvcnQucmVsZWFzZSgpLCBzY3Jp
cHRVUkwsIG5hbWUsIGVjKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3Jl
YXRlV29ya2VyKGNvbnRleHQsIHdvcmtlci0+YXNJRCgpLCBzY3JpcHRVUkwuc3RyaW5nKCksIHRy
dWUpOwotCiAgICAgcmV0dXJuIHdvcmtlci5yZWxlYXNlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAppbmRleCAzNDI5OGYxODhjODMxOGYyYTUxNzJlODg5ZWJkMDhkNzMxNmU5OTY3
Li40NTYxODU3Njg1Yzc2NzMwOTM1MDBiMGE0MTI1MjFmNWVkMjRiY2E0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuY3BwCkBAIC03NSw4ICs3NSw2IEBAIFBhc3NSZWZQdHI8V29ya2VyPiBXb3Jr
ZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcm
CiAjZW5kaWYKICAgICB3b3JrZXItPm1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHko
Y29udGV4dCwgc2NyaXB0VVJMLCBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywgd29ya2VyLmdldCgp
KTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV29ya2VyKGNvbnRl
eHQsIHdvcmtlci0+YXNJRCgpLCBzY3JpcHRVUkwuc3RyaW5nKCksIGZhbHNlKTsKLQogICAgIHJl
dHVybiB3b3JrZXIucmVsZWFzZSgpOwogfQogCg==
</data>
<flag name="review"
          id="162488"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>