<?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>30468</bug_id>
          
          <creation_ts>2009-10-16 16:18:42 -0700</creation_ts>
          <short_desc>structure typeinfo flags should be inherited.</short_desc>
          <delta_ts>2010-01-10 15:08:47 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155299</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-16 16:18:42 -0700</bug_when>
    <thetext>We have all sorts of problems due to subclasses not setting the right typeinfo flags due to  unawareness of flags set by their parent class.

Following the recent typeinfo flag refactoring it is now possible to do this relatively easily, and so we should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155301</commentid>
    <comment_count>1</comment_count>
      <attachid>41340</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-16 16:32:48 -0700</bug_when>
    <thetext>Created attachment 41340
JavaScriptCore portion of patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155306</commentid>
    <comment_count>2</comment_count>
      <attachid>41340</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2009-10-16 16:56:53 -0700</bug_when>
    <thetext>Comment on attachment 41340
JavaScriptCore portion of patch

Move the JSByteArray createStructure to the header or you&apos;re officially lame!
Meh, r+ either way. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155330</commentid>
    <comment_count>3</comment_count>
      <attachid>41340</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-10-16 18:07:52 -0700</bug_when>
    <thetext>Comment on attachment 41340
JavaScriptCore portion of patch

Committed r49721</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155598</commentid>
    <comment_count>4</comment_count>
      <attachid>41340</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-10-19 00:17:32 -0700</bug_when>
    <thetext>Comment on attachment 41340
JavaScriptCore portion of patch

