<?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>71429</bug_id>
          
          <creation_ts>2011-11-02 18:29:35 -0700</creation_ts>
          <short_desc>De-virtualize JSObject::defineOwnProperty</short_desc>
          <delta_ts>2011-11-09 02:18:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>495128</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-02 18:29:35 -0700</bug_when>
    <thetext>We&apos;re de-virtualizing JSObject. defineOwnProperty is a virtual method in JSObject.  Thus, we need to de-virtualize defineOwnProperty.  We&apos;ll put it in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495655</commentid>
    <comment_count>1</comment_count>
      <attachid>113526</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-03 11:15:43 -0700</bug_when>
    <thetext>Created attachment 113526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495657</commentid>
    <comment_count>2</comment_count>
      <attachid>113526</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-11-03 11:18:55 -0700</bug_when>
    <thetext>Comment on attachment 113526
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497607</commentid>
    <comment_count>3</comment_count>
      <attachid>113960</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-07 17:00:40 -0800</bug_when>
    <thetext>Created attachment 113960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498498</commentid>
    <comment_count>4</comment_count>
      <attachid>113960</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-11-08 16:13:59 -0800</bug_when>
    <thetext>Comment on attachment 113960
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498745</commentid>
    <comment_count>5</comment_count>
      <attachid>113960</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 02:18:23 -0800</bug_when>
    <thetext>Comment on attachment 113960
Patch

Clearing flags on attachment: 113960

Committed r99675: &lt;http://trac.webkit.org/changeset/99675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498746</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 02:18:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113526</attachid>
            <date>2011-11-03 11:15:43 -0700</date>
            <delta_ts>2011-11-07 17:00:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71429-20111103111541.patch</filename>
            <type>text/plain</type>
            <size>21267</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEw
