<?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>118783</bug_id>
          
          <creation_ts>2013-07-17 01:09:11 -0700</creation_ts>
          <short_desc>Get rid of SVGPoint special case from the bindings generator</short_desc>
          <delta_ts>2013-07-17 03:26:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</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>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>haraken</cc>
    
    <cc>krit</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>909234</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-17 01:09:11 -0700</bug_when>
    <thetext>Get rid of SVGPoint special case from the bindings generator by adding a
new SVGPoint.h header that contains a typedef to FloatPoint.

Also use SVGPoint type in the implementation API for consistency with
the IDL.

Corresponding Blink patch:
https://src.chromium.org/viewvc/blink?revision=154164&amp;view=revision</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909241</commentid>
    <comment_count>1</comment_count>
      <attachid>206865</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-17 01:36:35 -0700</bug_when>
    <thetext>Created attachment 206865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909245</commentid>
    <comment_count>2</comment_count>
      <attachid>206865</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-07-17 01:41:56 -0700</bug_when>
    <thetext>Comment on attachment 206865
Patch

Looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909287</commentid>
    <comment_count>3</comment_count>
      <attachid>206865</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-17 03:26:36 -0700</bug_when>
    <thetext>Comment on attachment 206865
Patch

Clearing flags on attachment: 206865

Committed r152780: &lt;http://trac.webkit.org/changeset/152780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909288</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-17 03:26:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206865</attachid>
            <date>2013-07-17 01:36:35 -0700</date>
            <delta_ts>2013-07-17 03:26:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118783-20130717113633.patch</filename>
            <type>text/plain</type>
            <size>30842</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTkxYzM2YzIyYzY5NTk4