Clearing review flag since this was landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41340</attachid>
            <date>2009-10-16 16:32:48 -0700</date>
            <delta_ts>2009-10-19 00:17:32 -0700</delta_ts>
            <desc>JavaScriptCore portion of patch</desc>
            <filename>bug-30468-20091016163247.patch</filename>
            <type>text/plain</type>
            <size>27335</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBi
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAppbmRleCAzMmRmNjdh
Li5jNGJkN2FkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5o
CkBAIC00MSw5ICs0MSwxMiBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90bykgCiAgICAgeyAKLSAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBJ
bXBsZW1lbnRzSGFzSW5zdGFuY2UpKTsgCisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZShwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsgCiAgICAgfQog
Citwcm90ZWN0ZWQ6CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
SW1wbGVtZW50c0hhc0luc3RhbmNlIHwgSlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOworCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVj
dERhdGEmKTsKICAgICB2aXJ0dWFsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3Qg
eyByZXR1cm4gJmluZm87IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrRnVuY3Rpb24uaCBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaApp
bmRleCA4YmQ3ZGJiLi4wY2YyNWM0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja0Z1bmN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5j
dGlvbi5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICAvLyByZWZhY3RvciB0aGUgY29k
ZSBzbyB0aGlzIG92ZXJyaWRlIGlzbid0IG5lY2Vzc2FyeQogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG8pIAogICAgIHsgCi0gICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSkp
OyAKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCAzMzc0ODMyLi5kMTk4OTBhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTUwLDkgKzUwLDEyIEBAIHB1YmxpYzoKIAog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUg
cHJvdG8pIAogICAgIHsgCi0gICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90bywg
VHlwZUluZm8oT2JqZWN0VHlwZSwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVt
ZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBPdmVycmlkZXNNYXJrQ2hp
bGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7IAorICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdz
KSk7IAogICAgIH0KIAorcHJvdGVjdGVkOgorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJ
bnN0YW5jZSB8IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzTWFya0NoaWxkcmVuIHwg
T3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCiBwcml2
YXRlOgogICAgIHZpcnR1YWwgVVN0cmluZyBjbGFzc05hbWUoKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGQ5OTk2ZWQuLjJkMzRkMTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw3NCBAQAogMjAwOS0x
MC0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN0cnVjdHVyZSB0eXBlaW5mbyBmbGFncyBz
aG91bGQgYmUgaW5oZXJpdGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzA0NjgKKworICAgICAgICBBZGQgU3RydWN0dXJlRmxhZyBjb25zdGFudCB0
byB0aGUgdmFyaW91cyBKU0MgY2xhc3NlcyBhbmQgdXNlCisgICAgICAgIGl0IGZvciB0aGUgVHlw
ZUluZm8gY29uc3RydWN0aW9uLiAgVGhpcyBhbGxvd3MgdXMgdG8gc2ltcGx5CisgICAgICAgIGFj
Y3VtdWxhdGUgZmxhZ3MgYnkgYmFzaW5nIGVhY2ggY2xhc3NlcyBTdHJ1Y3R1cmVJbmZvIG9uIGl0
cyBwYXJlbnRzLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oOgorICAg
ICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAg
ICAgICogQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNr
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmpl
Y3QuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKToK
KyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaDoKKyAgICAgICAgKEpTQzo6
RGVidWdnZXJBY3RpdmF0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUv
QXJndW1lbnRzLmg6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6Y3JlYXRlU3RydWN0dXJlKToK
KyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5PYmplY3QuaDoKKyAgICAgICAgKEpTQzo6Qm9vbGVh
bk9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAgKiBydW50aW1lL0RhdGVQcm90b3R5
cGUuaDoKKyAgICAgICAgKEpTQzo6RGF0ZVByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKToKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg6CisgICAgICAgIChKU0M6OkZ1bmN0
aW9uUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvR2xvYmFs
RXZhbEZ1bmN0aW9uLmg6CisgICAgICAgIChKU0M6Okdsb2JhbEV2YWxGdW5jdGlvbjo6Y3JlYXRl
U3RydWN0dXJlKToKKyAgICAgICAgKiBydW50aW1lL0ludGVybmFsRnVuY3Rpb24uaDoKKyAgICAg
ICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAgICAgKiBy
dW50aW1lL0pTQWN0aXZhdGlvbi5oOgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OmNyZWF0
ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5Lmg6CisgICAgICAgIChKU0M6
OkpTQXJyYXk6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU0J5dGVBcnJh
eS5jcHA6CisgICAgICAgIChKU0M6OkpTQnl0ZUFycmF5OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNCeXRlQXJyYXkuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAg
ICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5o
OgorICAgICAgICAoSlNDOjpKU05vdEFuT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09OT2JqZWN0OjpjcmVh
dGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU1N0YXRp
Y1Njb3BlT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTU3RhdGljU2NvcGVPYmplY3Q6OmNyZWF0
ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0Lmg6CisgICAg
ICAgIChKU0M6OkpTVmFyaWFibGVPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICog
cnVudGltZS9KU1dyYXBwZXJPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNXcmFwcGVyT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5oOgorICAg
ICAgICAoSlNDOjpNYXRoT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRp
bWUvTnVtYmVyQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29uc3RydWN0b3I6
OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9OdW1iZXJPYmplY3QuaDoKKyAg
ICAgICAgKEpTQzo6TnVtYmVyT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0
b3I6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6UmVnRXhwT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAq
IHJ1bnRpbWUvU3RyaW5nT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdDo6Y3Jl
YXRlU3RydWN0dXJlKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkLmg6CisgICAgICAgIChKU0M6OlN0cmluZ09iamVjdFRoYXRNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkOjpjcmVhdGVTdHJ1Y3R1cmUpOgorCisyMDA5LTEwLTE2ICBPbGl2ZXIg
SHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFy
cmFjbG91Z2guCiAKICAgICAgICAgTWFrZSB0eXBlaW5mbyBmbGFncyBkZWZhdWx0IHRvIGZhbHNl
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
aCBiL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCmluZGV4IGE5
MDkwMDAuLjYzY2Y2MzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVn
Z2VyQWN0aXZhdGlvbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0
aXZhdGlvbi5oCkBAIC01MSw5ICs1MSwxMiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1ZhbHVlIHByb3Rv
dHlwZSkgCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShw
cm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbikpOyAKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdz
KSk7IAogICAgICAgICB9CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92
ZXJyaWRlc01hcmtDaGlsZHJlbiB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKKwogICAgIHBy
aXZhdGU6CiAgICAgICAgIEpTQWN0aXZhdGlvbiogbV9hY3RpdmF0aW9uOwogICAgIH07CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCBlNmI0Y2M4Li45YjY3NGEyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTg1LDkgKzg1LDEyIEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpT
VmFsdWUgcHJvdG90eXBlKSAKICAgICAgICAgeyAKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dldE93
blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMpKTsgCisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICAgICAgfQog
CisgICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNNYXJrQ2hpbGRy
ZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdz
OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBnZXRBcmd1bWVudHNEYXRhKENhbGxGcmFt
ZSosIEpTRnVuY3Rpb24qJiwgcHRyZGlmZl90JiBmaXJzdFBhcmFtZXRlckluZGV4LCBSZWdpc3Rl
ciomIGFyZ3YsIGludCYgYXJnYyk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0
eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVj
dC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmgKaW5kZXggZjQzN2M3
MS4uNjljMmU1MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2Jq
ZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFuT2JqZWN0LmgKQEAgLTM0
LDcgKzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwg
VHlwZUluZm8oT2JqZWN0VHlwZSkpOworICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsKICAg
ICAgICAgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZVByb3RvdHlwZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmgKaW5k
ZXggMmNjYzEzNi4uNWZlNGY0NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9E
YXRlUHJvdG90eXBlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBl
LmgKQEAgLTM5LDggKzM5LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKQog
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVy
cmlkZXNNYXJrQ2hpbGRyZW4pKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7CiAgICAg
ICAgIH0KKworICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzTWFy
a0NoaWxkcmVuIHwgRGF0ZUluc3RhbmNlOjpTdHJ1Y3R1cmVGbGFnczsKKwogICAgIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblByb3RvdHlwZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlw
ZS5oCmluZGV4IDI2NjI2MjcuLmQxZDZhMWQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUHJvdG90eXBlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1
ZSBwcm90bykKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRl
KHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlKSk7CisgICAgICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7
CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dsb2JhbEV2YWxGdW5jdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HbG9i
YWxFdmFsRnVuY3Rpb24uaAppbmRleCA1OWY3ZTRlLi4zODliMWMzIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dsb2JhbEV2YWxGdW5jdGlvbi5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvR2xvYmFsRXZhbEZ1bmN0aW9uLmgKQEAgLTM3LDkgKzM3LDEyIEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRl
U3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKSAKICAgICAgICAgeyAKLSAgICAgICAgICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIElt
cGxlbWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dl
dFByb3BlcnR5TmFtZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShw
cm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7CiAgICAgICAg
IH0KIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzTWFya0NoaWxkcmVu
IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IFByb3RvdHlwZUZ1bmN0aW9uOjpTdHJ1Y3R1
cmVGbGFnczsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBtYXJrQ2hpbGRy
ZW4oTWFya1N0YWNrJik7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmgKaW5kZXggYzdjMDQ3Ny4uZGU5YTFkNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRlcm5hbEZ1bmN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRl
cm5hbEZ1bmN0aW9uLmgKQEAgLTQyLDEwICs0MiwxMiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1ZhbHVl
IHByb3RvKSAKICAgICAgICAgeyAKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZShwcm90bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgSW1wbGVtZW50c0hhc0luc3RhbmNlKSk7IAor
ICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgor
ICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJbXBsZW1lbnRz
SGFzSW5zdGFuY2UgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CisKICAgICAgICAgSW50ZXJu
YWxGdW5jdGlvbihOb25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZSkgOiBKU09i
amVjdChzdHJ1Y3R1cmUpIHsgfQogICAgICAgICBJbnRlcm5hbEZ1bmN0aW9uKEpTR2xvYmFsRGF0
YSosIE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4sIGNvbnN0IElkZW50aWZpZXImKTsKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKaW5kZXggOWQ0M2U2Yi4uZWU5ODE5MSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCkBAIC02Niw3ICs2NiwxMCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5m
bygpIGNvbnN0IHsgcmV0dXJuICZpbmZvOyB9CiAgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0lu
Zm8gaW5mbzsKIAotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0
cnVjdHVyZShKU1ZhbHVlIHByb3RvKSB7IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90bywg
VHlwZUluZm8oT2JqZWN0VHlwZSwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgTmVlZHNU
aGlzQ29udmVyc2lvbiB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMpKTsgfQorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0
ZVN0cnVjdHVyZShKU1ZhbHVlIHByb3RvKSB7IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90
bywgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsgfQorCisgICAgcHJvdGVj
dGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBOZWVkc1RoaXNDb252ZXJzaW9uIHwgT3ZlcnJpZGVz
TWFya0NoaWxkcmVuIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTVmFyaWFibGVPYmpl
Y3Q6OlN0cnVjdHVyZUZsYWdzOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RydWN0IEpTQWN0
aXZhdGlvbkRhdGEgOiBwdWJsaWMgSlNWYXJpYWJsZU9iamVjdERhdGEgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuaAppbmRleCAyZTkxZjlhLi44YzIyNDUxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXkuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXkuaApAQCAtODcsMTIgKzg3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBP
dmVycmlkZXNNYXJrQ2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7CisgICAg
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBp
bmxpbmUgdm9pZCBtYXJrQ2hpbGRyZW5EaXJlY3QoTWFya1N0YWNrJiBtYXJrU3RhY2spOwogCiAg
ICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNNYXJrQ2hpbGRyZW4g
fCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgSlNPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBkZWxldGVQcm9wZXJ0eShFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0
eU5hbWUpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNCeXRlQXJyYXkuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5j
cHAKaW5kZXggN2RjMTljZi4uNWU1MDAzYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0J5dGVBcnJheS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVB
cnJheS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgSlNCeXRlQXJyYXk6OkpTQnl0ZUFycmF5KEV4ZWNT
dGF0ZSogZXhlYywgTm9uTnVsbFBhc3NSZWZQdHI8U3RydWN0dXJlPiBzdHJ1Y3R1cmUKICAgICAK
IFBhc3NSZWZQdHI8U3RydWN0dXJlPiBKU0J5dGVBcnJheTo6Y3JlYXRlU3RydWN0dXJlKEpTVmFs
dWUgcHJvdG90eXBlKQogewotICAgIFBhc3NSZWZQdHI8U3RydWN0dXJlPiByZXN1bHQgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTsKKyAgICBQYXNz
UmVmUHRyPFN0cnVjdHVyZT4gcmVzdWx0ID0gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBU
eXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaAppbmRleCAwMDZmNGEyLi5mZTZl
MTI0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5oCkBAIC05MSw2ICs5MSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFdURjo6Qnl0ZUFycmF5KiBzdG9yYWdlKCkgY29u
c3QgeyByZXR1cm4gbV9zdG9yYWdlLmdldCgpOyB9CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU09iamVjdDo6U3RydWN0
dXJlRmxhZ3M7CisKICAgICBwcml2YXRlOgogICAgICAgICBlbnVtIFZQdHJTdGVhbGluZ0hhY2tU
eXBlIHsgVlB0clN0ZWFsaW5nSGFjayB9OwogICAgICAgICBKU0J5dGVBcnJheShWUHRyU3RlYWxp
bmdIYWNrVHlwZSkgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IGUxZmM1MzMu
LmI0MzU2YzQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC02MSw3ICs2MSw3
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVy
ZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKSAKICAgICAgICAgeyAKLSAgICAg
ICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVj
dFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEltcGxlbWVudHNIYXNJbnN0YW5j
ZSB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTsg
CisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5m
byhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOyAKICAgICAgICAgfQogCiAgICAgICAgIE5h
dGl2ZUZ1bmN0aW9uIG5hdGl2ZUZ1bmN0aW9uKCkKQEAgLTcyLDYgKzcyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENv
bnN0cnVjdERhdGEmKTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxs
RGF0YSYpOwogCisgICAgcHJvdGVjdGVkOgorICAgICAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRz
SGFzSW5zdGFuY2UgfCBPdmVycmlkZXNNYXJrQ2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0
eU5hbWVzIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CisKICAgICBwcml2YXRl
OgogICAgICAgICBKU0Z1bmN0aW9uKE5vbk51bGxQYXNzUmVmUHRyPFN0cnVjdHVyZT4pOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNTY4YzQ2YS4uNzIwZDNh
NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjY3LDEwICsy
NjcsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3Ry
dWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9i
amVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc01hcmtDaGls
ZHJlbiB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVy
ZUZsYWdzKSk7CiAgICAgICAgIH0KIAogICAgIHByb3RlY3RlZDoKKworICAgICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3QgfCBPdmVycmlkZXNNYXJrQ2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwg
SlNWYXJpYWJsZU9iamVjdDo6U3RydWN0dXJlRmxhZ3M7CisKICAgICAgICAgc3RydWN0IEdsb2Jh
bFByb3BlcnR5SW5mbyB7CiAgICAgICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oY29uc3QgSWRl
bnRpZmllciYgaSwgSlNWYWx1ZSB2LCB1bnNpZ25lZCBhKQogICAgICAgICAgICAgICAgIDogaWRl
bnRpZmllcihpKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2Jq
ZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAppbmRleCBjYjg2
NTY0Li5hMjcxYzRlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5P
YmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaApAQCAt
NjIsMTAgKzYyLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBl
SW5mbyhPYmplY3RUeXBlLCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNN
YXJrQ2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7CisgICAgICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBT
dHJ1Y3R1cmVGbGFncykpOwogICAgICAgICB9CiAKICAgICAgcHJpdmF0ZToKKyAgICAgICAgCisg
ICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFBy
b3BlcnR5TmFtZXMgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CisKICAgICAgICAgLy8gSlNW
YWx1ZSBtZXRob2RzCiAgICAgICAgIHZpcnR1YWwgSlNWYWx1ZSB0b1ByaW1pdGl2ZShFeGVjU3Rh
dGUqLCBQcmVmZXJyZWRQcmltaXRpdmVUeXBlKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29s
IGdldFByaW1pdGl2ZU51bWJlcihFeGVjU3RhdGUqLCBkb3VibGUmIG51bWJlciwgSlNWYWx1ZSYp
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmggYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAppbmRleCBiOGNhMTdmLi5lYzNmYTQwIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuaApAQCAtNDEsMTEgKzQxLDE0IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRl
U3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QpKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7
CiAgICAgICAgIH0KIAogICAgICAgICBzdGF0aWMgdm9pZCBtYXJrU3RyaW5naWZpZXJzKE1hcmtT
dGFjayYsIFN0cmluZ2lmaWVyKik7CiAKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0
b3ImKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCBlOWRkZWRjLi4xZGJhYjk0IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0yMDcsMTAgKzIwNywxMiBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0
cnVjdHVyZShKU1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSkpOworICAg
ICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsKICAgICAgICAgfQogCiAgICAgcHJvdGVjdGVkOgor
ICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSAwOworCiAgICAg
ICAgIHZvaWQgYWRkQW5vbnltb3VzU2xvdHModW5zaWduZWQgY291bnQpOwogICAgICAgICB2b2lk
IHB1dEFub255bW91c1ZhbHVlKHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmpl
Y3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oCmluZGV4
IDg3N2UyZDcuLjI1NDI4NzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
dGF0aWNTY29wZU9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNT
Y29wZU9iamVjdC5oCkBAIC01Nyw3ICs1NywxMCBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICB2
aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQ
dXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAK
LSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNW
YWx1ZSBwcm90bykgeyByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9i
amVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE5lZWRzVGhpc0NvbnZlcnNp
b24gfCBPdmVycmlkZXNNYXJrQ2hpbGRyZW4gfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7
IH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUo
SlNWYWx1ZSBwcm90bykgeyByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZv
KE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7IH0KKworICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlTbG90IHwgTmVlZHNUaGlzQ29udmVyc2lvbiB8IE92ZXJyaWRlc01hcmtDaGlsZHJl
biB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBKU1ZhcmlhYmxlT2JqZWN0OjpTdHJ1Y3R1
cmVGbGFnczsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIEpTU3RhdGljU2NvcGVPYmplY3REYXRh
KiBkKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8SlNTdGF0aWNTY29wZU9iamVjdERhdGEqPihKU1Zh
cmlhYmxlT2JqZWN0OjpkKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1ZhcmlhYmxlT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmpl
Y3QuaAppbmRleCAzYWJkMGUzLi5kOGIxNDc5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVmFyaWFibGVPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VmFyaWFibGVPYmplY3QuaApAQCAtNjAsMTAgKzYwLDExIEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFs
dWUgcHJvdG90eXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVycmlkZXNHZXRQcm9wZXJ0
eU5hbWVzKSk7CisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBl
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncykpOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1
cmVGbGFnczsKICAgICAgICAgLy8gU3ViY2xhc3NlcyBvZiBKU1ZhcmlhYmxlT2JqZWN0IGNhbiBz
dWJjbGFzcyB0aGlzIHN0cnVjdCB0byBhZGQgZGF0YQogICAgICAgICAvLyB3aXRob3V0IGluY3Jl
YXNpbmcgdGhlaXIgb3duIHNpemUgKHNpbmNlIHRoZXJlJ3MgYSBoYXJkIGxpbWl0IG9uIHRoZQog
ICAgICAgICAvLyBzaXplIG9mIGEgSlNDZWxsKS4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTV3Jh
cHBlck9iamVjdC5oCmluZGV4IDJkMTZlMzAuLjE5MWZmM2IgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNXcmFwcGVyT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1dyYXBwZXJPYmplY3QuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1cmU+IGNyZWF0ZVN0cnVjdHVyZShK
U1ZhbHVlIHByb3RvdHlwZSkgCiAgICAgICAgIHsgCi0gICAgICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlKSk7CisgICAgICAgICAg
ICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBl
LCBTdHJ1Y3R1cmVGbGFncykpOwogICAgICAgICB9CiAKICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hdGhPYmplY3QuaAppbmRleCA0MDEwNDdmLi43ZjQ3NGI4IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hdGhPYmplY3QuaApAQCAtMzcsOCArMzcsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNW
YWx1ZSBwcm90b3R5cGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dldE93blBy
b3BlcnR5U2xvdCkpOworICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3Rv
dHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpKTsKICAgICAgICAgfQor
CisgICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU09iamVjdDo6U3RydWN0dXJl
RmxhZ3M7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL051bWJlckNvbnN0cnVjdG9yLmgKaW5kZXggZTNjNzU4YS4uY2YxOWI2ZiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaApAQCAtMzksMTEgKzM5LDE0IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4g
Y3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG8pIAogICAgICAgICB7IAotICAgICAgICAgICAg
cmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UpKTsgCisgICAg
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5
cGUsIFN0cnVjdHVyZUZsYWdzKSk7IAogICAgICAgICB9CiAKICAgICAgICAgZW51bSB7IE5hTlZh
bHVlLCBOZWdJbmZpbml0eSwgUG9zSW5maW5pdHksIE1heFZhbHVlLCBNaW5WYWx1ZSB9OwogCisg
ICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2Ug
fCBJbnRlcm5hbEZ1bmN0aW9uOjpTdHJ1Y3R1cmVGbGFnczsKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEm
KTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmgKaW5kZXggZjA2NDU4Yi4uODIyM2E5MCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5oCkBAIC0zMCwxNyArMzAsMTkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIGV4cGxpY2l0IE51bWJlck9iamVjdChOb25OdWxsUGFzc1Jl
ZlB0cjxTdHJ1Y3R1cmU+KTsKIAogICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIGluZm87
Ci0jaWYgVVNFKEpTVkFMVUUzMikKKwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHJ1Y3R1
cmU+IGNyZWF0ZVN0cnVjdHVyZShKU1ZhbHVlIHByb3RvdHlwZSkKICAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0
VHlwZSwgT3ZlcnJpZGVzTWFya0NoaWxkcmVuKSk7CisgICAgICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFn
cykpOwogICAgICAgICB9CisKKyAgICBwcm90ZWN0ZWQ6CisjaWYgVVNFKEpTVkFMVUUzMikKKyAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzTWFy
a0NoaWxkcmVuIHwgSlNXcmFwcGVyT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKICNlbHNlCi0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUg
cHJvdG90eXBlKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVh
dGUocHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlKSk7Ci0gICAgICAgIH0KKyAgICAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gSlNXcmFwcGVyT2JqZWN0OjpT
dHJ1Y3R1cmVGbGFnczsKICNlbmRpZgorCiAgICAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBj
b25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuICZpbmZvOyB9CiAKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA5MjgxZTczLi5m
OWNhOWNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVj
dG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBA
IC01OSw3ICs1OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFN0cnVjdHVyZT4gY3JlYXRlU3RydWN0dXJlKEpTVmFsdWUgcHJvdG90eXBlKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG90eXBlLCBUeXBl
SW5mbyhPYmplY3RUeXBlLCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJbXBsZW1lbnRz
SGFzSW5zdGFuY2UpKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90
b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7CiAgICAgICAgIH0K
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CkBAIC04Miw2ICs4Miw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGdldExlZnRDb250ZXh0KEV4ZWNT
dGF0ZSopIGNvbnN0OwogICAgICAgICBKU1ZhbHVlIGdldFJpZ2h0Q29udGV4dChFeGVjU3RhdGUq
KSBjb25zdDsKIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgSW1wbGVtZW50
c0hhc0luc3RhbmNlIHwgSW50ZXJuYWxGdW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CisKICAgICBw
cml2YXRlOgogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShD
b25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCmluZGV4IGIyODlhOWYu
LjMxMTdjODYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtNDksOSAr
NDksMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3Ry
dWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9i
amVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCkpOworICAgICAgICAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpKTsKICAgICAgICAgfQogCisgICAgcHJvdGVjdGVkOgorICAgICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0
eVNsb3QgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CisKICAgICBwcml2YXRlOgogICAgICAg
ICBib29sIG1hdGNoKEV4ZWNTdGF0ZSosIGNvbnN0IEFyZ0xpc3QmKTsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nT2JqZWN0LmgKaW5kZXggZWE4NzAwYi4uODRlMWFkMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ09iamVjdC5oCkBAIC00OCwxMCArNDgsMTEgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1
cmUoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZShwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc01hcmtDaGlsZHJlbiB8IE92ZXJyaWRlc0dldFBy
b3BlcnR5TmFtZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShwcm90
b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSk7CiAgICAgICAgIH0K
IAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzTWFya0NoaWxk
cmVuIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTV3JhcHBlck9iamVjdDo6U3RydWN0
dXJlRmxhZ3M7CiAgICAgICAgIFN0cmluZ09iamVjdChOb25OdWxsUGFzc1JlZlB0cjxTdHJ1Y3R1
cmU+LCBKU1N0cmluZyopOwogICB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cmluZ09iamVjdFRoYXRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLmgKaW5k
ZXggYWY3ZWE4YS4uNjllMTkzOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJpbmdPYmplY3RUaGF0TWFzcXVlcmFkZXNBc1VuZGVmaW5lZC5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0VGhhdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQuaApAQCAt
NDQsOSArNDQsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U3RydWN0dXJlPiBjcmVhdGVTdHJ1Y3R1cmUoSlNWYWx1ZSBwcm90bykgCiAgICAgICAgIHsg
Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUocHJvdG8sIFR5cGVJbmZvKE9i
amVjdFR5cGUsIE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE1hc3F1ZXJhZGVzQXNVbmRl
ZmluZWQgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKSk7IAorICAgICAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncykpOyAKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE1hc3F1ZXJhZGVzQXNV
bmRlZmluZWQgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgU3RyaW5nT2JqZWN0OjpTdHJ1
Y3R1cmVGbGFnczsKKwogICAgICAgICB2aXJ0dWFsIGJvb2wgdG9Cb29sZWFuKEV4ZWNTdGF0ZSop
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgfTs=
</data>

          </attachment>
      

    </bug>

</bugzilla>