OWM0ZGUyNzFiYWZjZWNiMDcxYzk5MGMxNzQzNmViMzg2M2I2ZjUuLjk2YjgzNmRiYWQ1ZGE1MGZj
YTdiZDQwYjc2MzA5MGYzOTI1ZDQyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMwIEBACisyMDExLTExLTAzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVy
dHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDI5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZGVmaW5lT3duUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmly
dHVhbCAKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIG9mIGRlZmluZU93blByb3BlcnR5IHRvIHN0
YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29y
cmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNw
cDoKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjpjcmVhdGVTdHJpY3RNb2RlQ2FsbGVySWZOZWNl
c3NhcnkpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OmNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJ
Zk5lY2Vzc2FyeSk6CisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8uaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVy
dHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eSk6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvckRlZmluZVByb3Bl
cnR5KToKKyAgICAgICAgKEpTQzo6ZGVmaW5lUHJvcGVydGllcyk6CisKIDIwMTEtMTEtMDMgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmll
d2VkOiBmaXhpbmcgd2luIGJ1aWxkLiBzdGVwMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4YTJmMDY2YTM4ZmQ4
NzQzYWQ3YjhmZGUyYTY2ZjQxNGM2NDhlZTdkLi5hZjM0OWI4NzEzNTRjZTVhMjFkNzAwNDI3YzI4
NmM0ZjE3ZGVhOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMDMgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBEZS12aXJ0
dWFsaXplIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0MjkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgQWRkZWQg
ZGVmaW5lT3duUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmly
dHVhbCAKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIG9mIGRlZmluZU93blByb3BlcnR5IHRvIHN0
YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29y
cmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2lu
ZG93OjpkZWZpbmVPd25Qcm9wZXJ0eSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVP
d25Qcm9wZXJ0eSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAo
R2VuZXJhdGVIZWFkZXIpOgorCiAyMDExLTExLTAzICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBDU1NSdWxlTGlzdDogTW92ZSBydWxlIG9ycGhhbmluZyBmcm9t
IGRlbGV0ZVJ1bGUoKSBvdXQgdG8gY2FsbGVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZXhwCmluZGV4IDg4Nzg1OWYxZGE1YTQ4ZDNlZjBiYjU5M2ZhNTQ5YjM0ZDM2MWYy
ZDMuLjlmZmFkNjJmYmJiMGU0N2QwNWFlOTk3ODhjOGE4MWY0NThjY2RhMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMzEzLDcgKzMxMyw3IEBAIF9fWk4z
SlNDOEpTT2JqZWN0MTJ0b1RoaXNPYmplY3RFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFCiBf
X1pOM0pTQzhKU09iamVjdDEzdmlzaXRDaGlsZHJlbkVQTlNfNkpTQ2VsbEVSTlNfMTFTbG90Vmlz
aXRvckUKIF9fWk4zSlNDOEpTT2JqZWN0MTRkZWxldGVQcm9wZXJ0eUVQTlNfNkpTQ2VsbEVQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckUKIF9fWk4zSlNDOEpTT2JqZWN0MTZnZXRQcm9w
ZXJ0eU5hbWVzRVBOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51
bWVyYXRpb25Nb2RlRQotX19aTjNKU0M4SlNPYmplY3QxN2RlZmluZU93blByb3BlcnR5RVBOU185
RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCitf
X1pOM0pTQzhKU09iamVjdDE3ZGVmaW5lT3duUHJvcGVydHlFUFMwX1BOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCiBfX1pOM0pTQzhKU09i
amVjdDE3cHJldmVudEV4dGVuc2lvbnNFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0M4SlNP
YmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU18xMkpTR2xvYmFsRGF0YUVSS05TXzEwSWRlbnRp
ZmllckVOU183SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVjdDE3cHV0V2l0aEF0dHJpYnV0ZXNF
UE5TXzEySlNHbG9iYWxEYXRhRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWpiUk5TXzE1
UHV0UHJvcGVydHlTbG90RQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLmRlZgppbmRleCA2ZjBmYzNjNzQ3OTE5ODcwMGRiM2E3Yzc4NjZhZTVhODI5
ZmViNDdjLi42YTk0NjQxNDNjZjkwYjI2ZjJkOTEwMzg2NDY0OWVhNzBhNDVmMmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAt
MTM0LDkgKzEzNCw5IEBAIEVYUE9SVFMKICAgICA/ZGVjcmVtZW50QFJlZkNvdW50ZWRMZWFrQ291
bnRlckBXVEZAQFFBRVhYWgogICAgID9kZWZhdWx0QXR0cmlidXRlc0BQcm9wZXJ0eURlc2NyaXB0
b3JASlNDQEAwSUEKICAgICA/ZGVmYXVsdFZhbHVlQEpTT2JqZWN0QEpTQ0BAU0E/QVZKU1ZhbHVl
QDJAUEJWMTJAUEFWRXhlY1N0YXRlQDJAVzRQcmVmZXJyZWRQcmltaXRpdmVUeXBlQDJAQFoKLSAg
ICA/ZGVmaW5lT3duUHJvcGVydHlASlNPYmplY3RASlNDQEBVQUVfTlBBVkV4ZWNTdGF0ZUAyQEFC
VklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0eURlc2NyaXB0b3JAMkBfTkBaCiAgICAgP2RlZmluZUdl
dHRlckBKU0dsb2JhbE9iamVjdEBKU0NAQFNBWFBBVkpTT2JqZWN0QDJAUEFWRXhlY1N0YXRlQDJA
QUJWSWRlbnRpZmllckAyQDBJQFoKICAgICA/ZGVmaW5lR2V0dGVyQEpTT2JqZWN0QEpTQ0BAU0FY
UEFWMTJAUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQDBJQFoKKyAgICA/ZGVmaW5lT3du
UHJvcGVydHlASlNPYmplY3RASlNDQEBTQV9OUEFWMTJAUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRp
ZmllckAyQEFBVlByb3BlcnR5RGVzY3JpcHRvckAyQF9OQFoKICAgICA/ZGVmaW5lU2V0dGVyQEpT
R2xvYmFsT2JqZWN0QEpTQ0BAU0FYUEFWSlNPYmplY3RAMkBQQVZFeGVjU3RhdGVAMkBBQlZJZGVu
dGlmaWVyQDJAMElAWgogICAgID9kZWZpbmVTZXR0ZXJASlNPYmplY3RASlNDQEBTQVhQQVYxMkBQ
QVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAMElAWgogICAgID9kZWxldGVPd25lZFB0ckBX
VEZAQFlBWFBBVUhCSVRNQVBfX0BAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuY3BwCmluZGV4IGVkZTZhOTBhYmNkZmI0M2QyMjEzNDI4NDhmZWRiNGRlZGFlMjhl
OTcuLjMzNzAxMjcwMDg2OTE0NTU4NThmMWRjNTA5MTkxNTZjYzVkNjI0OTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBA
IHZvaWQgQXJndW1lbnRzOjpjcmVhdGVTdHJpY3RNb2RlQ2FsbGVySWZOZWNlc3NhcnkoRXhlY1N0
YXRlKiBleGVjKQogICAgIFByb3BlcnR5RGVzY3JpcHRvciBkZXNjcmlwdG9yOwogICAgIEpTVmFs
dWUgdGhyb3dlciA9IGNyZWF0ZVR5cGVFcnJvckZ1bmN0aW9uKGV4ZWMsICJVbmFibGUgdG8gYWNj
ZXNzIGNhbGxlciBvZiBzdHJpY3QgbW9kZSBmdW5jdGlvbiIpOwogICAgIGRlc2NyaXB0b3Iuc2V0
QWNjZXNzb3JEZXNjcmlwdG9yKHRocm93ZXIsIHRocm93ZXIsIERvbnRFbnVtIHwgRG9udERlbGV0
ZSB8IEdldHRlciB8IFNldHRlcik7Ci0gICAgZGVmaW5lT3duUHJvcGVydHkoZXhlYywgZXhlYy0+
cHJvcGVydHlOYW1lcygpLmNhbGxlciwgZGVzY3JpcHRvciwgZmFsc2UpOworICAgIG1ldGhvZFRh
YmxlKCktPmRlZmluZU93blByb3BlcnR5KHRoaXMsIGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMo
KS5jYWxsZXIsIGRlc2NyaXB0b3IsIGZhbHNlKTsKIH0KIAogdm9pZCBBcmd1bWVudHM6OmNyZWF0
ZVN0cmljdE1vZGVDYWxsZWVJZk5lY2Vzc2FyeShFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xODAsNyAr
MTgwLDcgQEAgdm9pZCBBcmd1bWVudHM6OmNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJZk5lY2Vzc2Fy
eShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0b3I7CiAg
ICAgSlNWYWx1ZSB0aHJvd2VyID0gY3JlYXRlVHlwZUVycm9yRnVuY3Rpb24oZXhlYywgIlVuYWJs
ZSB0byBhY2Nlc3MgY2FsbGVlIG9mIHN0cmljdCBtb2RlIGZ1bmN0aW9uIik7CiAgICAgZGVzY3Jp
cHRvci5zZXRBY2Nlc3NvckRlc2NyaXB0b3IodGhyb3dlciwgdGhyb3dlciwgRG9udEVudW0gfCBE
b250RGVsZXRlIHwgR2V0dGVyIHwgU2V0dGVyKTsKLSAgICBkZWZpbmVPd25Qcm9wZXJ0eShleGVj
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY2FsbGVlLCBkZXNjcmlwdG9yLCBmYWxzZSk7CisgICAg
bWV0aG9kVGFibGUoKS0+ZGVmaW5lT3duUHJvcGVydHkodGhpcywgZXhlYywgZXhlYy0+cHJvcGVy
dHlOYW1lcygpLmNhbGxlZSwgZGVzY3JpcHRvciwgZmFsc2UpOwogfQogCiBib29sIEFyZ3VtZW50
czo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXggZTExNjUxNzg5M2U3MjE5ODM1
OWNkNjkzZGUxZGU3OGE2YTZmMDY0OC4uMTA1ZmY4NDY4Mjg0Yjg3ZjA1MWQwMGU3ODA2MTFjNjJm
NWE4M2Y4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJ
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKQEAg
LTc0LDYgKzc0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdHlwZWRlZiB2b2lkICgq
R2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSosIFBy
b3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsKICAgICAgICAgR2V0T3duUHJvcGVy
dHlOYW1lc0Z1bmN0aW9uUHRyIGdldE93blByb3BlcnR5TmFtZXM7CisKKyAgICAgICAgdHlwZWRl
ZiBib29sICgqRGVmaW5lT3duUHJvcGVydHlGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCk7CisgICAg
ICAgIERlZmluZU93blByb3BlcnR5RnVuY3Rpb25QdHIgZGVmaW5lT3duUHJvcGVydHk7CiAgICAg
fTsKIAogI2RlZmluZSBDUkVBVEVfTUVNQkVSX0NIRUNLRVIobWVtYmVyKSBcCkBAIC0xMTAsNiAr
MTEzLDcgQEAgc3RydWN0IE1lbWJlckNoZWNrIyNtZW1iZXIgeyBcCiAgICAgICAgICZDbGFzc05h
bWU6OmRlZmluZVNldHRlciwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZhdWx0VmFsdWUsIFwK
ICAgICAgICAgJkNsYXNzTmFtZTo6Z2V0T3duUHJvcGVydHlOYW1lcywgXAorICAgICAgICAmQ2xh
c3NOYW1lOjpkZWZpbmVPd25Qcm9wZXJ0eSwgXAogICAgIH0sIFwKICAgICBzaXplb2YoQ2xhc3NO
YW1lKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCAyZDQ4
ZWMzNTk1MzZhYjlmM2RmYjQ0NzhmYWY1Njk0NDRjZTJjMTY1Li5jNzNkZjllMmFiNzQ4MWM0YWY4
OTdlZWJiOWRmMDUyZGU1Mjk3ZjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5jcHAKQEAgLTE3OSw0ICsxNzksMTAgQEAgdm9pZCBKU0NlbGw6OmdldE93blByb3BlcnR5
TmFtZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW0KICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorYm9vbCBKU0NlbGw6OmRlZmluZU93blByb3Bl
cnR5KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5RGVz
Y3JpcHRvciYsIGJvb2wpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKaW5kZXggMGQ1ZGE0ZWQxYTE3ZTNhNmJhYjE5YWUwMzZjMDFjYmEzZDY3NTAx
Ny4uMmNlNmJlNzRmZDkyODA1MDFjMDQ3ZjFjMmZlYmMyMDA4NTIxMjYwNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICBjbGFzcyBKU0dsb2JhbE9iamVjdDsKICAgICBjbGFzcyBTdHJ1Y3R1cmU7Cisg
ICAgY2xhc3MgUHJvcGVydHlEZXNjcmlwdG9yOwogICAgIGNsYXNzIFByb3BlcnR5TmFtZUFycmF5
OwogCiAgICAgZW51bSBFbnVtZXJhdGlvbk1vZGUgewpAQCAtMTQ0LDYgKzE0NSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBk
ZWZpbmVTZXR0ZXIoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTT2JqZWN0KiBzZXR0ZXJGdW5jdGlvbiwgdW5zaWduZWQgYXR0cmlidXRlcyA9
IDApOwogICAgICAgICBzdGF0aWMgSlNWYWx1ZSBkZWZhdWx0VmFsdWUoY29uc3QgSlNPYmplY3Qq
LCBFeGVjU3RhdGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKTsKICAgICAgICAgc3RhdGljIE5P
X1JFVFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCos
IEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsKKyAgICAg
ICAgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wg
c2hvdWxkVGhyb3cpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9zdHJ1Y3R1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAKaW5kZXggNWUwZjc5YzM0OTg2ZDg3ZjczYjEwZTgwNDVhNzA3YTAwMGNmNTg0YS4uNzQ2
MmNiNmVkYzZiMzA0N2IxNjQwNzEyZjg5ODU0MzIxM2U3MGNhMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtNzI2LDIwICs3MjYsMjAgQEAgc3RhdGlj
IGJvb2wgcHV0RGVzY3JpcHRvcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0YXJnZXQsIGNv
bnN0IElkZW50aWZpZXImIHAKICAgICByZXR1cm4gIWV4ZWMtPmhhZEV4Y2VwdGlvbigpOwogfQog
Ci1ib29sIEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
LCBib29sIHRocm93RXhjZXB0aW9uKQorYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHko
SlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCB0aHJvd0V4Y2Vw
dGlvbikKIHsKICAgICAvLyBJZiB3ZSBoYXZlIGEgbmV3IHByb3BlcnR5IHdlIGNhbiBqdXN0IHB1
dCBpdCBvbiBub3JtYWxseQogICAgIFByb3BlcnR5RGVzY3JpcHRvciBjdXJyZW50OwotICAgIGlm
ICghZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGV4ZWMsIHByb3BlcnR5TmFtZSwgY3VycmVudCkp
IHsKKyAgICBpZiAoIW9iamVjdC0+Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGV4ZWMsIHByb3Bl
cnR5TmFtZSwgY3VycmVudCkpIHsKICAgICAgICAgLy8gdW5sZXNzIGV4dGVuc2lvbnMgYXJlIHBy
ZXZlbnRlZCEKLSAgICAgICAgaWYgKCFpc0V4dGVuc2libGUoKSkgeworICAgICAgICBpZiAoIW9i
amVjdC0+aXNFeHRlbnNpYmxlKCkpIHsKICAgICAgICAgICAgIGlmICh0aHJvd0V4Y2VwdGlvbikK
ICAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAi
QXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVu
c2libGUuIikpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAg
IFByb3BlcnR5RGVzY3JpcHRvciBvbGREZXNjcmlwdG9yOwogICAgICAgICBvbGREZXNjcmlwdG9y
LnNldFZhbHVlKGpzVW5kZWZpbmVkKCkpOwotICAgICAgICByZXR1cm4gcHV0RGVzY3JpcHRvcihl
eGVjLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIGRlc2NyaXB0b3IuYXR0cmlidXRl
cygpLCBvbGREZXNjcmlwdG9yKTsKKyAgICAgICAgcmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywg
b2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIGRlc2NyaXB0b3IuYXR0cmlidXRlcygp
LCBvbGREZXNjcmlwdG9yKTsKICAgICB9CiAKICAgICBpZiAoZGVzY3JpcHRvci5pc0VtcHR5KCkp
CkBAIC03NjUsOCArNzY1LDggQEAgYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUKICAgICAvLyBBIGdl
bmVyaWMgZGVzY3JpcHRvciBpcyBzaW1wbHkgY2hhbmdpbmcgdGhlIGF0dHJpYnV0ZXMgb2YgYW4g
ZXhpc3RpbmcgcHJvcGVydHkKICAgICBpZiAoZGVzY3JpcHRvci5pc0dlbmVyaWNEZXNjcmlwdG9y
KCkpIHsKICAgICAgICAgaWYgKCFjdXJyZW50LmF0dHJpYnV0ZXNFcXVhbChkZXNjcmlwdG9yKSkg
ewotICAgICAgICAgICAgbWV0aG9kVGFibGUoKS0+ZGVsZXRlUHJvcGVydHkodGhpcywgZXhlYywg
cHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgIHB1dERlc2NyaXB0b3IoZXhlYywgdGhpcywgcHJv
cGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVz
Y3JpcHRvciksIGN1cnJlbnQpOworICAgICAgICAgICAgb2JqZWN0LT5tZXRob2RUYWJsZSgpLT5k
ZWxldGVQcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CisgICAgICAgICAgICBw
dXREZXNjcmlwdG9yKGV4ZWMsIG9iamVjdCwgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJy
ZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTc3OCw4ICs3NzgsOCBAQCBib29s
IEpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZQogICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXhlYywgY3Jl
YXRlVHlwZUVycm9yKGV4ZWMsICJBdHRlbXB0aW5nIHRvIGNoYW5nZSBhY2Nlc3MgbWVjaGFuaXNt
IGZvciBhbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4iKSk7CiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgbWV0aG9kVGFibGUoKS0+ZGVsZXRlUHJvcGVydHko
dGhpcywgZXhlYywgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgcmV0dXJuIHB1dERlc2NyaXB0b3Io
ZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNX
aXRoT3ZlcnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOworICAgICAgICBvYmplY3QtPm1ldGhv
ZFRhYmxlKCktPmRlbGV0ZVByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lKTsKKyAg
ICAgICAgcmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywgb2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGRl
c2NyaXB0b3IsIGN1cnJlbnQuYXR0cmlidXRlc1dpdGhPdmVycmlkZShkZXNjcmlwdG9yKSwgY3Vy
cmVudCk7CiAgICAgfQogCiAgICAgLy8gQ2hhbmdpbmcgdGhlIHZhbHVlIGFuZCBhdHRyaWJ1dGVz
IG9mIGFuIGV4aXN0aW5nIHByb3BlcnR5CkBAIC04MDEsMTMgKzgwMSwxMyBAQCBib29sIEpTT2Jq
ZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZQogICAgICAgICAgICAgaWYgKCFkZXNjcmlwdG9yLnZhbHVlKCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dDsKLSAgICAgICAgICAgIG1ldGhvZFRhYmxlKCktPnB1dCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5h
bWUsIGRlc2NyaXB0b3IudmFsdWUoKSwgc2xvdCk7CisgICAgICAgICAgICBvYmplY3QtPm1ldGhv
ZFRhYmxlKCktPnB1dChvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvci52YWx1
ZSgpLCBzbG90KTsKICAgICAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgfQotICAgICAgICBtZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eSh0aGlzLCBleGVjLCBw
cm9wZXJ0eU5hbWUpOwotICAgICAgICByZXR1cm4gcHV0RGVzY3JpcHRvcihleGVjLCB0aGlzLCBw
cm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIGN1cnJlbnQuYXR0cmlidXRlc1dpdGhPdmVycmlkZShk
ZXNjcmlwdG9yKSwgY3VycmVudCk7CisgICAgICAgIG9iamVjdC0+bWV0aG9kVGFibGUoKS0+ZGVs
ZXRlUHJvcGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAgICByZXR1cm4g
cHV0RGVzY3JpcHRvcihleGVjLCBvYmplY3QsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgY3Vy
cmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsKICAgICB9
CiAKICAgICAvLyBDaGFuZ2luZyB0aGUgYWNjZXNzb3IgZnVuY3Rpb25zIG9mIGFuIGV4aXN0aW5n
IGFjY2Vzc29yIHByb3BlcnR5CkBAIC04MjQsNyArODI0LDcgQEAgYm9vbCBKU09iamVjdDo6ZGVm
aW5lT3duUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgIH0KLSAgICBK
U1ZhbHVlIGFjY2Vzc29yID0gZ2V0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlO
YW1lKTsKKyAgICBKU1ZhbHVlIGFjY2Vzc29yID0gb2JqZWN0LT5nZXREaXJlY3QoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUpOwogICAgIGlmICghYWNjZXNzb3IpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBHZXR0ZXJTZXR0ZXIqIGdldHRlclNldHRlciA9IGFzR2V0dGVyU2V0
dGVyKGFjY2Vzc29yKTsKQEAgLTgzNSwxMyArODM1LDEzIEBAIGJvb2wgSlNPYmplY3Q6OmRlZmlu
ZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lCiAgICAgICAgICAgICBnZXR0ZXJTZXR0ZXItPnNldEdldHRlcihleGVjLT5nbG9iYWxEYXRh
KCksIGFzT2JqZWN0KGRlc2NyaXB0b3IuZ2V0dGVyKCkpKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotICAgIG1ldGhvZFRhYmxlKCktPmRlbGV0ZVByb3BlcnR5KHRoaXMsIGV4ZWMsIHBy
b3BlcnR5TmFtZSk7CisgICAgb2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eShv
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgdW5zaWduZWQgYXR0cnMgPSBjdXJyZW50
LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRvcik7CiAgICAgaWYgKGRlc2NyaXB0b3Iu
c2V0dGVyKCkpCiAgICAgICAgIGF0dHJzIHw9IFNldHRlcjsKICAgICBpZiAoZGVzY3JpcHRvci5n
ZXR0ZXIoKSkKICAgICAgICAgYXR0cnMgfD0gR2V0dGVyOwotICAgIHB1dERpcmVjdChleGVjLT5n
bG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgZ2V0dGVyU2V0dGVyLCBhdHRycyk7CisgICAgb2Jq
ZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIGdldHRlclNl
dHRlciwgYXR0cnMpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCA0NjMwYWZjY2MwOTRiYmE0M2E0MzNmMDc4NDAzMDBh
ZTkwNzNmNGJiLi45YzEyOTVkOTMwYTU1NjM2NzU1ODkzNTExMDIzYjgxNjVlMDhmOGM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTE4OSw3ICsxODksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIHZvaWQgZGVmaW5lU2V0dGVyKEpTT2Jq
ZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU09iamVj
dCogc2V0dGVyRnVuY3Rpb24sIHVuc2lnbmVkIGF0dHJpYnV0ZXMgPSAwKTsKICAgICAgICAgSlNW
YWx1ZSBsb29rdXBHZXR0ZXIoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lKTsKICAgICAgICAgSlNWYWx1ZSBsb29rdXBTZXR0ZXIoRXhlY1N0YXRlKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRlZmluZU93blBy
b3BlcnR5KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVy
dHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7CisgICAgICAgIHN0YXRpYyBib29sIGRl
ZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHNob3VsZFRocm93KTsKIAog
ICAgICAgICBib29sIGlzR2xvYmFsT2JqZWN0KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaXNWYXJp
YWJsZU9iamVjdCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IDRhNzAzYjUwMWVjM2VjZWZkMTcyNjM0N2M0
OTkzMDRiNWY4NDcwY2QuLmQ2OTVkN2Q4MGIzZGY0ZDJjNGE4ZWFiOGZhODYwNjAyNmQ0M2ZmZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5jcHAKQEAgLTI5OSw3ICsyOTksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IG9iamVjdENvbnN0cnVjdG9yRGVmaW5lUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjKQogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVsbCgpKTsKICAgICBBU1NFUlQoKGRlc2NyaXB0
b3IuYXR0cmlidXRlcygpICYgKEdldHRlciB8IFNldHRlcikpIHx8ICghZGVzY3JpcHRvci5pc0Fj
Y2Vzc29yRGVzY3JpcHRvcigpKSk7CiAgICAgQVNTRVJUKCFleGVjLT5oYWRFeGNlcHRpb24oKSk7
Ci0gICAgTy0+ZGVmaW5lT3duUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBwcm9wZXJ0
eU5hbWUpLCBkZXNjcmlwdG9yLCB0cnVlKTsKKyAgICBPLT5tZXRob2RUYWJsZSgpLT5kZWZpbmVP
d25Qcm9wZXJ0eShPLCBleGVjLCBJZGVudGlmaWVyKGV4ZWMsIHByb3BlcnR5TmFtZSksIGRlc2Ny
aXB0b3IsIHRydWUpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoTyk7CiB9CiAKQEAgLTMz
MCw3ICszMzAsNyBAQCBzdGF0aWMgSlNWYWx1ZSBkZWZpbmVQcm9wZXJ0aWVzKEV4ZWNTdGF0ZSog
ZXhlYywgSlNPYmplY3QqIG9iamVjdCwgSlNPYmplY3QqIHBybwogICAgICAgICB9CiAgICAgfQog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtUHJvcGVydGllczsgaSsrKSB7Ci0gICAgICAg
IG9iamVjdC0+ZGVmaW5lT3duUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1lc1tpXSwgZGVzY3Jp
cHRvcnNbaV0sIHRydWUpOworICAgICAgICBvYmplY3QtPm1ldGhvZFRhYmxlKCktPmRlZmluZU93
blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lc1tpXSwgZGVzY3JpcHRvcnNbaV0s
IHRydWUpOwogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4ganNOdWxsKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGZiN2FlMzMxOGYyMDExNDJhZDg3YzUyZjIzNjBj
YjlhNTc1YjQyMzkuLjg0MWY4NjBjNWFjYWRkMzBmMjM2MWY1ZGJlYjkxMWYxMDA4MDkwMGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
QEAgLTQwOCwxMiArNDA4LDEzIEBAIHZvaWQgSlNET01XaW5kb3c6OmRlZmluZVNldHRlcihKU09i
amVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpCiAgICAgQmFzZTo6
ZGVmaW5lU2V0dGVyKHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2V0dGVyRnVuY3Rp
b24sIGF0dHJpYnV0ZXMpOwogfQogCi1ib29sIEpTRE9NV2luZG93OjpkZWZpbmVPd25Qcm9wZXJ0
eShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNob3VsZFRocm93
KQorYm9vbCBKU0RPTVdpbmRvdzo6ZGVmaW5lT3duUHJvcGVydHkoSlNDOjpKU09iamVjdCogb2Jq
ZWN0LCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNob3VsZFRo
cm93KQogeworICAgIEpTRE9NV2luZG93KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNET01X
aW5kb3cqPihvYmplY3QpOwogICAgIC8vIE9ubHkgYWxsb3cgZGVmaW5pbmcgcHJvcGVydGllcyBp
biB0aGlzIHdheSBieSBmcmFtZXMgaW4gdGhlIHNhbWUgb3JpZ2luLCBhcyBpdCBhbGxvd3Mgc2V0
dGVycyB0byBiZSBpbnRyb2R1Y2VkLgotICAgIGlmICghYWxsb3dzQWNjZXNzRnJvbShleGVjKSkK
KyAgICBpZiAoIXRoaXNPYmplY3QtPmFsbG93c0FjY2Vzc0Zyb20oZXhlYykpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkoZXhlYywgcHJv
cGVydHlOYW1lLCBkZXNjcmlwdG9yLCBzaG91bGRUaHJvdyk7CisgICAgcmV0dXJuIEJhc2U6OmRl
ZmluZU93blByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRv
ciwgc2hvdWxkVGhyb3cpOwogfQogCiAvLyBDdXN0b20gQXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCBiYTFkM2QwZjQ2
MzM5YmEwMWI5YmYwYjA5NDBjNjA0MDZmNzM4ZjVhLi5kMTE3MGMwNTNjZTgxYWE2YmZhYTk0NTQz
ODZlMWU5NTMwNzA3OTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1NoZWxsLmNwcApAQCAtMTExLDkgKzExMSwxMCBAQCB2b2lkIEpTRE9NV2luZG93U2hl
bGw6OnB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcAogICAgIHdpbmRvdygpLT5wdXRXaXRoQXR0cmlidXRlcyhleGVjLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCBhdHRyaWJ1dGVzKTsKIH0KIAotYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVP
d25Qcm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNo
b3VsZFRocm93KQorYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVPd25Qcm9wZXJ0eShKU0M6
OkpTT2JqZWN0KiBvYmplY3QsIEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBKU0M6OklkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3Is
IGJvb2wgc2hvdWxkVGhyb3cpCiB7Ci0gICAgcmV0dXJuIHdpbmRvdygpLT5kZWZpbmVPd25Qcm9w
ZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHNob3VsZFRocm93KTsKKyAgICBK
U0RPTVdpbmRvd1NoZWxsKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dTaGVs
bCo+KG9iamVjdCk7CisgICAgcmV0dXJuIHRoaXNPYmplY3QtPndpbmRvdygpLT5tZXRob2RUYWJs
ZSgpLT5kZWZpbmVPd25Qcm9wZXJ0eSh0aGlzT2JqZWN0LT53aW5kb3coKSwgZXhlYywgcHJvcGVy
dHlOYW1lLCBkZXNjcmlwdG9yLCBzaG91bGRUaHJvdyk7CiB9CiAKIGJvb2wgSlNET01XaW5kb3dT
aGVsbDo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93U2hlbGwuaAppbmRleCA0MTkzZGZiOWI4YTZkZGViZDY4ZWI0YTMwOTMxNDUz
ZGU1NmM3ZGJkLi5mZjJhNjMwMGFkZWI4ZjNjZDI1ZDYyYmUyNDk2YmVjYmQzOTk2ODFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC04OCw3
ICs4OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIHZvaWQgZ2V0T3du
UHJvcGVydHlOYW1lcyhKU0M6OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlByb3Bl
cnR5TmFtZUFycmF5JiwgSlNDOjpFbnVtZXJhdGlvbk1vZGUpOwogICAgICAgICBzdGF0aWMgdm9p
ZCBkZWZpbmVHZXR0ZXIoSlNDOjpKU09iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlND
OjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNPYmplY3QqIGdldHRlckZ1bmN0aW9u
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICAgICAgc3RhdGljIHZvaWQgZGVmaW5lU2V0dGVy
KEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU0M6OkpTT2JqZWN0KiBzZXR0ZXJGdW5jdGlvbiwgdW5zaWduZWQgYXR0
cmlidXRlcyk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU0M6OkV4
ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3Bl
cnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOworICAgICAgICBzdGF0aWMgYm9vbCBk
ZWZpbmVPd25Qcm9wZXJ0eShKU0M6OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBK
U0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImLCBi
b29sIHNob3VsZFRocm93KTsKIAogICAgICAgICBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX3dv
cmxkOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCmluZGV4IDljOGY0NWQzZDFmNzUxNmZjMjAzMTM2MTE4ZmZlNTQ5YTc1
Mjg3MmQuLmQ5MzE5ODYwZjk4Y2I3NTI1YmM3ODliNzhkZTcyNTUyMWVmYzk5MDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC04MzMsNyArODMzLDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgIyBDdXN0
b20gZGVmaW5lUHJvcGVydHkgZnVuY3Rpb24gZXhpc3RzIG9uIERPTVdpbmRvdwotICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBib29sIGRlZmluZU93blByb3BlcnR5KEpTQzo6
RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJv
cGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJvdyk7XG4iKSBpZiAkaW50ZXJmYWNlTmFt
ZSBlcSAiRE9NV2luZG93IjsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBi
b29sIGRlZmluZU93blByb3BlcnR5KEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRv
ciYsIGJvb2wgc2hvdWxkVGhyb3cpO1xuIikgaWYgJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRv
dyI7CiAKICAgICAjIEN1c3RvbSBnZXRPd25Qcm9wZXJ0eU5hbWVzIGZ1bmN0aW9uCiAgICAgaWYg
KCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldFByb3BlcnR5TmFtZXMi
fSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNJbmRleEdldHRlciJ9IHx8
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0N1c3RvbUluZGV4R2V0dGVyIn0g
fHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVy
In0pIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113960</attachid>
            <date>2011-11-07 17:00:40 -0800</date>
            <delta_ts>2011-11-09 02:18:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71429-20111107170039.patch</filename>
            <type>text/plain</type>
            <size>21305</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk0OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDBi
MWU5MWQwNTcyMmFhMWFhZmY1YWQ4ZmFhNTU5ZTUyZTJkNGE3N2QuLmU5OGNmNzc2NjkyYTg0YTE4
MTVmYTE5NDAwNDljNmIxMGFjNWYxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDMyIEBACiAyMDExLTExLTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CiAKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVy
dHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDI5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZGVmaW5lT3duUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmly
dHVhbCAKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIG9mIGRlZmluZU93blByb3BlcnR5IHRvIHN0
YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29y
cmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIHJ1bnRpbWUvQXJndW1lbnRzLmNw
cDoKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjpjcmVhdGVTdHJpY3RNb2RlQ2FsbGVySWZOZWNl
c3NhcnkpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OmNyZWF0ZVN0cmljdE1vZGVDYWxsZWVJ
Zk5lY2Vzc2FyeSk6CisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8uaDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVy
dHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgICogcnVudGltZS9KU09i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25Qcm9wZXJ0eSk6Cisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29u
c3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvckRlZmluZVByb3Bl
cnR5KToKKyAgICAgICAgKEpTQzo6ZGVmaW5lUHJvcGVydGllcyk6CisKKzIwMTEtMTEtMDcgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBEZS12aXJ0
dWFsaXplIEpTT2JqZWN0OjpwdXRXaXRoQXR0cmlidXRlcwogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE3MTYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRlY2RjMGVh
NmNhZTM4ZmMzZDc4YWRhYjgzMzE4NTRjYmI2ZjE0MTcuLjgwYzY1ZDQ4YTFlYmQyZTZjYzAxODdj
MzkzMzhjMGI4MTMwZjU4ZWYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNiBAQAogMjAxMS0xMS0w
NyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCisgICAgICAgIERl
LXZpcnR1YWxpemUgSlNPYmplY3Q6OmRlZmluZU93blByb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQyOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICBB
ZGRlZCBkZWZpbmVPd25Qcm9wZXJ0eSB0byB0aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQgYWxsIHRo
ZSB2aXJ0dWFsIAorICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2YgZGVmaW5lT3duUHJvcGVydHkg
dG8gc3RhdGljIG9uZXMsIGFuZCByZXBsYWNlZCAKKyAgICAgICAgYWxsIGNhbGwgc2l0ZXMgd2l0
aCBjb3JyZXNwb25kaW5nIGxvb2t1cHMgaW4gdGhlIE1ldGhvZFRhYmxlLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNE
T01XaW5kb3c6OmRlZmluZU93blByb3BlcnR5KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93U2hlbGw6OmRl
ZmluZU93blByb3BlcnR5KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAg
ICAgIChHZW5lcmF0ZUhlYWRlcik6CisKKzIwMTEtMTEtMDcgIE1hcmsgSGFobmVuYmVyZyAgPG1o
YWhuZW5iZXJnQGFwcGxlLmNvbT4KKwogICAgICAgICBEZS12aXJ0dWFsaXplIEpTT2JqZWN0Ojpw
dXRXaXRoQXR0cmlidXRlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzE3MTYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAK
aW5kZXggYzBkYzNjYTM0OGU4ZTc1OGFjMmMxNzQ2ZGQ4MzYwNzE5ZWZkODQ2OC4uNjJiMjc4OTY0
OTM0OGE1Y2EwZmQ0YWI0MmYyNTJmZGRmNmE0OGEyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZXhwCkBAIC0zMTQsNyArMzE0LDcgQEAgX19aTjNKU0M4SlNPYmplY3Qx
MnRvVGhpc09iamVjdEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUUKIF9fWk4zSlNDOEpTT2Jq
ZWN0MTN2aXNpdENoaWxkcmVuRVBOU182SlNDZWxsRVJOU18xMVNsb3RWaXNpdG9yRQogX19aTjNK
U0M4SlNPYmplY3QxNGRlbGV0ZVByb3BlcnR5RVBOU182SlNDZWxsRVBOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRQogX19aTjNKU0M4SlNPYmplY3QxNmdldFByb3BlcnR5TmFtZXNFUFMw
X1BOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5RU5TXzE1RW51bWVyYXRpb25N
b2RlRQotX19aTjNKU0M4SlNPYmplY3QxN2RlZmluZU93blByb3BlcnR5RVBOU185RXhlY1N0YXRl
RVJLTlNfMTBJZGVudGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCitfX1pOM0pTQzhK
U09iamVjdDE3ZGVmaW5lT3duUHJvcGVydHlFUFMwX1BOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVu
dGlmaWVyRVJOU18xOFByb3BlcnR5RGVzY3JpcHRvckViCiBfX1pOM0pTQzhKU09iamVjdDE3cHJl
dmVudEV4dGVuc2lvbnNFUk5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0M4SlNPYmplY3QxN3B1
dFdpdGhBdHRyaWJ1dGVzRVBOU18xMkpTR2xvYmFsRGF0YUVSS05TXzEwSWRlbnRpZmllckVOU183
SlNWYWx1ZUVqCiBfX1pOM0pTQzhKU09iamVjdDE3cHV0V2l0aEF0dHJpYnV0ZXNFUFMwX1BOU185
RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggNTY5NTNhOGNk
ODY0YzI0YTgxZjc4OWI0MjRhZDVlNTRiZTE3YzIxYy4uMzhiMWFmYTQxZmU3MWY1ODg0YWQzZGY3
ZDc3YjgyZDEyMmVjOTU0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTEzNCw5ICsxMzQsOSBAQCBFWFBPUlRTCiAgICAgP2Rl
Y3JlbWVudEBSZWZDb3VudGVkTGVha0NvdW50ZXJAV1RGQEBRQUVYWFoKICAgICA/ZGVmYXVsdEF0
dHJpYnV0ZXNAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAMElBCiAgICAgP2RlZmF1bHRWYWx1ZUBK
U09iamVjdEBKU0NAQFNBP0FWSlNWYWx1ZUAyQFBCVjEyQFBBVkV4ZWNTdGF0ZUAyQFc0UHJlZmVy
cmVkUHJpbWl0aXZlVHlwZUAyQEBaCi0gICAgP2RlZmluZU93blByb3BlcnR5QEpTT2JqZWN0QEpT
Q0BAVUFFX05QQVZFeGVjU3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAQUFWUHJvcGVydHlEZXNjcmlw
dG9yQDJAX05AWgogICAgID9kZWZpbmVHZXR0ZXJASlNHbG9iYWxPYmplY3RASlNDQEBTQVhQQVZK
U09iamVjdEAyQFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkAwSUBaCiAgICAgP2RlZmlu
ZUdldHRlckBKU09iamVjdEBKU0NAQFNBWFBBVjEyQFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZp
ZXJAMkAwSUBaCisgICAgP2RlZmluZU93blByb3BlcnR5QEpTT2JqZWN0QEpTQ0BAU0FfTlBBVjEy
QFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBBQVZQcm9wZXJ0eURlc2NyaXB0b3JAMkBf
TkBaCiAgICAgP2RlZmluZVNldHRlckBKU0dsb2JhbE9iamVjdEBKU0NAQFNBWFBBVkpTT2JqZWN0
QDJAUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQDBJQFoKICAgICA/ZGVmaW5lU2V0dGVy
QEpTT2JqZWN0QEpTQ0BAU0FYUEFWMTJAUEFWRXhlY1N0YXRlQDJAQUJWSWRlbnRpZmllckAyQDBJ
QFoKICAgICA/ZGVsZXRlT3duZWRQdHJAV1RGQEBZQVhQQVVIQklUTUFQX19AQEBaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcAppbmRleCBlZGU2YTkwYWJjZGZi
NDNkMjIxMzQyODQ4ZmVkYjRkZWRhZTI4ZTk3Li4zMzcwMTI3MDA4NjkxNDU1ODU4ZjFkYzUwOTE5
MTU2Y2M1ZDYyNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50
cy5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIEFyZ3VtZW50czo6Y3JlYXRlU3RyaWN0TW9k
ZUNhbGxlcklmTmVjZXNzYXJ5KEV4ZWNTdGF0ZSogZXhlYykKICAgICBQcm9wZXJ0eURlc2NyaXB0
b3IgZGVzY3JpcHRvcjsKICAgICBKU1ZhbHVlIHRocm93ZXIgPSBjcmVhdGVUeXBlRXJyb3JGdW5j
dGlvbihleGVjLCAiVW5hYmxlIHRvIGFjY2VzcyBjYWxsZXIgb2Ygc3RyaWN0IG1vZGUgZnVuY3Rp
b24iKTsKICAgICBkZXNjcmlwdG9yLnNldEFjY2Vzc29yRGVzY3JpcHRvcih0aHJvd2VyLCB0aHJv
d2VyLCBEb250RW51bSB8IERvbnREZWxldGUgfCBHZXR0ZXIgfCBTZXR0ZXIpOwotICAgIGRlZmlu
ZU93blByb3BlcnR5KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jYWxsZXIsIGRlc2NyaXB0
b3IsIGZhbHNlKTsKKyAgICBtZXRob2RUYWJsZSgpLT5kZWZpbmVPd25Qcm9wZXJ0eSh0aGlzLCBl
eGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY2FsbGVyLCBkZXNjcmlwdG9yLCBmYWxzZSk7CiB9
CiAKIHZvaWQgQXJndW1lbnRzOjpjcmVhdGVTdHJpY3RNb2RlQ2FsbGVlSWZOZWNlc3NhcnkoRXhl
Y1N0YXRlKiBleGVjKQpAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgQXJndW1lbnRzOjpjcmVhdGVT
dHJpY3RNb2RlQ2FsbGVlSWZOZWNlc3NhcnkoRXhlY1N0YXRlKiBleGVjKQogICAgIFByb3BlcnR5
RGVzY3JpcHRvciBkZXNjcmlwdG9yOwogICAgIEpTVmFsdWUgdGhyb3dlciA9IGNyZWF0ZVR5cGVF
cnJvckZ1bmN0aW9uKGV4ZWMsICJVbmFibGUgdG8gYWNjZXNzIGNhbGxlZSBvZiBzdHJpY3QgbW9k
ZSBmdW5jdGlvbiIpOwogICAgIGRlc2NyaXB0b3Iuc2V0QWNjZXNzb3JEZXNjcmlwdG9yKHRocm93
ZXIsIHRocm93ZXIsIERvbnRFbnVtIHwgRG9udERlbGV0ZSB8IEdldHRlciB8IFNldHRlcik7Ci0g
ICAgZGVmaW5lT3duUHJvcGVydHkoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNhbGxlZSwg
ZGVzY3JpcHRvciwgZmFsc2UpOworICAgIG1ldGhvZFRhYmxlKCktPmRlZmluZU93blByb3BlcnR5
KHRoaXMsIGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jYWxsZWUsIGRlc2NyaXB0b3IsIGZh
bHNlKTsKIH0KIAogYm9vbCBBcmd1bWVudHM6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNl
bGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9DbGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5o
CmluZGV4IDdiNWFjZDE4NjI3MWFiOTgwNjdiNzYwNjMxNDZhN2U0NTYzNzY3ZWUuLjc2MzAyNGNi
ZjNlMjRmZWJkNWE0N2RhMzIyMmQ2Y2NjYTgwNDYzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NsYXNzSW5mby5oCkBAIC04Niw2ICs4Niw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgICAgIHR5cGVkZWYgdm9pZCAoKlB1dFdpdGhBdHRyaWJ1dGVzRnVuY3Rpb25QdHIpKEpT
T2JqZWN0KiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICAgICAgUHV0V2l0aEF0dHJpYnV0ZXNGdW5j
dGlvblB0ciBwdXRXaXRoQXR0cmlidXRlczsKKworICAgICAgICB0eXBlZGVmIGJvb2wgKCpEZWZp
bmVPd25Qcm9wZXJ0eUZ1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElk
ZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sKTsKKyAgICAgICAgRGVmaW5lT3du
UHJvcGVydHlGdW5jdGlvblB0ciBkZWZpbmVPd25Qcm9wZXJ0eTsKICAgICB9OwogCiAjZGVmaW5l
IENSRUFURV9NRU1CRVJfQ0hFQ0tFUihtZW1iZXIpIFwKQEAgLTEyNiw2ICsxMjksNyBAQCBzdHJ1
Y3QgTWVtYmVyQ2hlY2sjI21lbWJlciB7IFwKICAgICAgICAgJkNsYXNzTmFtZTo6Y2xhc3NOYW1l
LCBcCiAgICAgICAgICZDbGFzc05hbWU6Omhhc0luc3RhbmNlLCBcCiAgICAgICAgICZDbGFzc05h
bWU6OnB1dFdpdGhBdHRyaWJ1dGVzLCBcCisgICAgICAgICZDbGFzc05hbWU6OmRlZmluZU93blBy
b3BlcnR5LCBcCiAgICAgfSwgXAogICAgIHNpemVvZihDbGFzc05hbWUpCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDI5ZGM3NTQ2YzE5YTE2MmFmYmNiNTkx
ZmQ4OGMxMWMwMjJhMzBiY2QuLmQ3MmY0YzMxODkxZjg1YjkyYTY3MTMzNmExOTcxYWJiZGQwZWU3
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMjAxLDQg
KzIwMSwxMCBAQCB2b2lkIEpTQ2VsbDo6cHV0V2l0aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCitib29sIEpTQ2VsbDo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCkKK3sK
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA4
YTJjODJjMzdlZGFiM2U0MDAwN2RiMzNjNGRmYTNmZGE4YTZkNjYyLi4yZDYzNWUwYjY1ZTI1YzFk
ZmE3MWIyMGFhZTJiOGVhMDY2Njg5MDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaApAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpT
R2xvYmFsT2JqZWN0OwogICAgIGNsYXNzIFN0cnVjdHVyZTsKKyAgICBjbGFzcyBQcm9wZXJ0eURl
c2NyaXB0b3I7CiAgICAgY2xhc3MgUHJvcGVydHlOYW1lQXJyYXk7CiAKICAgICBlbnVtIEVudW1l
cmF0aW9uTW9kZSB7CkBAIC0xNDgsNiArMTQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHN0YXRpYyBVU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCopOwogICAgICAgICBzdGF0
aWMgYm9vbCBoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFsdWUsIEpTVmFs
dWUgcHJvdG90eXBlUHJvcGVydHkpOwogICAgICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19B
U1NFUlQgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7
CisgICAgICAgIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgRXhlY1N0
YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3Im
LCBib29sIHNob3VsZFRocm93KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCmluZGV4IDI0Nzg0NzlkMjgxNTBiZWZlZTQ4MzJkNmEzMGRhNTYwZjk3OGE2
NmIuLjQ5NzRhMDU2NjQ0OTQ0OWY4ZjRlNWJkYjhiYWZlNjY1MWVmMDY3NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKQEAgLTcwNCwyMCArNzA0LDIwIEBA
IHN0YXRpYyBib29sIHB1dERlc2NyaXB0b3IoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGFy
Z2V0LCBjb25zdCBJZGVudGlmaWVyJiBwCiAgICAgcmV0dXJuICFleGVjLT5oYWRFeGNlcHRpb24o
KTsKIH0KIAotYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5RGVzY3JpcHRvciYgZGVz
Y3JpcHRvciwgYm9vbCB0aHJvd0V4Y2VwdGlvbikKK2Jvb2wgSlNPYmplY3Q6OmRlZmluZU93blBy
b3BlcnR5KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGJvb2wgdGhy
b3dFeGNlcHRpb24pCiB7CiAgICAgLy8gSWYgd2UgaGF2ZSBhIG5ldyBwcm9wZXJ0eSB3ZSBjYW4g
anVzdCBwdXQgaXQgb24gbm9ybWFsbHkKICAgICBQcm9wZXJ0eURlc2NyaXB0b3IgY3VycmVudDsK
LSAgICBpZiAoIWdldE93blByb3BlcnR5RGVzY3JpcHRvcihleGVjLCBwcm9wZXJ0eU5hbWUsIGN1
cnJlbnQpKSB7CisgICAgaWYgKCFvYmplY3QtPmdldE93blByb3BlcnR5RGVzY3JpcHRvcihleGVj
LCBwcm9wZXJ0eU5hbWUsIGN1cnJlbnQpKSB7CiAgICAgICAgIC8vIHVubGVzcyBleHRlbnNpb25z
IGFyZSBwcmV2ZW50ZWQhCi0gICAgICAgIGlmICghaXNFeHRlbnNpYmxlKCkpIHsKKyAgICAgICAg
aWYgKCFvYmplY3QtPmlzRXh0ZW5zaWJsZSgpKSB7CiAgICAgICAgICAgICBpZiAodGhyb3dFeGNl
cHRpb24pCiAgICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3Io
ZXhlYywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5v
dCBleHRlbnNpYmxlLiIpKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQog
ICAgICAgICBQcm9wZXJ0eURlc2NyaXB0b3Igb2xkRGVzY3JpcHRvcjsKICAgICAgICAgb2xkRGVz
Y3JpcHRvci5zZXRWYWx1ZShqc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgcmV0dXJuIHB1dERlc2Ny
aXB0b3IoZXhlYywgdGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBkZXNjcmlwdG9yLmF0
dHJpYnV0ZXMoKSwgb2xkRGVzY3JpcHRvcik7CisgICAgICAgIHJldHVybiBwdXREZXNjcmlwdG9y
KGV4ZWMsIG9iamVjdCwgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBkZXNjcmlwdG9yLmF0dHJp
YnV0ZXMoKSwgb2xkRGVzY3JpcHRvcik7CiAgICAgfQogCiAgICAgaWYgKGRlc2NyaXB0b3IuaXNF
bXB0eSgpKQpAQCAtNzQzLDggKzc0Myw4IEBAIGJvb2wgSlNPYmplY3Q6OmRlZmluZU93blByb3Bl
cnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lCiAgICAg
Ly8gQSBnZW5lcmljIGRlc2NyaXB0b3IgaXMgc2ltcGx5IGNoYW5naW5nIHRoZSBhdHRyaWJ1dGVz
IG9mIGFuIGV4aXN0aW5nIHByb3BlcnR5CiAgICAgaWYgKGRlc2NyaXB0b3IuaXNHZW5lcmljRGVz
Y3JpcHRvcigpKSB7CiAgICAgICAgIGlmICghY3VycmVudC5hdHRyaWJ1dGVzRXF1YWwoZGVzY3Jp
cHRvcikpIHsKLSAgICAgICAgICAgIG1ldGhvZFRhYmxlKCktPmRlbGV0ZVByb3BlcnR5KHRoaXMs
IGV4ZWMsIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBwdXREZXNjcmlwdG9yKGV4ZWMsIHRo
aXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgY3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJy
aWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsKKyAgICAgICAgICAgIG9iamVjdC0+bWV0aG9kVGFi
bGUoKS0+ZGVsZXRlUHJvcGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUpOworICAgICAg
ICAgICAgcHV0RGVzY3JpcHRvcihleGVjLCBvYmplY3QsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRv
ciwgY3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC03NTYsOCArNzU2LDgg
QEAgYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUKICAgICAgICAgICAgICAgICB0aHJvd0Vycm9yKGV4
ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1l
Y2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkuIikpOwogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIG1ldGhvZFRhYmxlKCktPmRlbGV0ZVBy
b3BlcnR5KHRoaXMsIGV4ZWMsIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHJldHVybiBwdXREZXNj
cmlwdG9yKGV4ZWMsIHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgY3VycmVudC5hdHRy
aWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpLCBjdXJyZW50KTsKKyAgICAgICAgb2JqZWN0
LT5tZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFt
ZSk7CisgICAgICAgIHJldHVybiBwdXREZXNjcmlwdG9yKGV4ZWMsIG9iamVjdCwgcHJvcGVydHlO
YW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3ZlcnJpZGUoZGVzY3JpcHRv
ciksIGN1cnJlbnQpOwogICAgIH0KIAogICAgIC8vIENoYW5naW5nIHRoZSB2YWx1ZSBhbmQgYXR0
cmlidXRlcyBvZiBhbiBleGlzdGluZyBwcm9wZXJ0eQpAQCAtNzc5LDEzICs3NzksMTMgQEAgYm9v
bCBKU09iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eU5hbWUKICAgICAgICAgICAgIGlmICghZGVzY3JpcHRvci52YWx1ZSgp
KQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgUHV0UHJvcGVydHlT
bG90IHNsb3Q7Ci0gICAgICAgICAgICBtZXRob2RUYWJsZSgpLT5wdXQodGhpcywgZXhlYywgcHJv
cGVydHlOYW1lLCBkZXNjcmlwdG9yLnZhbHVlKCksIHNsb3QpOworICAgICAgICAgICAgb2JqZWN0
LT5tZXRob2RUYWJsZSgpLT5wdXQob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0
b3IudmFsdWUoKSwgc2xvdCk7CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KLSAgICAgICAgbWV0aG9kVGFibGUoKS0+ZGVsZXRlUHJvcGVydHkodGhpcywg
ZXhlYywgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgcmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywg
dGhpcywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBjdXJyZW50LmF0dHJpYnV0ZXNXaXRoT3Zl
cnJpZGUoZGVzY3JpcHRvciksIGN1cnJlbnQpOworICAgICAgICBvYmplY3QtPm1ldGhvZFRhYmxl
KCktPmRlbGV0ZVByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lKTsKKyAgICAgICAg
cmV0dXJuIHB1dERlc2NyaXB0b3IoZXhlYywgb2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0
b3IsIGN1cnJlbnQuYXR0cmlidXRlc1dpdGhPdmVycmlkZShkZXNjcmlwdG9yKSwgY3VycmVudCk7
CiAgICAgfQogCiAgICAgLy8gQ2hhbmdpbmcgdGhlIGFjY2Vzc29yIGZ1bmN0aW9ucyBvZiBhbiBl
eGlzdGluZyBhY2Nlc3NvciBwcm9wZXJ0eQpAQCAtODAyLDcgKzgwMiw3IEBAIGJvb2wgSlNPYmpl
Y3Q6OmRlZmluZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYg
cHJvcGVydHlOYW1lCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9
Ci0gICAgSlNWYWx1ZSBhY2Nlc3NvciA9IGdldERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIHBy
b3BlcnR5TmFtZSk7CisgICAgSlNWYWx1ZSBhY2Nlc3NvciA9IG9iamVjdC0+Z2V0RGlyZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lKTsKICAgICBpZiAoIWFjY2Vzc29yKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBhc0dl
dHRlclNldHRlcihhY2Nlc3Nvcik7CkBAIC04MTMsMTMgKzgxMywxMyBAQCBib29sIEpTT2JqZWN0
OjpkZWZpbmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZQogICAgICAgICAgICAgZ2V0dGVyU2V0dGVyLT5zZXRHZXR0ZXIoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBhc09iamVjdChkZXNjcmlwdG9yLmdldHRlcigpKSk7CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KLSAgICBtZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eSh0aGlzLCBl
eGVjLCBwcm9wZXJ0eU5hbWUpOworICAgIG9iamVjdC0+bWV0aG9kVGFibGUoKS0+ZGVsZXRlUHJv
cGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUpOwogICAgIHVuc2lnbmVkIGF0dHJzID0g
Y3VycmVudC5hdHRyaWJ1dGVzV2l0aE92ZXJyaWRlKGRlc2NyaXB0b3IpOwogICAgIGlmIChkZXNj
cmlwdG9yLnNldHRlcigpKQogICAgICAgICBhdHRycyB8PSBTZXR0ZXI7CiAgICAgaWYgKGRlc2Ny
aXB0b3IuZ2V0dGVyKCkpCiAgICAgICAgIGF0dHJzIHw9IEdldHRlcjsKLSAgICBwdXREaXJlY3Qo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIGdldHRlclNldHRlciwgYXR0cnMpOwor
ICAgIG9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lLCBn
ZXR0ZXJTZXR0ZXIsIGF0dHJzKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggOWFlNDExZmQ2ZGYxNTI2YmFiYjkzNTFj
NDkwZmY1MDU5M2M3NDk3YS4uZDNlMWJkM2QyNGFjNGZjZjJiNDE5MDQ0M2E4MDg3MGIzNTgyMDFm
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xODUsNyAr
MTg1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyB2b2lkIGRlZmluZVNldHRl
cihKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlNPYmplY3QqIHNldHRlckZ1bmN0aW9uLCB1bnNpZ25lZCBhdHRyaWJ1dGVzID0gMCk7CiAgICAg
ICAgIEpTVmFsdWUgbG9va3VwR2V0dGVyKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSk7CiAgICAgICAgIEpTVmFsdWUgbG9va3VwU2V0dGVyKEV4ZWNTdGF0ZSosIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkZWZp
bmVPd25Qcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUs
IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOworICAgICAgICBzdGF0aWMg
Ym9vbCBkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJv
dyk7CiAKICAgICAgICAgYm9vbCBpc0dsb2JhbE9iamVjdCgpIGNvbnN0OwogICAgICAgICBib29s
IGlzVmFyaWFibGVPYmplY3QoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCA0YTcwM2I1MDFlYzNlY2VmZDE3
MjYzNDdjNDk5MzA0YjVmODQ3MGNkLi5kNjk1ZDdkODBiM2RmNGQyYzRhOGVhYjhmYTg2MDYwMjZk
NDNmZmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
Q29uc3RydWN0b3IuY3BwCkBAIC0yOTksNyArMjk5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBvYmplY3RDb25zdHJ1Y3RvckRlZmluZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bGwoKSk7CiAgICAgQVNTRVJUKChk
ZXNjcmlwdG9yLmF0dHJpYnV0ZXMoKSAmIChHZXR0ZXIgfCBTZXR0ZXIpKSB8fCAoIWRlc2NyaXB0
b3IuaXNBY2Nlc3NvckRlc2NyaXB0b3IoKSkpOwogICAgIEFTU0VSVCghZXhlYy0+aGFkRXhjZXB0
aW9uKCkpOwotICAgIE8tPmRlZmluZU93blByb3BlcnR5KGV4ZWMsIElkZW50aWZpZXIoZXhlYywg
cHJvcGVydHlOYW1lKSwgZGVzY3JpcHRvciwgdHJ1ZSk7CisgICAgTy0+bWV0aG9kVGFibGUoKS0+
ZGVmaW5lT3duUHJvcGVydHkoTywgZXhlYywgSWRlbnRpZmllcihleGVjLCBwcm9wZXJ0eU5hbWUp
LCBkZXNjcmlwdG9yLCB0cnVlKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKE8pOwogfQog
CkBAIC0zMzAsNyArMzMwLDcgQEAgc3RhdGljIEpTVmFsdWUgZGVmaW5lUHJvcGVydGllcyhFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBvYmplY3QsIEpTT2JqZWN0KiBwcm8KICAgICAgICAgfQog
ICAgIH0KICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bVByb3BlcnRpZXM7IGkrKykgewot
ICAgICAgICBvYmplY3QtPmRlZmluZU93blByb3BlcnR5KGV4ZWMsIHByb3BlcnR5TmFtZXNbaV0s
IGRlc2NyaXB0b3JzW2ldLCB0cnVlKTsKKyAgICAgICAgb2JqZWN0LT5tZXRob2RUYWJsZSgpLT5k
ZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZXNbaV0sIGRlc2NyaXB0
b3JzW2ldLCB0cnVlKTsKICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAg
ICAgICAgcmV0dXJuIGpzTnVsbCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA3YzRhNjU4ZjcxZjlmMjgzNDE5ODI0
MzRlOTllMWZkODI5MDc0NzkwLi43NmRlMmE5YjUwZWM1YzFmMGNmMWZiODJmMjdhYzQxNGY3ZTBj
ZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCkBAIC00MDksMTIgKzQwOSwxMyBAQCB2b2lkIEpTRE9NV2luZG93OjpkZWZpbmVTZXR0
ZXIoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaQogICAg
IEJhc2U6OmRlZmluZVNldHRlcih0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNldHRl
ckZ1bmN0aW9uLCBhdHRyaWJ1dGVzKTsKIH0KIAotYm9vbCBKU0RPTVdpbmRvdzo6ZGVmaW5lT3du
UHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBzaG91
bGRUaHJvdykKK2Jvb2wgSlNET01XaW5kb3c6OmRlZmluZU93blByb3BlcnR5KEpTQzo6SlNPYmpl
Y3QqIG9iamVjdCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYg
cHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBz
aG91bGRUaHJvdykKIHsKKyAgICBKU0RPTVdpbmRvdyogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0
PEpTRE9NV2luZG93Kj4ob2JqZWN0KTsKICAgICAvLyBPbmx5IGFsbG93IGRlZmluaW5nIHByb3Bl
cnRpZXMgaW4gdGhpcyB3YXkgYnkgZnJhbWVzIGluIHRoZSBzYW1lIG9yaWdpbiwgYXMgaXQgYWxs
b3dzIHNldHRlcnMgdG8gYmUgaW50cm9kdWNlZC4KLSAgICBpZiAoIWFsbG93c0FjY2Vzc0Zyb20o
ZXhlYykpCisgICAgaWYgKCF0aGlzT2JqZWN0LT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KGV4
ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgc2hvdWxkVGhyb3cpOworICAgIHJldHVybiBC
YXNlOjpkZWZpbmVPd25Qcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRl
c2NyaXB0b3IsIHNob3VsZFRocm93KTsKIH0KIAogLy8gQ3VzdG9tIEF0dHJpYnV0ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNmI0
YTVmZTBkNjA3MDJmZjM5MzMxOGFhMjQwYjdhM2ZkMDVhNjczYS4uNjJlOGNjMmI5NjJlMzgxNGNk
NzU5YzE4OWIxZjNhYTU3YjlmNzRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTExMyw5ICsxMTMsMTAgQEAgdm9pZCBKU0RPTVdp
bmRvd1NoZWxsOjpwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUq
IGV4ZWMsIGNvbnMKICAgICB0aGlzT2JqZWN0LT53aW5kb3coKS0+cHV0V2l0aEF0dHJpYnV0ZXMo
dGhpc09iamVjdC0+d2luZG93KCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0
ZXMpOwogfQogCi1ib29sIEpTRE9NV2luZG93U2hlbGw6OmRlZmluZU93blByb3BlcnR5KEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlND
OjpQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGJvb2wgc2hvdWxkVGhyb3cpCitib29s
IEpTRE9NV2luZG93U2hlbGw6OmRlZmluZU93blByb3BlcnR5KEpTQzo6SlNPYmplY3QqIG9iamVj
dCwgSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBzaG91bGRUaHJv
dykKIHsKLSAgICByZXR1cm4gd2luZG93KCktPmRlZmluZU93blByb3BlcnR5KGV4ZWMsIHByb3Bl
cnR5TmFtZSwgZGVzY3JpcHRvciwgc2hvdWxkVGhyb3cpOworICAgIEpTRE9NV2luZG93U2hlbGwq
IHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd1NoZWxsKj4ob2JqZWN0KTsKKyAg
ICByZXR1cm4gdGhpc09iamVjdC0+d2luZG93KCktPm1ldGhvZFRhYmxlKCktPmRlZmluZU93blBy
b3BlcnR5KHRoaXNPYmplY3QtPndpbmRvdygpLCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0
b3IsIHNob3VsZFRocm93KTsKIH0KIAogYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWxldGVQcm9w
ZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dTaGVsbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVs
bC5oCmluZGV4IDlkOTIxYzk2MDJlZDcyMWFkY2IwYjQzMjJhY2M4NDBiN2M5ZWExNWYuLmUxZmY0
MTI2ZWUwYjhiZTc1YzZlODA5OTgxNDlmMTc5NDRkMTMzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTg4LDcgKzg4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEpTQzo6
SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lQXJyYXkmLCBKU0M6
OkVudW1lcmF0aW9uTW9kZSk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGRlZmluZUdldHRlcihKU0M6
OkpTT2JqZWN0KiwgSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgSlNDOjpKU09iamVjdCogZ2V0dGVyRnVuY3Rpb24sIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpOwogICAgICAgICBzdGF0aWMgdm9pZCBkZWZpbmVTZXR0ZXIoSlNDOjpKU09iamVjdCosIEpT
Qzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6
SlNPYmplY3QqIHNldHRlckZ1bmN0aW9uLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKLSAgICAgICAg
dmlydHVhbCBib29sIGRlZmluZU93blByb3BlcnR5KEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlND
OjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiwgYm9v
bCBzaG91bGRUaHJvdyk7CisgICAgICAgIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwog
CiAgICAgICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7CiAgICAgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggYjkzZDZiNDBiOWM2YzAzYjk5YWIzMzYwZTBiYTJhZmRkZTJmNTY1OC4uODUyNjczNzU3NWZl
NTdhMmQ4N2RkMjgxNTdjYmM5ZmVlMzFkZGZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTgzMyw3ICs4MzMsNyBAQCBz
dWIgR2VuZXJhdGVIZWFkZXIKICAgICB9CiAKICAgICAjIEN1c3RvbSBkZWZpbmVQcm9wZXJ0eSBm
dW5jdGlvbiBleGlzdHMgb24gRE9NV2luZG93Ci0gICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAg
ICB2aXJ0dWFsIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBK
U0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eURlc2NyaXB0b3ImLCBi
b29sIHNob3VsZFRocm93KTtcbiIpIGlmICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciOwor
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgc3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVy
dHkoSlNDOjpKU09iamVjdCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCBzaG91bGRUaHJv
dyk7XG4iKSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IjsKIAogICAgICMgQ3VzdG9t
IGdldE93blByb3BlcnR5TmFtZXMgZnVuY3Rpb24KICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tR2V0UHJvcGVydHlOYW1lcyJ9IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc0luZGV4R2V0dGVyIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiSGFzQ3VzdG9tSW5kZXhHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJIYXNOdW1lcmljSW5kZXhHZXR0ZXIifSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>