Y2I4NWZmNDU5ZmE4ODVlNTUzYzQzZjk3Ni4uMWM1MDVhZTY3YmZlMDgyNmU1YjU2NjlmMGQ0MTk1
ZDcwMGZlNGYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEzLTA3LTE3ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBHZXQg
cmlkIG9mIFNWR1BvaW50IHNwZWNpYWwgY2FzZSBmcm9tIHRoZSBiaW5kaW5ncyBnZW5lcmF0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODc4Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQg
b2YgU1ZHUG9pbnQgc3BlY2lhbCBjYXNlIGZyb20gdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBieSBh
ZGRpbmcgYQorICAgICAgICBuZXcgU1ZHUG9pbnQuaCBoZWFkZXIgdGhhdCBjb250YWlucyBhIHR5
cGVkZWYgdG8gRmxvYXRQb2ludC4KKworICAgICAgICBBbHNvIHVzZSBTVkdQb2ludCB0eXBlIGlu
IHRoZSBpbXBsZW1lbnRhdGlvbiBBUEkgZm9yIGNvbnNpc3RlbmN5IHdpdGgKKyAgICAgICAgdGhl
IElETC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKFNraXBJ
bmNsdWRlSGVhZGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iak11dGFibGVQb2ludCk6CisgICAg
ICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpJbW11dGFibGVQb2ludCk6CisgICAgICAgIChXZWJDb3Jl
OjpzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0
T2JqSW1tdXRhYmxlUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25NdXRhYmxlUG9pbnRGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbkltbXV0YWJsZVBvaW50RnVuY3Rpb24pOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uSW1tdXRhYmxlUG9pbnRGdW5jdGlv
bik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbToK
KyAgICAgICAgKC1bRE9NVGVzdE9iaiBtdXRhYmxlUG9pbnRdKToKKyAgICAgICAgKC1bRE9NVGVz
dE9iaiBpbW11dGFibGVQb2ludF0pOgorICAgICAgICAoLVtET01UZXN0T2JqIG11dGFibGVQb2lu
dEZ1bmN0aW9uXSk6CisgICAgICAgICgtW0RPTVRlc3RPYmogaW1tdXRhYmxlUG9pbnRGdW5jdGlv
bl0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVm
cy5tbToKKyAgICAgICAgKC1bRE9NVGVzdFR5cGVkZWZzIGltbXV0YWJsZVBvaW50RnVuY3Rpb25d
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6YnVpbGRMb2NhbFRvQm9yZGVyQm94VHJhbnNmb3JtKToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdUZXh0UXVlcnk6OnN0YXJ0UG9zaXRpb25PZkNoYXJhY3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0UXVlcnk6OmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVGV4dFF1ZXJ5OjpjaGFyYWN0ZXJOdW1iZXJBdFBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRo
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRB
dExlbmd0aCk6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICogc3Zn
L1NWR1BhdGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlcjo6Y3VycmVudFBvaW50KToKKyAgICAgICAgKiBzdmcv
U1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoVXRp
bGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhC
eXRlU3RyZWFtKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFV0aWxpdGllcy5oOgorICAgICAgICAq
IHN2Zy9TVkdQb2ludC5oOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BvaW50TGlzdDo6dmFsdWVBc1N0cmluZyk6CisgICAgICAg
ICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR1BvaW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRT
dGFydFBvc2l0aW9uT2ZDaGFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0RW5kUG9zaXRpb25PZkNoYXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENv
bnRlbnRFbGVtZW50OjpnZXRDaGFyTnVtQXRQb3NpdGlvbik6CisgICAgICAgICogc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSk6CisgICAgICAgICogc3ZnL1NW
R1pvb21FdmVudC5oOgorCiAyMDEzLTA3LTE2ICBLcnp5c3p0b2YgQ3plY2ggIDxrLmN6ZWNoQHlt
YWlsLmNvbT4KIAogICAgICAgICBbQVRLXSBBZGRzIHN1cHBvcnQgZm9yIGFyaWEtaGFzcG9wdXAg
cHJvcGVydHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3IucG0KaW5kZXggNTViN2VhZDE5OTc4MjYwNjRmN2Y4NzA3Y2VkNTgwODBmNjI0Zjg1Ni4u
NjFkNzMwNzIyMmY3MWJjZWI5OGEzOTk5ZWEzODg2MGVjZmU5ZTkwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtODksNyArODks
NyBAQCBteSAlc3ZnVHlwZU5lZWRpbmdUZWFyT2ZmID0gKAogICAgICJTVkdOdW1iZXIiID0+ICJT
VkdQcm9wZXJ0eVRlYXJPZmY8ZmxvYXQ+IiwKICAgICAiU1ZHTnVtYmVyTGlzdCIgPT4gIlNWR0xp
c3RQcm9wZXJ0eVRlYXJPZmY8U1ZHTnVtYmVyTGlzdD4iLAogICAgICJTVkdQYXRoU2VnTGlzdCIg
PT4gIlNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmIiwKLSAgICAiU1ZHUG9pbnQiID0+ICJT
VkdQcm9wZXJ0eVRlYXJPZmY8RmxvYXRQb2ludD4iLAorICAgICJTVkdQb2ludCIgPT4gIlNWR1By
b3BlcnR5VGVhck9mZjxTVkdQb2ludD4iLAogICAgICJTVkdQb2ludExpc3QiID0+ICJTVkdMaXN0
UHJvcGVydHlUZWFyT2ZmPFNWR1BvaW50TGlzdD4iLAogICAgICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvIiA9PiAiU1ZHUHJvcGVydHlUZWFyT2ZmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IiwKICAg
ICAiU1ZHUmVjdCIgPT4gIlNWR1Byb3BlcnR5VGVhck9mZjxGbG9hdFJlY3Q+IiwKQEAgLTMzNSw4
ICszMzUsOCBAQCBzdWIgU2tpcEluY2x1ZGVIZWFkZXIKIAogICAgIHJldHVybiAxIGlmICRvYmpl
Y3QtPklzUHJpbWl0aXZlVHlwZSgkdHlwZSk7CiAKLSAgICAjIFNwZWNpYWwgY2FzZTogU1ZHUG9p
bnQuaCAvIFNWR051bWJlci5oIGRvIG5vdCBleGlzdC4KLSAgICByZXR1cm4gMSBpZiAkdHlwZSBl
cSAiU1ZHUG9pbnQiIG9yICR0eXBlIGVxICJTVkdOdW1iZXIiOworICAgICMgU3BlY2lhbCBjYXNl
OiBTVkdOdW1iZXIuaCBkb2VzIG5vdCBleGlzdC4KKyAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAi
U1ZHTnVtYmVyIjsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBhMzY4NTc3YWM3
OTdiNGQyYzlmNTgxZjg2NmIzYWQ4YmYxMjFjYmI5Li5kYzg1OGExZjJhNjVjZjNhZTI4MTYwM2E0
NDQxNDAwZDZkZTg2ZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUg
IkpTYm9vbC5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgor
I2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU1ZHU3RhdGljUHJvcGVydHlUZWFyT2Zm
LmgiCiAjaW5jbHVkZSAiU2NyaXB0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5oIgpAQCAtOTQyLDcgKzk0Myw3IEBAIEpTVmFsdWUganNUZXN0T2JqTXV0YWJs
ZVBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgUHJvcGVydHlOYW1lKQog
ICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChz
bG90QmFzZSkpOwogICAgIFVOVVNFRF9QQVJBTShleGVjKTsKICAgICBUZXN0T2JqKiBpbXBsID0g
c3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7Ci0gICAgSlNWYWx1ZSBy
ZXN1bHQgPSB0b0pTKGV4ZWMsIGNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0
cihTVkdTdGF0aWNQcm9wZXJ0eVRlYXJPZmY8VGVzdE9iaiwgRmxvYXRQb2ludD46OmNyZWF0ZShp
bXBsLCBpbXBsLT5tdXRhYmxlUG9pbnQoKSwgJlRlc3RPYmo6OnVwZGF0ZU11dGFibGVQb2ludCkp
KTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIFdURjo6Z2V0UHRyKFNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZjxUZXN0T2JqLCBTVkdQ
b2ludD46OmNyZWF0ZShpbXBsLCBpbXBsLT5tdXRhYmxlUG9pbnQoKSwgJlRlc3RPYmo6OnVwZGF0
ZU11dGFibGVQb2ludCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC05NTIsNyArOTUz
LDcgQEAgSlNWYWx1ZSBqc1Rlc3RPYmpJbW11dGFibGVQb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdWUgc2xvdEJhc2UsIFByb3BlcnR5TmFtZSkKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMg
PSBqc0Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKICAgICBVTlVTRURfUEFS
QU0oZXhlYyk7CiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0
ZWRUaGlzLT5pbXBsKCkpOwotICAgIEpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCBjYXN0ZWRU
aGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoU1ZHUHJvcGVydHlUZWFyT2ZmPEZsb2F0
UG9pbnQ+OjpjcmVhdGUoaW1wbC0+aW1tdXRhYmxlUG9pbnQoKSkpKTsKKyAgICBKU1ZhbHVlIHJl
c3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRy
KFNWR1Byb3BlcnR5VGVhck9mZjxTVkdQb2ludD46OmNyZWF0ZShpbXBsLT5pbW11dGFibGVQb2lu
dCgpKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE2NTIsNyArMTY1Myw3IEBAIHZv
aWQgc2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRo
aXNPYmplY3QsIEpTVmFsdWUgdmFsCiAgICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogICAgIEpTVGVz
dE9iaiogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RPYmoqPih0aGlzT2JqZWN0KTsKICAgICBU
ZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7
Ci0gICAgU1ZHUHJvcGVydHlUZWFyT2ZmPEZsb2F0UG9pbnQ+KiBuYXRpdmVWYWx1ZSh0b1NWR1Bv
aW50KHZhbHVlKSk7CisgICAgU1ZHUHJvcGVydHlUZWFyT2ZmPFNWR1BvaW50PiogbmF0aXZlVmFs
dWUodG9TVkdQb2ludCh2YWx1ZSkpOwogICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIGltcGwtPnNldE11dGFibGVQb2ludChuYXRpdmVWYWx1ZSk7CkBA
IC0xNjY0LDcgKzE2NjUsNyBAQCB2b2lkIHNldEpTVGVzdE9iakltbXV0YWJsZVBvaW50KEV4ZWNT
dGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdgogICAgIFVOVVNFRF9Q
QVJBTShleGVjKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNUZXN0T2Jq
Kj4odGhpc09iamVjdCk7CiAgICAgVGVzdE9iaiogaW1wbCA9IHN0YXRpY19jYXN0PFRlc3RPYmoq
PihjYXN0ZWRUaGlzLT5pbXBsKCkpOwotICAgIFNWR1Byb3BlcnR5VGVhck9mZjxGbG9hdFBvaW50
PiogbmF0aXZlVmFsdWUodG9TVkdQb2ludCh2YWx1ZSkpOworICAgIFNWR1Byb3BlcnR5VGVhck9m
ZjxTVkdQb2ludD4qIG5hdGl2ZVZhbHVlKHRvU1ZHUG9pbnQodmFsdWUpKTsKICAgICBpZiAoZXhl
Yy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpbXBsLT5zZXRJbW11dGFi
bGVQb2ludChuYXRpdmVWYWx1ZSk7CkBAIC0yOTg5LDcgKzI5OTAsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTXV0YWJsZVBvaW50RnVu
Y3Rpb24oRXhlYwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgJkpT
VGVzdE9iajo6c19pbmZvKTsKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVzdE9i
aio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAKLSAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9K
UyhleGVjLCBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoU1ZHUHJvcGVy
dHlUZWFyT2ZmPEZsb2F0UG9pbnQ+OjpjcmVhdGUoaW1wbC0+bXV0YWJsZVBvaW50RnVuY3Rpb24o
KSkpKTsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9KUyhleGVjLCBjYXN0ZWRUaGlzLT5n
bG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoU1ZHUHJvcGVydHlUZWFyT2ZmPFNWR1BvaW50Pjo6
Y3JlYXRlKGltcGwtPm11dGFibGVQb2ludEZ1bmN0aW9uKCkpKSk7CiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShyZXN1bHQpOwogfQogCkBAIC0zMDAyLDcgKzMwMDMsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uSW1tdXRhYmxlUG9p
bnRGdW5jdGlvbihFeAogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywg
JkpTVGVzdE9iajo6c19pbmZvKTsKICAgICBUZXN0T2JqKiBpbXBsID0gc3RhdGljX2Nhc3Q8VGVz
dE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CiAKLSAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0g
dG9KUyhleGVjLCBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoU1ZHUHJv
cGVydHlUZWFyT2ZmPEZsb2F0UG9pbnQ+OjpjcmVhdGUoaW1wbC0+aW1tdXRhYmxlUG9pbnRGdW5j
dGlvbigpKSkpOworICAgIEpTQzo6SlNWYWx1ZSByZXN1bHQgPSB0b0pTKGV4ZWMsIGNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihTVkdQcm9wZXJ0eVRlYXJPZmY8U1ZHUG9p
bnQ+OjpjcmVhdGUoaW1wbC0+aW1tdXRhYmxlUG9pbnRGdW5jdGlvbigpKSkpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKaW5kZXgg
NjBlMjYyNDA1NTUyMjVmOTBhNjEzODdmNGZiMjQ3MTlhNzJiOTY3Ni4uYWEwMzlhMzUzNmE3N2Rj
YTg1ZDA1ZGQzN2MxYjYxZGJmMWIwMzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiSlNUZXN0Q2FsbGJhY2suaCIKICNpbmNsdWRlICJKU1Rlc3RT
dWJPYmouaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNs
dWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXN0VHlwZWRlZnMuaCIK
ICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkBAIC01MDAsNyArNTAxLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uSW1tdXRh
YmxlUG9pbnRGdW5jdGkKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMs
ICZKU1Rlc3RUeXBlZGVmczo6c19pbmZvKTsKICAgICBUZXN0VHlwZWRlZnMqIGltcGwgPSBzdGF0
aWNfY2FzdDxUZXN0VHlwZWRlZnMqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwogCi0gICAgSlNDOjpK
U1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rjo6Z2V0UHRyKFNWR1Byb3BlcnR5VGVhck9mZjxGbG9hdFBvaW50Pjo6Y3JlYXRlKGltcGwtPmlt
bXV0YWJsZVBvaW50RnVuY3Rpb24oKSkpKTsKKyAgICBKU0M6OkpTVmFsdWUgcmVzdWx0ID0gdG9K
UyhleGVjLCBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoU1ZHUHJvcGVy
dHlUZWFyT2ZmPFNWR1BvaW50Pjo6Y3JlYXRlKGltcGwtPmltbXV0YWJsZVBvaW50RnVuY3Rpb24o
KSkpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmou
bW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2Jq
Lm1tCmluZGV4IDlhYTJlNDkzMWE2OTE3MTMxYWRjNGQ5MGIxZTc0MmIxZDMzNWZjOTQuLmMyOWNm
MmFiYzY5OTNjZjc1YzkwODkyNGEyMzNmNWU3ZjNlNmU2MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQpAQCAt
NTgsNiArNTgsNyBAQAogI2ltcG9ydCAiTm9kZS5oIgogI2ltcG9ydCAiT2JqQ0V2ZW50TGlzdGVu
ZXIuaCIKICNpbXBvcnQgIlNWR0RvY3VtZW50LmgiCisjaW1wb3J0ICJTVkdQb2ludC5oIgogI2lt
cG9ydCAiU1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgiCiAjaW1wb3J0ICJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCIKICNpbXBvcnQgIlRlc3RFbnVtVHlwZS5oIgpAQCAtNjczLDcgKzY3NCw3IEBA
CiAtIChET01TVkdQb2ludCAqKW11dGFibGVQb2ludAogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4ga2l0KFdURjo6Z2V0UHRyKFdlYkNvcmU6
OlNWR1N0YXRpY1Byb3BlcnR5VGVhck9mZjxXZWJDb3JlOjpUZXN0T2JqLCBXZWJDb3JlOjpGbG9h
dFBvaW50Pjo6Y3JlYXRlKElNUEwsIElNUEwtPm11dGFibGVQb2ludCgpLCAmV2ViQ29yZTo6VGVz
dE9iajo6dXBkYXRlTXV0YWJsZVBvaW50KSkpOworICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIo
V2ViQ29yZTo6U1ZHU3RhdGljUHJvcGVydHlUZWFyT2ZmPFdlYkNvcmU6OlRlc3RPYmosIFdlYkNv
cmU6OlNWR1BvaW50Pjo6Y3JlYXRlKElNUEwsIElNUEwtPm11dGFibGVQb2ludCgpLCAmV2ViQ29y
ZTo6VGVzdE9iajo6dXBkYXRlTXV0YWJsZVBvaW50KSkpOwogfQogCiAtICh2b2lkKXNldE11dGFi
bGVQb2ludDooRE9NU1ZHUG9pbnQgKiluZXdNdXRhYmxlUG9pbnQKQEAgLTY4Nyw3ICs2ODgsNyBA
QAogLSAoRE9NU1ZHUG9pbnQgKilpbW11dGFibGVQb2ludAogewogICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4ga2l0KFdURjo6Z2V0UHRyKFdlYkNv
cmU6OlNWR1Byb3BlcnR5VGVhck9mZjxXZWJDb3JlOjpGbG9hdFBvaW50Pjo6Y3JlYXRlKElNUEwt
PmltbXV0YWJsZVBvaW50KCkpKSk7CisgICAgcmV0dXJuIGtpdChXVEY6OmdldFB0cihXZWJDb3Jl
OjpTVkdQcm9wZXJ0eVRlYXJPZmY8V2ViQ29yZTo6U1ZHUG9pbnQ+OjpjcmVhdGUoSU1QTC0+aW1t
dXRhYmxlUG9pbnQoKSkpKTsKIH0KIAogLSAodm9pZClzZXRJbW11dGFibGVQb2ludDooRE9NU1ZH
UG9pbnQgKiluZXdJbW11dGFibGVQb2ludApAQCAtMTEyNiwxMyArMTEyNywxMyBAQAogLSAoRE9N
U1ZHUG9pbnQgKiltdXRhYmxlUG9pbnRGdW5jdGlvbgogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4ga2l0KFdURjo6Z2V0UHRyKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VGVhck9mZjxXZWJDb3JlOjpGbG9hdFBvaW50Pjo6Y3JlYXRlKElNUEwtPm11
dGFibGVQb2ludEZ1bmN0aW9uKCkpKSk7CisgICAgcmV0dXJuIGtpdChXVEY6OmdldFB0cihXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRlYXJPZmY8V2ViQ29yZTo6U1ZHUG9pbnQ+OjpjcmVhdGUoSU1QTC0+
bXV0YWJsZVBvaW50RnVuY3Rpb24oKSkpKTsKIH0KIAogLSAoRE9NU1ZHUG9pbnQgKilpbW11dGFi
bGVQb2ludEZ1bmN0aW9uCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwotICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIoV2ViQ29yZTo6U1ZHUHJvcGVydHlUZWFy
T2ZmPFdlYkNvcmU6OkZsb2F0UG9pbnQ+OjpjcmVhdGUoSU1QTC0+aW1tdXRhYmxlUG9pbnRGdW5j
dGlvbigpKSkpOworICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUZWFyT2ZmPFdlYkNvcmU6OlNWR1BvaW50Pjo6Y3JlYXRlKElNUEwtPmltbXV0YWJsZVBvaW50
RnVuY3Rpb24oKSkpKTsKIH0KIAogLSAodm9pZClvcmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RUeXBlZGVmcy5t
bQppbmRleCBiZjU3ZDU0MjZhNTVjMWZmYjJhMzVmZDUyNzU0ZjZhODgyZWNkOWRkLi5iYjA0NDc5
OTEyZWY5NGZiYmY1NTRjYjRjNTNkNDE5NDM1ZjNlM2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0VHlwZWRlZnMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdFR5cGVkZWZz
Lm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0ICJFeGNlcHRpb25IYW5kbGVycy5oIgogI2lt
cG9ydCAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCiAjaW1wb3J0ICJLVVJMLmgiCisjaW1wb3J0
ICJTVkdQb2ludC5oIgogI2ltcG9ydCAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW1wb3J0
ICJUZXN0VHlwZWRlZnMuaCIKICNpbXBvcnQgIlRocmVhZENoZWNrLmgiCkBAIC0xNjEsNyArMTYy
LDcgQEAKIC0gKERPTVNWR1BvaW50ICopaW1tdXRhYmxlUG9pbnRGdW5jdGlvbgogewogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4ga2l0KFdURjo6
Z2V0UHRyKFdlYkNvcmU6OlNWR1Byb3BlcnR5VGVhck9mZjxXZWJDb3JlOjpGbG9hdFBvaW50Pjo6
Y3JlYXRlKElNUEwtPmltbXV0YWJsZVBvaW50RnVuY3Rpb24oKSkpKTsKKyAgICByZXR1cm4ga2l0
KFdURjo6Z2V0UHRyKFdlYkNvcmU6OlNWR1Byb3BlcnR5VGVhck9mZjxXZWJDb3JlOjpTVkdQb2lu
dD46OmNyZWF0ZShJTVBMLT5pbW11dGFibGVQb2ludEZ1bmN0aW9uKCkpKSk7CiB9CiAKIC0gKHZv
aWQpbWV0aG9kV2l0aEV4Y2VwdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggZjBmZWI0ZTg5MDY2YTBkYTRjNjQ5NmNlYjE5NGJhOWU3
ODhjYjBmMS4uYzNkMTU5NzM0YjY4NmQxMDY3NGZlZTk5ZDUxZTNhMDQ5NjNkNTg3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0zNjks
MTAgKzM2OSwxMCBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OmJ1aWxkTG9jYWxUb0JvcmRlckJveFRy
YW5zZm9ybSgpCiAgICAgU1ZHU1ZHRWxlbWVudCogc3ZnID0gdG9TVkdTVkdFbGVtZW50KG5vZGUo
KSk7CiAgICAgQVNTRVJUKHN2Zyk7CiAgICAgZmxvYXQgc2NhbGUgPSBzdHlsZSgpLT5lZmZlY3Rp
dmVab29tKCk7Ci0gICAgRmxvYXRQb2ludCB0cmFuc2xhdGUgPSBzdmctPmN1cnJlbnRUcmFuc2xh
dGUoKTsKKyAgICBTVkdQb2ludCB0cmFuc2xhdGUgPSBzdmctPmN1cnJlbnRUcmFuc2xhdGUoKTsK
ICAgICBMYXlvdXRTaXplIGJvcmRlckFuZFBhZGRpbmcoYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xl
ZnQoKSwgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkpOwogICAgIG1fbG9jYWxUb0JvcmRlckJv
eFRyYW5zZm9ybSA9IHN2Zy0+dmlld0JveFRvVmlld1RyYW5zZm9ybShjb250ZW50V2lkdGgoKSAv
IHNjYWxlLCBjb250ZW50SGVpZ2h0KCkgLyBzY2FsZSk7Ci0gICAgaWYgKGJvcmRlckFuZFBhZGRp
bmcuaXNFbXB0eSgpICYmIHNjYWxlID09IDEgJiYgdHJhbnNsYXRlID09IEZsb2F0UG9pbnQ6Onpl
cm8oKSkKKyAgICBpZiAoYm9yZGVyQW5kUGFkZGluZy5pc0VtcHR5KCkgJiYgc2NhbGUgPT0gMSAm
JiB0cmFuc2xhdGUgPT0gU1ZHUG9pbnQ6Onplcm8oKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1f
bG9jYWxUb0JvcmRlckJveFRyYW5zZm9ybSA9IEFmZmluZVRyYW5zZm9ybShzY2FsZSwgMCwgMCwg
c2NhbGUsIGJvcmRlckFuZFBhZGRpbmcud2lkdGgoKSArIHRyYW5zbGF0ZS54KCksIGJvcmRlckFu
ZFBhZGRpbmcuaGVpZ2h0KCkgKyB0cmFuc2xhdGUueSgpKSAqIG1fbG9jYWxUb0JvcmRlckJveFRy
YW5zZm9ybTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dFF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFF1ZXJ5
LmNwcAppbmRleCA3ODE4OTI4OWYyNjRlZWM5NzQ1YmFhNjJiNTE5ZGU1YWI0ZmVjZjdkLi5iY2M4
ZDg3YmE4ZjhiNWJjOTkwZWJlYjNiNjRkOTNjNGQ0Nzg5MjczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCkBAIC0zNTIsMTAgKzM1MiwxMCBAQCBi
b29sIFNWR1RleHRRdWVyeTo6c3RhcnRQb3NpdGlvbk9mQ2hhcmFjdGVyQ2FsbGJhY2soRGF0YSog
cXVlcnlEYXRhLCBjb25zdCBTVkdUZQogICAgIHJldHVybiB0cnVlOwogfQogCi1GbG9hdFBvaW50
IFNWR1RleHRRdWVyeTo6c3RhcnRQb3NpdGlvbk9mQ2hhcmFjdGVyKHVuc2lnbmVkIHBvc2l0aW9u
KSBjb25zdAorU1ZHUG9pbnQgU1ZHVGV4dFF1ZXJ5OjpzdGFydFBvc2l0aW9uT2ZDaGFyYWN0ZXIo
dW5zaWduZWQgcG9zaXRpb24pIGNvbnN0CiB7CiAgICAgaWYgKG1fdGV4dEJveGVzLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQoKTsKKyAgICAgICAgcmV0dXJuIFNWR1BvaW50
KCk7CiAKICAgICBTdGFydFBvc2l0aW9uT2ZDaGFyYWN0ZXJEYXRhIGRhdGEocG9zaXRpb24pOwog
ICAgIGV4ZWN1dGVRdWVyeSgmZGF0YSwgJlNWR1RleHRRdWVyeTo6c3RhcnRQb3NpdGlvbk9mQ2hh
cmFjdGVyQ2FsbGJhY2spOwpAQCAtMzk5LDEwICszOTksMTAgQEAgYm9vbCBTVkdUZXh0UXVlcnk6
OmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXJDYWxsYmFjayhEYXRhKiBxdWVyeURhdGEsIGNvbnN0IFNW
R1RleHQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotRmxvYXRQb2ludCBTVkdUZXh0UXVlcnk6OmVu
ZFBvc2l0aW9uT2ZDaGFyYWN0ZXIodW5zaWduZWQgcG9zaXRpb24pIGNvbnN0CitTVkdQb2ludCBT
VkdUZXh0UXVlcnk6OmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIodW5zaWduZWQgcG9zaXRpb24pIGNv
bnN0CiB7CiAgICAgaWYgKG1fdGV4dEJveGVzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIEZs
b2F0UG9pbnQoKTsKKyAgICAgICAgcmV0dXJuIFNWR1BvaW50KCk7CiAKICAgICBFbmRQb3NpdGlv
bk9mQ2hhcmFjdGVyRGF0YSBkYXRhKHBvc2l0aW9uKTsKICAgICBleGVjdXRlUXVlcnkoJmRhdGEs
ICZTVkdUZXh0UXVlcnk6OmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXJDYWxsYmFjayk7CkBAIC01NDMs
NyArNTQzLDcgQEAgYm9vbCBTVkdUZXh0UXVlcnk6OmNoYXJhY3Rlck51bWJlckF0UG9zaXRpb25D
YWxsYmFjayhEYXRhKiBxdWVyeURhdGEsIGNvbnN0IFNWR1QKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLWludCBTVkdUZXh0UXVlcnk6OmNoYXJhY3Rlck51bWJlckF0UG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYgcG9zaXRpb24pIGNvbnN0CitpbnQgU1ZHVGV4dFF1ZXJ5OjpjaGFyYWN0ZXJOdW1i
ZXJBdFBvc2l0aW9uKGNvbnN0IFNWR1BvaW50JiBwb3NpdGlvbikgY29uc3QKIHsKICAgICBpZiAo
bV90ZXh0Qm94ZXMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gLTE7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuaAppbmRleCAzMzFkZDk0NWM2ZjliZTMyY2Q3
YTk0MDFmNzIyMTc1ZmM5NGRkYmZkLi5iZjYwYTZkYTZmNWQxZmZiNGEyYzY5MzhhMDNmZTBlZTNm
YTNjZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRR
dWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmgK
QEAgLTIyLDYgKzIyLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRSZWN0
LmgiCisjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdUZXh0RnJhZ21lbnQuaCIK
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM4LDExICszOSwxMSBAQCBwdWJsaWM6CiAg
ICAgdW5zaWduZWQgbnVtYmVyT2ZDaGFyYWN0ZXJzKCkgY29uc3Q7CiAgICAgZmxvYXQgdGV4dExl
bmd0aCgpIGNvbnN0OwogICAgIGZsb2F0IHN1YlN0cmluZ0xlbmd0aCh1bnNpZ25lZCBzdGFydFBv
c2l0aW9uLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0OwotICAgIEZsb2F0UG9pbnQgc3RhcnRQb3Np
dGlvbk9mQ2hhcmFjdGVyKHVuc2lnbmVkIHBvc2l0aW9uKSBjb25zdDsKLSAgICBGbG9hdFBvaW50
IGVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIodW5zaWduZWQgcG9zaXRpb24pIGNvbnN0OworICAgIFNW
R1BvaW50IHN0YXJ0UG9zaXRpb25PZkNoYXJhY3Rlcih1bnNpZ25lZCBwb3NpdGlvbikgY29uc3Q7
CisgICAgU1ZHUG9pbnQgZW5kUG9zaXRpb25PZkNoYXJhY3Rlcih1bnNpZ25lZCBwb3NpdGlvbikg
Y29uc3Q7CiAgICAgZmxvYXQgcm90YXRpb25PZkNoYXJhY3Rlcih1bnNpZ25lZCBwb3NpdGlvbikg
Y29uc3Q7CiAgICAgRmxvYXRSZWN0IGV4dGVudE9mQ2hhcmFjdGVyKHVuc2lnbmVkIHBvc2l0aW9u
KSBjb25zdDsKLSAgICBpbnQgY2hhcmFjdGVyTnVtYmVyQXRQb3NpdGlvbihjb25zdCBGbG9hdFBv
aW50JikgY29uc3Q7CisgICAgaW50IGNoYXJhY3Rlck51bWJlckF0UG9zaXRpb24oY29uc3QgU1ZH
UG9pbnQmKSBjb25zdDsKIAogICAgIC8vIFB1YmxpYyBoZWxwZXIgc3RydWN0LiBQcml2YXRlIGNs
YXNzZXMgaW4gU1ZHVGV4dFF1ZXJ5IGluaGVyaXQgZnJvbSBpdC4KICAgICBzdHJ1Y3QgRGF0YTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IDZiMWY0NzcxNDgyNzM4NDUw
NWVlYmIwY2RhZjgwZGQxZmY5Mzg5ODEuLjMzMjRkMGI1ZGI4NGE2YTU3YWNjZTk3NWYyZDEyZGZk
ZjY3YzRhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApAQCAtMTA0LDkg
KzEwNCw5IEBAIGZsb2F0IFNWR1BhdGhFbGVtZW50OjpnZXRUb3RhbExlbmd0aCgpCiAgICAgcmV0
dXJuIHRvdGFsTGVuZ3RoOwogfQogCi1GbG9hdFBvaW50IFNWR1BhdGhFbGVtZW50OjpnZXRQb2lu
dEF0TGVuZ3RoKGZsb2F0IGxlbmd0aCkKK1NWR1BvaW50IFNWR1BhdGhFbGVtZW50OjpnZXRQb2lu
dEF0TGVuZ3RoKGZsb2F0IGxlbmd0aCkKIHsKLSAgICBGbG9hdFBvaW50IHBvaW50OworICAgIFNW
R1BvaW50IHBvaW50OwogICAgIGdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBh
dGhCeXRlU3RyZWFtKCksIGxlbmd0aCwgcG9pbnQpOwogICAgIHJldHVybiBwb2ludDsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKaW5kZXggMTQ0Yjc1MGE2ZWMxYzI1NWNkZGU3Y2My
YjNmMzYyMzUwNDg3OGU1YS4uNGQyNmRhMGQ3MzY5YjYyM2RiNjU4Y2FmMTgxMjU5OGViMjA0Y2Q1
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1BhdGhFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAgICAgCiAgICAgZmxvYXQgZ2V0VG90YWxMZW5n
dGgoKTsKLSAgICBGbG9hdFBvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOwor
ICAgIFNWR1BvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOwogICAgIHVuc2ln
bmVkIGdldFBhdGhTZWdBdExlbmd0aChmbG9hdCBkaXN0YW5jZSk7CiAKICAgICBQYXNzUmVmUHRy
PFNWR1BhdGhTZWdDbG9zZVBhdGg+IGNyZWF0ZVNWR1BhdGhTZWdDbG9zZVBhdGgoU1ZHUGF0aFNl
Z1JvbGUgcm9sZSA9IFBhdGhTZWdVbmRlZmluZWRSb2xlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmNwcAppbmRleCA4ZmVkODI2ZjIx
Mzk0ZTgwMDBlMjJiZjkxNmU3YmE2ZTUyMzA4ZWFlLi5iNWY1M2Y5MDk5ZDdhNTdkMTViZTM0Yzg2
YmE4MjU3YzRmNjRkMjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFRy
YXZlcnNhbFN0YXRlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhU
cmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuY3BwCkBAIC04OSw3ICs4OSw3IEBAIGZsb2F0IFNWR1BhdGhU
cmF2ZXJzYWxTdGF0ZUJ1aWxkZXI6OnRvdGFsTGVuZ3RoKCkKICAgICByZXR1cm4gbV90cmF2ZXJz
YWxTdGF0ZS0+bV90b3RhbExlbmd0aDsKIH0KIAotRmxvYXRQb2ludCBTVkdQYXRoVHJhdmVyc2Fs
U3RhdGVCdWlsZGVyOjpjdXJyZW50UG9pbnQoKQorU1ZHUG9pbnQgU1ZHUGF0aFRyYXZlcnNhbFN0
YXRlQnVpbGRlcjo6Y3VycmVudFBvaW50KCkKIHsKICAgICBBU1NFUlQobV90cmF2ZXJzYWxTdGF0
ZSk7CiAgICAgcmV0dXJuIG1fdHJhdmVyc2FsU3RhdGUtPm1fY3VycmVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlci5oCmluZGV4IDE0OTAw
NjBjYzUyMmNmNWUzODkxOTBlY2RlOTk4ZTA2YTdkM2NiMDMuLmQ5Y2FjNTA5NjVhZWY4MWIzZmU3
ZDJjYTc4ZTY3Yzk3MjM0ZTA3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIuaApAQCAtMjIsOCArMjIsOCBAQAogI2RlZmluZSBTVkdQ
YXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
RmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgorI2luY2x1ZGUgIlNW
R1BvaW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzUsNyArMzUsNyBAQCBwdWJs
aWM6CiAKICAgICB1bnNpZ25lZCBwYXRoU2VnbWVudEluZGV4KCk7CiAgICAgZmxvYXQgdG90YWxM
ZW5ndGgoKTsKLSAgICBGbG9hdFBvaW50IGN1cnJlbnRQb2ludCgpOworICAgIFNWR1BvaW50IGN1
cnJlbnRQb2ludCgpOwogCiAgICAgdm9pZCBzZXRDdXJyZW50VHJhdmVyc2FsU3RhdGUoUGF0aFRy
YXZlcnNhbFN0YXRlKiB0cmF2ZXJzYWxTdGF0ZSkgeyBtX3RyYXZlcnNhbFN0YXRlID0gdHJhdmVy
c2FsU3RhdGU7IH0KICAgICB2b2lkIHNldERlc2lyZWRMZW5ndGgoZmxvYXQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCmluZGV4IDljYWY2YTQwNjVlYjhkYmRlYTM1ZTU3
NzgzZDBhM2UzNzJiMmZiYTQuLmFkZjQxNmVkMTMyYTM0NWRmNDBlNDhiMDRlNzVlZTQ1ZWZlMjVk
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAKQEAgLTMxNSw3ICsz
MTUsNyBAQCBib29sIGdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0
ZVN0cmVhbSogc3RyZWFtLCBmbG9hdCYgdG90YWxMZQogICAgIHJldHVybiBvazsKIH0KIAotYm9v
bCBnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSog
c3RyZWFtLCBmbG9hdCBsZW5ndGgsIEZsb2F0UG9pbnQmIHBvaW50KQorYm9vbCBnZXRQb2ludEF0
TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShTVkdQYXRoQnl0ZVN0cmVhbSogc3RyZWFtLCBmbG9h
dCBsZW5ndGgsIFNWR1BvaW50JiBwb2ludCkKIHsKICAgICBBU1NFUlQoc3RyZWFtKTsKICAgICBp
ZiAoc3RyZWFtLT5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aFV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuaApp
bmRleCA2Zjg4MWIxOTNmZGMzZmQ5NjM0YTlhNzJhOTliZTMzMTk2N2I5YmQ0Li5lMmU2NjdjNDdi
MzJiMGVmMDkzYzE1NTVlNTYwMDM5ZTlhZjQ4N2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
VXRpbGl0aWVzLmgKQEAgLTIyLDYgKzIyLDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUGF0aENvbnN1bWVyLmgiCisjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU0LDcg
KzU1LDcgQEAgYm9vbCBhZGRUb1NWR1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtKiwg
U1ZHUGF0aEJ5dGVTdHJlYW0qLCB1bnNpZ25lZCByZXAKIAogYm9vbCBnZXRTVkdQYXRoU2VnQXRM
ZW5ndGhGcm9tU1ZHUGF0aEJ5dGVTdHJlYW0oU1ZHUGF0aEJ5dGVTdHJlYW0qLCBmbG9hdCBsZW5n
dGgsIHVuc2lnbmVkJiBwYXRoU2VnKTsKIGJvb2wgZ2V0VG90YWxMZW5ndGhPZlNWR1BhdGhCeXRl
U3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtKiwgZmxvYXQmIHRvdGFsTGVuZ3RoKTsKLWJvb2wgZ2V0
UG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0oU1ZHUGF0aEJ5dGVTdHJlYW0qLCBmbG9h
dCBsZW5ndGgsIEZsb2F0UG9pbnQmKTsKK2Jvb2wgZ2V0UG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5
dGVTdHJlYW0oU1ZHUGF0aEJ5dGVTdHJlYW0qLCBmbG9hdCBsZW5ndGgsIFNWR1BvaW50Jik7CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MmMxNTM3ZDdkYmNmMjkwODM0NzA5ZjUyN2YyODZkMWJmNDkwNmUyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNWR1BvaW50X2gKKyNkZWZpbmUgU1ZHUG9pbnRfaAor
CisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit0eXBlZGVmIEZsb2F0UG9pbnQgU1ZHUG9pbnQ7CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVkcpCisKKyNlbmRpZiAvLyBTVkdQb2lu
dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuY3BwCmluZGV4IDJlMDU5NjBkN2NmNGU4NjI2
MGJkYzhkMGZmZDA5ZjRmOThiYzAwNDcuLmRmZjk0NjBlMjRkMmVjNDk5YjhhMGM1Mzk1ZjQ1ZTBj
MDcxMWQwZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuY3BwCkBAIC0yMyw3ICsyMyw2
IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKIAotI2luY2x1
ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM4LDcgKzM3LDcgQEAgU3RyaW5n
IFNWR1BvaW50TGlzdDo6dmFsdWVBc1N0cmluZygpIGNvbnN0CiAgICAgICAgIGlmIChpID4gMCkK
ICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7IC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2Ug
dXNlIGNvbW1hcyB0byBzZXBlcmF0ZT8KIAotICAgICAgICBjb25zdCBGbG9hdFBvaW50JiBwb2lu
dCA9IGF0KGkpOworICAgICAgICBjb25zdCBTVkdQb2ludCYgcG9pbnQgPSBhdChpKTsKICAgICAg
ICAgYnVpbGRlci5hcHBlbmQoU3RyaW5nOjpudW1iZXIocG9pbnQueCgpKSArICcgJyArIFN0cmlu
Zzo6bnVtYmVyKHBvaW50LnkoKSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BvaW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5o
CmluZGV4IDFmOGU4ZDg0OTA1ZjhkYmVmYTJhMjIwMzUxY2JhMGZlMDA1ZDA3ZGIuLjM5Y2ZiZWEx
YjkyMTg1NTE1NDg4MmNiNGU1ZGQ5Njc5MmZkNTdmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQb2ludExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRM
aXN0LmgKQEAgLTIyLDE0ICsyMiwxMyBAQAogI2RlZmluZSBTVkdQb2ludExpc3RfaAogCiAjaWYg
RU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgIlNWR1Byb3BlcnR5
VHJhaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEZsb2F0UG9pbnQ7Ci0KLWNsYXNzIFNWR1BvaW50TGlzdCA6IHB1YmxpYyBWZWN0
b3I8RmxvYXRQb2ludD4geworY2xhc3MgU1ZHUG9pbnRMaXN0IDogcHVibGljIFZlY3RvcjxTVkdQ
b2ludD4gewogcHVibGljOgogICAgIFNWR1BvaW50TGlzdCgpIHsgfQogCkBAIC0zOSw3ICszOCw3
IEBAIHB1YmxpYzoKIHRlbXBsYXRlPD4KIHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdQb2lu
dExpc3Q+IHsKICAgICBzdGF0aWMgU1ZHUG9pbnRMaXN0IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJu
IFNWR1BvaW50TGlzdCgpOyB9Ci0gICAgdHlwZWRlZiBGbG9hdFBvaW50IExpc3RJdGVtVHlwZTsK
KyAgICB0eXBlZGVmIFNWR1BvaW50IExpc3RJdGVtVHlwZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAppbmRleCA2NDYxOWM4MWQ5
ZTY2YzljMzQzZjQ2YzY5YjUyMGI4M2I1NjRkNmZjLi45ZTMzODNmMGIzMDExZGMyN2Q3ZjdiYmY2
ZGQwNGEwMTMxZTQyZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCkBAIC00
MDUsOSArNDA1LDkgQEAgU1ZHQW5nbGUgU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHQW5nbGUoKQog
ICAgIHJldHVybiBTVkdBbmdsZSgpOwogfQogCi1GbG9hdFBvaW50IFNWR1NWR0VsZW1lbnQ6OmNy
ZWF0ZVNWR1BvaW50KCkKK1NWR1BvaW50IFNWR1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR1BvaW50KCkK
IHsKLSAgICByZXR1cm4gRmxvYXRQb2ludCgpOworICAgIHJldHVybiBTVkdQb2ludCgpOwogfQog
CiBTVkdNYXRyaXggU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHTWF0cml4KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oCmluZGV4IDZjZmI3MDI0NDBhZTZiNDZkZTA3ZmY3ZGRkODI1MDg4NDAy
NTJmMGEuLmZkOGRiNTIwNGMyMTNjYmMzYTcxZGZhZGUzOGJjODM0YWIxZWNiYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtODQsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgZmxv
YXQgY3VycmVudFNjYWxlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDdXJyZW50U2NhbGUoZmxvYXQg
c2NhbGUpOwogCi0gICAgRmxvYXRQb2ludCYgY3VycmVudFRyYW5zbGF0ZSgpIHsgcmV0dXJuIG1f
dHJhbnNsYXRpb247IH0KKyAgICBTVkdQb2ludCYgY3VycmVudFRyYW5zbGF0ZSgpIHsgcmV0dXJu
IG1fdHJhbnNsYXRpb247IH0KICAgICB2b2lkIHNldEN1cnJlbnRUcmFuc2xhdGUoY29uc3QgRmxv
YXRQb2ludCYpOwogCiAgICAgLy8gT25seSB1c2VkIGZyb20gdGhlIGJpbmRpbmdzLgpAQCAtMTEz
LDcgKzExMyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgY3JlYXRlU1ZHTnVtYmVyKCk7
CiAgICAgc3RhdGljIFNWR0xlbmd0aCBjcmVhdGVTVkdMZW5ndGgoKTsKICAgICBzdGF0aWMgU1ZH
QW5nbGUgY3JlYXRlU1ZHQW5nbGUoKTsKLSAgICBzdGF0aWMgRmxvYXRQb2ludCBjcmVhdGVTVkdQ
b2ludCgpOworICAgIHN0YXRpYyBTVkdQb2ludCBjcmVhdGVTVkdQb2ludCgpOwogICAgIHN0YXRp
YyBTVkdNYXRyaXggY3JlYXRlU1ZHTWF0cml4KCk7CiAgICAgc3RhdGljIEZsb2F0UmVjdCBjcmVh
dGVTVkdSZWN0KCk7CiAgICAgc3RhdGljIFNWR1RyYW5zZm9ybSBjcmVhdGVTVkdUcmFuc2Zvcm0o
KTsKQEAgLTE4MSw3ICsxODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV91c2VDdXJyZW50Vmll
dzsKICAgICBTVkdab29tQW5kUGFuVHlwZSBtX3pvb21BbmRQYW47CiAgICAgUmVmUHRyPFNNSUxU
aW1lQ29udGFpbmVyPiBtX3RpbWVDb250YWluZXI7Ci0gICAgRmxvYXRQb2ludCBtX3RyYW5zbGF0
aW9uOworICAgIFNWR1BvaW50IG1fdHJhbnNsYXRpb247CiAgICAgUmVmUHRyPFNWR1ZpZXdTcGVj
PiBtX3ZpZXdTcGVjOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcAppbmRleCA5OGYyOGRmZDNjOWFkMWI1MzBjOGNjNDkwZmJiMTkxZjhjNDJmNTVh
Li5iNmFlYmM2MTM1YjY0YzI5N2Q0YTMzNzAyNGM4NjRmMTVjOWI4ZTI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtMTI3LDI1ICsxMjcsMjUg
QEAgZmxvYXQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWdu
ZWQgY2hhcm51bSwgdW5zaWduZWQgbmNoYXIKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRl
cmVyKCkpLnN1YlN0cmluZ0xlbmd0aChjaGFybnVtLCBuY2hhcnMpOwogfQogCi1GbG9hdFBvaW50
IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBj
aGFybnVtLCBFeGNlcHRpb25Db2RlJiBlYykKK1NWR1BvaW50IFNWR1RleHRDb250ZW50RWxlbWVu
dDo6Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKIAogICAgIGlmIChjaGFybnVtID4gZ2V0TnVtYmVyT2ZDaGFycygpKSB7CiAgICAg
ICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Ci0gICAgICAgIHJldHVybiBGbG9hdFBvaW50KCk7Cisg
ICAgICAgIHJldHVybiBTVkdQb2ludCgpOwogICAgIH0KIAogICAgIHJldHVybiBTVkdUZXh0UXVl
cnkocmVuZGVyZXIoKSkuc3RhcnRQb3NpdGlvbk9mQ2hhcmFjdGVyKGNoYXJudW0pOwogfQogCi1G
bG9hdFBvaW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0RW5kUG9zaXRpb25PZkNoYXIodW5z
aWduZWQgY2hhcm51bSwgRXhjZXB0aW9uQ29kZSYgZWMpCitTVkdQb2ludCBTVkdUZXh0Q29udGVu
dEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0sIEV4Y2VwdGlv
bkNvZGUmIGVjKQogewogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOwogCiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJPZkNoYXJzKCkpIHsK
ICAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuIEZsb2F0UG9pbnQo
KTsKKyAgICAgICAgcmV0dXJuIFNWR1BvaW50KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIFNWR1Rl
eHRRdWVyeShyZW5kZXJlcigpKS5lbmRQb3NpdGlvbk9mQ2hhcmFjdGVyKGNoYXJudW0pOwpAQCAt
MTc1LDcgKzE3NSw3IEBAIGZsb2F0IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Um90YXRpb25P
ZkNoYXIodW5zaWduZWQgY2hhcm51bSwgRXhjZXB0aW9uQ29kZSYKICAgICByZXR1cm4gU1ZHVGV4
dFF1ZXJ5KHJlbmRlcmVyKCkpLnJvdGF0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSk7CiB9CiAKLWlu
dCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldENoYXJOdW1BdFBvc2l0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmIHBvaW50KQoraW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q2hhck51bUF0UG9z
aXRpb24oY29uc3QgU1ZHUG9pbnQmIHBvaW50KQogewogICAgIGRvY3VtZW50KCktPnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIHJldHVybiBTVkdUZXh0UXVlcnko
cmVuZGVyZXIoKSkuY2hhcmFjdGVyTnVtYmVyQXRQb3NpdGlvbihwb2ludCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggYzcyMzQ4YjFiYzVkMmFlNDAy
MzI0MDBjMThhNTZjYTI4MDUwMDZkZi4uMWU3MjJiNzU1NmVmODE3MTRmM2RhYzhlNDQ1MjdmMGZh
ZjI3Yjg3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaApA
QCAtNzgsMTEgKzc4LDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBnZXROdW1iZXJPZkNoYXJz
KCk7CiAgICAgZmxvYXQgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiAgICAgZmxvYXQgZ2V0U3Vi
U3RyaW5nTGVuZ3RoKHVuc2lnbmVkIGNoYXJudW0sIHVuc2lnbmVkIG5jaGFycywgRXhjZXB0aW9u
Q29kZSYpOwotICAgIEZsb2F0UG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBj
aGFybnVtLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgRmxvYXRQb2ludCBnZXRFbmRQb3NpdGlvbk9m
Q2hhcih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRpb25Db2RlJik7CisgICAgU1ZHUG9pbnQgZ2V0
U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgU1ZHUG9pbnQgZ2V0RW5kUG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIEZsb2F0UmVjdCBnZXRFeHRlbnRPZkNoYXIodW5zaWduZWQgY2hhcm51
bSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGZsb2F0IGdldFJvdGF0aW9uT2ZDaGFyKHVuc2lnbmVk
IGNoYXJudW0sIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBpbnQgZ2V0Q2hhck51bUF0UG9zaXRpb24o
Y29uc3QgRmxvYXRQb2ludCYpOworICAgIGludCBnZXRDaGFyTnVtQXRQb3NpdGlvbihjb25zdCBT
VkdQb2ludCYpOwogICAgIHZvaWQgc2VsZWN0U3ViU3RyaW5nKHVuc2lnbmVkIGNoYXJudW0sIHVu
c2lnbmVkIG5jaGFycywgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgc3RhdGljIFNWR1RleHRDb250
ZW50RWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJlcihSZW5kZXJPYmplY3QqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1pvb21FdmVudC5jcHAKaW5kZXggZGUzZWM3Y2QzNzIyMTcwMDljZTAwMGJlNDFhY2Vj
ZTFhZTc0OTgyYi4uY2I5MTdjYWZmNjBkNzYwMjczZmFjY2JiNzUxZDQxODFmOGYwZmRmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgdm9pZCBTVkda
b29tRXZlbnQ6OnNldFByZXZpb3VzU2NhbGUoZmxvYXQgc2NhbGUpCiAgICAgbV9wcmV2aW91c1Nj
YWxlID0gc2NhbGU7CiB9CiAKLUZsb2F0UG9pbnQgU1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5z
bGF0ZSgpIGNvbnN0CitTVkdQb2ludCBTVkdab29tRXZlbnQ6OnByZXZpb3VzVHJhbnNsYXRlKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9wcmV2aW91c1RyYW5zbGF0ZTsKIH0KQEAgLTY0LDcgKzY0
LDcgQEAgdm9pZCBTVkdab29tRXZlbnQ6OnNldE5ld1NjYWxlKGZsb2F0IHNjYWxlKQogICAgIG1f
bmV3U2NhbGUgPSBzY2FsZTsKIH0KIAotRmxvYXRQb2ludCBTVkdab29tRXZlbnQ6Om5ld1RyYW5z
bGF0ZSgpIGNvbnN0CitTVkdQb2ludCBTVkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fbmV3VHJhbnNsYXRlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1pvb21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVu
dC5oCmluZGV4IDFlZDVmZWM2YTdhZWJhYmZlYjMyMmQ2MDcyNzQ5NTRhODNlMWE2MGEuLjczOTg3
YzVkNjNhNWQ0YTZlZDRhNDQ1MGEzZWM3MzVhN2YwOWFkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9v
bUV2ZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogCiAjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCisjaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJVSUV2ZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM4LDEyICszOSwxMiBAQCBwdWJsaWM6CiAgICAg
ZmxvYXQgcHJldmlvdXNTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0UHJldmlvdXNTY2FsZShm
bG9hdCk7CiAKLSAgICBGbG9hdFBvaW50IHByZXZpb3VzVHJhbnNsYXRlKCkgY29uc3Q7CisgICAg
U1ZHUG9pbnQgcHJldmlvdXNUcmFuc2xhdGUoKSBjb25zdDsKIAogICAgIGZsb2F0IG5ld1NjYWxl
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXROZXdTY2FsZShmbG9hdCk7CiAKLSAgICBGbG9hdFBvaW50
IG5ld1RyYW5zbGF0ZSgpIGNvbnN0OworICAgIFNWR1BvaW50IG5ld1RyYW5zbGF0ZSgpIGNvbnN0
OwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25z
dDsKIApAQCAtNTUsOCArNTYsOCBAQCBwcml2YXRlOgogCiAgICAgRmxvYXRSZWN0IG1fem9vbVJl
Y3RTY3JlZW47CiAKLSAgICBGbG9hdFBvaW50IG1fbmV3VHJhbnNsYXRlOwotICAgIEZsb2F0UG9p
bnQgbV9wcmV2aW91c1RyYW5zbGF0ZTsKKyAgICBTVkdQb2ludCBtX25ld1RyYW5zbGF0ZTsKKyAg
ICBTVkdQb2ludCBtX3ByZXZpb3VzVHJhbnNsYXRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>