<?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>232476</bug_id>
          
          <creation_ts>2021-10-29 00:33:20 -0700</creation_ts>
          <short_desc>ANGLE OpenGL: Cherry-pick commit  Reland: GL: Skip redundant flushes.</short_desc>
          <delta_ts>2022-08-11 02:59:08 -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>ANGLE</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>232475</dependson>
          <blocked>232472</blocked>
    
    <blocked>232477</blocked>
    
    <blocked>232478</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809990</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 00:33:20 -0700</bug_when>
    <thetext>ANGLE OpenGL: Cherry-pick commit  Reland: GL: Skip redundant flushes.

222a81cfaaf0be64e64fe1e8ec04753e287532fe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810013</commentid>
    <comment_count>1</comment_count>
      <attachid>442796</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 02:19:00 -0700</bug_when>
    <thetext>Created attachment 442796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810014</commentid>
    <comment_count>2</comment_count>
      <attachid>442797</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-10-29 02:33:04 -0700</bug_when>
    <thetext>Created attachment 442797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811525</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-03 10:45:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/84981561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890528</commentid>
    <comment_count>4</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-08-11 02:59:08 -0700</bug_when>
    <thetext>This was merged as part of ANGLE update.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442796</attachid>
            <date>2021-10-29 02:19:00 -0700</date>
            <delta_ts>2021-10-29 02:32:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232476-20211029121859.patch</filename>
            <type>text/plain</type>
            <size>4709</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggODI2ZWVmNjJmZWE3MDNhMzkxNTY1YzMzMjU5YTM5MDg3NDcwN2NlOC4uNmJlYzgyN2FlMTdk
NzM4MWU0ZWYwYjY3YTk0OTcyZDQxYTE4ZTg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEwLTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgT3BlbkdMOiBDaGVycnktcGljayBjb21taXQg
IFJlbGFuZDogR0w6IFNraXAgcmVkdW5kYW50IGZsdXNoZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0NzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGcm9tIDIyMmE4MWNmYWFmMGJlNjRlNjRmZTFl
OGVjMDQ3NTNlMjg3NTMyZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCisgICAgICAgIEZyb206
IEdlb2ZmIExhbmcgPGdlb2ZmbGFuZ0Bnb29nbGUuY29tPgorICAgICAgICBEYXRlOiBGcmksIDEx
IEp1biAyMDIxIDE0OjM0OjUyIC0wNDAwCisgICAgICAgIFtQQVRDSF0gUmVsYW5kOiBHTDogU2tp
cCByZWR1bmRhbnQgZmx1c2hlcy4KKworICAgICAgICBTa2lwIGZsdXNoZXMgd2hlbiB0aGVyZSBp
cyBubyB3b3JrIHN1Ym1pdHRlZCBzaW5jZSB0aGUgbGFzdAorICAgICAgICBmbHVzaC4KKworICAg
ICAgICAqIGluY2x1ZGUvcGxhdGZvcm0vRmVhdHVyZXNHTC5oOgorICAgICAgICAqIHNyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9UZXh0dXJlR0wuY3BwOgorICAgICAgICAocng6OlRleHR1cmVHTDo6
c2V0U3ViSW1hZ2UpOgorICAgICAgICAocng6OlRleHR1cmVHTDo6aW5pdGlhbGl6ZUNvbnRlbnRz
KToKKwogMjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFOR0xFIE9wZW5HTDogQ2hlcnJ5LXBpY2sgY29tbWl0IEdMOiBDaHVuayB1cGxv
YWRzIG9mIHRleHR1cmUgZGF0YSA+MTIwa2Igb24gTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvaW5jbHVkZS9wbGF0Zm9ybS9GZWF0dXJlc0dMLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAppbmRleCAxNzQxNmNl
MzhlNDk4OTAxODAwYTgzNjk4ZWMyODhiMDliOTJhM2MxLi43Y2IxZjM4MzUxZDg5MTcyN2M2ZGIw
MWY0M2ZjYzRmN2M3ZTc1ZWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9p
bmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9pbmNsdWRlL3BsYXRmb3JtL0ZlYXR1cmVzR0wuaApAQCAtNTE0LDcgKzUxNCw4IEBAIHN0cnVj
dCBGZWF0dXJlc0dMIDogRmVhdHVyZVNldEJhc2UKIAogICAgIC8vIE1hYyBPcGVuR0wgZHJpdmVy
cyBvZnRlbiBoYW5nIHdoZW4gY2FsbGluZyBnbFRleFN1YkltYWdlIHdpdGggPjEyMGtiIG9mIGRh
dGEuIEluc3RlYWQsIHVwbG9hZAogICAgIC8vIHRoZSBkYXRhIGluIDwxMjBrYiBjaHVua3MuCi0g
ICAgRmVhdHVyZSB1cGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzID0geworICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3Qgc2l6ZV90IGtVcGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtzVXBsb2FkU2l6ZSA9
ICgxMjAgKiAxMDI0KSAtIDE7CisgICAgRmVhdHVyZSB1cGxvYWRUZXh0dXJlRGF0YUluQ2h1bmtz
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gewogICAgICAgICAiY2h1bmtlZF90
ZXh0dXJlX3VwbG9hZCIsIEZlYXR1cmVDYXRlZ29yeTo6T3BlbkdMV29ya2Fyb3VuZHMsCiAgICAg
ICAgICJVcGxvYWQgdGV4dHVyZSBkYXRhIGluIDwxMjBrYiBjaHVua3MgdG8gd29yayBhcm91bmQg
TWFjIGRyaXZlciBoYW5ncyBhbmQgY3Jhc2hlcy4iLAogICAgICAgICAmbWVtYmVycywgImh0dHA6
Ly9jcmJ1Zy5jb20vMTE4MTA2OCJ9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1RleHR1cmVHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcAppbmRleCAw
Y2I4YjZlNjIxYTQxODQ2OTgyZWUzMDQ5MWM3NzU5YmMyOTMzMzAzLi40Nzg2MmU0MjFkZjc2ZWVi
MjZjMDFmMTg1MjZiYjYyNTI0MmM3M2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvVGV4dHVyZUdMLmNwcApA
QCAtMzU4LDkgKzM1OCw5IEBAIGFuZ2xlOjpSZXN1bHQgVGV4dHVyZUdMOjpzZXRTdWJJbWFnZShj
b25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKIAogICAgIGlmIChmZWF0dXJlcy51cGxvYWRUZXh0
dXJlRGF0YUluQ2h1bmtzLmVuYWJsZWQpCiAgICAgewotICAgICAgICBjb25zdGV4cHIgY29uc3Qg
c2l6ZV90IGtNYXhVcGxvYWRDaHVua1NpemUgPSAoMTIwICogMTAyNCkgLSAxOwotICAgICAgICBy
ZXR1cm4gc2V0U3ViSW1hZ2VSb3dCeVJvd1dvcmthcm91bmQoY29udGV4dCwgdGFyZ2V0LCBsZXZl
bCwgYXJlYSwgZm9ybWF0LCB0eXBlLCB1bnBhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnBhY2tCdWZmZXIsIGtNYXhVcGxvYWRDaHVua1NpemUsIHBp
eGVscyk7CisgICAgICAgIHJldHVybiBzZXRTdWJJbWFnZVJvd0J5Um93V29ya2Fyb3VuZCgKKyAg
ICAgICAgICAgIGNvbnRleHQsIHRhcmdldCwgbGV2ZWwsIGFyZWEsIGZvcm1hdCwgdHlwZSwgdW5w
YWNrLCB1bnBhY2tCdWZmZXIsCisgICAgICAgICAgICBhbmdsZTo6RmVhdHVyZXNHTDo6a1VwbG9h
ZFRleHR1cmVEYXRhSW5DaHVua3NVcGxvYWRTaXplLCBwaXhlbHMpOwogICAgIH0KIAogICAgIGlm
IChuYXRpdmVnbDo6VXNlVGV4SW1hZ2UyRChnZXRUeXBlKCkpKQpAQCAtMjA0NywxMSArMjA0Nywy
MiBAQCBhbmdsZTo6UmVzdWx0IFRleHR1cmVHTDo6aW5pdGlhbGl6ZUNvbnRlbnRzKGNvbnN0IGds
OjpDb250ZXh0ICpjb250ZXh0LAogCiAgICAgICAgIGlmIChuYXRpdmVnbDo6VXNlVGV4SW1hZ2Uy
RChnZXRUeXBlKCkpKQogICAgICAgICB7Ci0gICAgICAgICAgICBBTkdMRV9HTF9UUlkoY29udGV4
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMtPnRleFN1YkltYWdlMkQoVG9H
TGVudW0oaW1hZ2VJbmRleC5nZXRUYXJnZXQoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlSW5kZXguZ2V0TGV2ZWxJbmRleCgpLCAwLCAw
LCBkZXNjLnNpemUud2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRlc2Muc2l6ZS5oZWlnaHQsIG5hdGl2ZVN1YkltYWdlRm9ybWF0LmZvcm1h
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF0
aXZlU3ViSW1hZ2VGb3JtYXQudHlwZSwgemVyby0+ZGF0YSgpKSk7CisgICAgICAgICAgICBpZiAo
ZmVhdHVyZXMudXBsb2FkVGV4dHVyZURhdGFJbkNodW5rcy5lbmFibGVkKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGdsOjpCb3ggYXJlYSgwLCAwLCAwLCBkZXNjLnNpemUud2lkdGgs
IGRlc2Muc2l6ZS5oZWlnaHQsIDEpOworICAgICAgICAgICAgICAgIEFOR0xFX1RSWShzZXRTdWJJ
bWFnZVJvd0J5Um93V29ya2Fyb3VuZCgKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dCwgaW1h
Z2VJbmRleC5nZXRUYXJnZXQoKSwgaW1hZ2VJbmRleC5nZXRMZXZlbEluZGV4KCksIGFyZWEsCisg
ICAgICAgICAgICAgICAgICAgIG5hdGl2ZVN1YkltYWdlRm9ybWF0LmZvcm1hdCwgbmF0aXZlU3Vi
SW1hZ2VGb3JtYXQudHlwZSwgdW5wYWNrU3RhdGUsIG51bGxwdHIsCisgICAgICAgICAgICAgICAg
ICAgIGFuZ2xlOjpGZWF0dXJlc0dMOjprVXBsb2FkVGV4dHVyZURhdGFJbkNodW5rc1VwbG9hZFNp
emUsIHplcm8tPmRhdGEoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIEFOR0xFX0dMX1RSWShjb250ZXh0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMtPnRleFN1YkltYWdlMkQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBUb0dMZW51bShpbWFnZUluZGV4LmdldFRhcmdldCgp
KSwgaW1hZ2VJbmRleC5nZXRMZXZlbEluZGV4KCksIDAsIDAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXNjLnNpemUud2lkdGgsIGRlc2Muc2l6ZS5oZWlnaHQsIG5hdGl2ZVN1
YkltYWdlRm9ybWF0LmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5h
dGl2ZVN1YkltYWdlRm9ybWF0LnR5cGUsIHplcm8tPmRhdGEoKSkpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442797</attachid>
            <date>2021-10-29 02:33:04 -0700</date>
            <delta_ts>2021-10-29 02:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232476-20211029123302.patch</filename>
            <type>text/plain</type>
            <size>27534</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggODI2ZWVmNjJmZWE3MDNhMzkxNTY1YzMzMjU5YTM5MDg3NDcwN2NlOC4uMGZmMTQ1NTZmY2Iw
OGQ2NTNmNDRjZGRlZWU1ZGNhN2U5ZjBlY2ZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTEwLTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgT3BlbkdMOiBDaGVycnktcGljayBjb21taXQg
IFJlbGFuZDogR0w6IFNraXAgcmVkdW5kYW50IGZsdXNoZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0NzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGcm9tIDIyMmE4MWNmYWFmMGJlNjRlNjRmZTFl
OGVjMDQ3NTNlMjg3NTMyZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCisgICAgICAgIEZyb206
IEdlb2ZmIExhbmcgPGdlb2ZmbGFuZ0Bnb29nbGUuY29tPgorICAgICAgICBEYXRlOiBGcmksIDEx
IEp1biAyMDIxIDE0OjM0OjUyIC0wNDAwCisgICAgICAgIFN1YmplY3Q6IFtQQVRDSF0gUmVsYW5k
OiBHTDogU2tpcCByZWR1bmRhbnQgZmx1c2hlcy4KKworICAgICAgICBTa2lwIGZsdXNoZXMgd2hl
biB0aGVyZSBpcyBubyB3b3JrIHN1Ym1pdHRlZCBzaW5jZSB0aGUgbGFzdAorICAgICAgICBmbHVz
aC4KKworICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9CdWZmZXJHTC5jcHA6Cisg
ICAgICAgIChyeDo6QnVmZmVyR0w6OnNldERhdGEpOgorICAgICAgICAocng6OkJ1ZmZlckdMOjpz
ZXRTdWJEYXRhKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6Y29weVN1YkRhdGEpOgorICAgICAg
ICAocng6OkJ1ZmZlckdMOjptYXApOgorICAgICAgICAocng6OkJ1ZmZlckdMOjptYXBSYW5nZSk6
CisgICAgICAgIChyeDo6QnVmZmVyR0w6OnVubWFwKToKKyAgICAgICAgKHJ4OjpCdWZmZXJHTDo6
Z2V0SW5kZXhSYW5nZSk6CisgICAgICAgICogc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0NvbnRl
eHRHTC5jcHA6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3QXJyYXlzKToKKyAgICAgICAg
KHJ4OjpDb250ZXh0R0w6OmRyYXdBcnJheXNJbnN0YW5jZWQpOgorICAgICAgICAocng6OkNvbnRl
eHRHTDo6ZHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZSk6CisgICAgICAgIChyeDo6Q29u
dGV4dEdMOjpkcmF3RWxlbWVudHMpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6ZHJhd0VsZW1l
bnRzQmFzZVZlcnRleCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjpkcmF3RWxlbWVudHNJbnN0
YW5jZWRCYXNlVmVydGV4KToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdFbGVtZW50c0lu
c3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6
ZHJhd1JhbmdlRWxlbWVudHMpOgorICAgICAgICAocng6OkNvbnRleHRHTDo6ZHJhd1JhbmdlRWxl
bWVudHNCYXNlVmVydGV4KToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6OmRyYXdBcnJheXNJbmRp
cmVjdCk6CisgICAgICAgIChyeDo6Q29udGV4dEdMOjptdWx0aURyYXdBcnJheXMpOgorICAgICAg
ICAocng6OkNvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKHJ4
OjpDb250ZXh0R0w6Om11bHRpRHJhd0VsZW1lbnRzKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6
Om11bHRpRHJhd0VsZW1lbnRzSW5zdGFuY2VkKToKKyAgICAgICAgKHJ4OjpDb250ZXh0R0w6Om11
bHRpRHJhd0FycmF5c0luc3RhbmNlZEJhc2VJbnN0YW5jZSk6CisgICAgICAgIChyeDo6Q29udGV4
dEdMOjptdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UpOgor
ICAgICAgICAocng6OkNvbnRleHRHTDo6bWFya1dvcmtTdWJtaXR0ZWQpOgorICAgICAgICAqIHNy
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9Db250ZXh0R0wuaDoKKyAgICAgICAgKiBzcmMvbGliQU5H
TEUvcmVuZGVyZXIvZ2wvRmVuY2VOVkdMLmNwcDoKKyAgICAgICAgKHJ4OjpGZW5jZU5WU3luY0dM
OjpzZXQpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdM
LmNwcDoKKyAgICAgICAgKHJ4OjpGcmFtZWJ1ZmZlckdMOjpjbGVhcik6CisgICAgICAgIChyeDo6
RnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJmdik6CisgICAgICAgIChyeDo6RnJhbWVidWZmZXJH
TDo6Y2xlYXJCdWZmZXJ1aXYpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFyQnVm
ZmVyaXYpOgorICAgICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVyZmkpOgorICAg
ICAgICAocng6OkZyYW1lYnVmZmVyR0w6OmJsaXQpOgorICAgICAgICAqIHNyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9RdWVyeUdMLmNwcDoKKyAgICAgICAgKHJ4OjpTdGFuZGFyZFF1ZXJ5R0w6OnJl
c3VtZSk6CisgICAgICAgIChyeDo6U3luY1Byb3ZpZGVyR0xTeW5jOjpTeW5jUHJvdmlkZXJHTFN5
bmMpOgorICAgICAgICAocng6OlN5bmNRdWVyeUdMOjplbmQpOgorICAgICAgICAqIHNyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmNwcDoKKyAgICAgICAgKHJ4OjpSZW5kZXJlckdM
OjpmbHVzaCk6CisgICAgICAgIChyeDo6UmVuZGVyZXJHTDo6ZmluaXNoKToKKyAgICAgICAgKHJ4
OjpSZW5kZXJlckdMOjpkaXNwYXRjaENvbXB1dGUpOgorICAgICAgICAocng6OlJlbmRlcmVyR0w6
OmRpc3BhdGNoQ29tcHV0ZUluZGlyZWN0KToKKyAgICAgICAgKHJ4OjpSZW5kZXJlckdMOjptZW1v
cnlCYXJyaWVyKToKKyAgICAgICAgKHJ4OjpSZW5kZXJlckdMOjptZW1vcnlCYXJyaWVyQnlSZWdp
b24pOgorICAgICAgICAocng6OlJlbmRlcmVyR0w6Om1hcmtXb3JrU3VibWl0dGVkKToKKyAgICAg
ICAgKiBzcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVyZXJHTC5oOgorICAgICAgICAqIHNy
Yy9saWJBTkdMRS9yZW5kZXJlci9nbC9TeW5jR0wuY3BwOgorICAgICAgICAocng6OlN5bmNHTDo6
c2V0KToKKwogMjAyMS0xMC0yOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFOR0xFIE9wZW5HTDogQ2hlcnJ5LXBpY2sgY29tbWl0IEdMOiBDaHVuayB1
cGxvYWRzIG9mIHRleHR1cmUgZGF0YSA+MTIwa2Igb24gTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0J1ZmZlckdMLmNwcCBi
L1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9CdWZmZXJH
TC5jcHAKaW5kZXggNGY1YzE4ZThlN2JhOWUzOGU1NjI3MDc0NmU4NmM2NzI2ZTU2YzQ2OS4uYWRm
ZWQ3YWU3OGY4MmY0MDZhMmFmZjUxNDQyMzA0ZjJlZWViNjllNyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0J1ZmZlckdMLmNwcAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvQnVm
ZmVyR0wuY3BwCkBAIC04MCw2ICs4MCw4IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OnNldERh
dGEoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAKICAgICBtQnVmZmVyU2l6ZSA9IHNpemU7
CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5n
bGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTg5LDYgKzkxLDcgQEAgYW5nbGU6OlJlc3Vs
dCBCdWZmZXJHTDo6c2V0U3ViRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBvZmZzZXQpCiB7CisgICAgQ29udGV4dEdMICpj
b250ZXh0R0wgICAgICAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAg
ICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAgID0gR2V0RnVuY3Rpb25zR0woY29u
dGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVN
YW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVz
ID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsKQEAgLTEwMiw2ICsxMDUsOCBAQCBhbmdsZTo6UmVz
dWx0IEJ1ZmZlckdMOjpzZXRTdWJEYXRhKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAg
ICAgICBtZW1jcHkobVNoYWRvd0NvcHkuZGF0YSgpICsgb2Zmc2V0LCBkYXRhLCBzaXplKTsKICAg
ICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4g
YW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTExMSw2ICsxMTYsNyBAQCBhbmdsZTo6
UmVzdWx0IEJ1ZmZlckdMOjpjb3B5U3ViRGF0YShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaW50cHRyIGRlc3RPZmZzZXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpcHRyIHNpemUpCiB7
CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICAgICAgID0gR2V0SW1wbEFzPENvbnRl
eHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAgID0g
R2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdl
ciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZl
YXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsKQEAgLTEzMCwxMSAr
MTM2LDE0IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OmNvcHlTdWJEYXRhKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICBtZW1jcHkobVNoYWRvd0NvcHkuZGF0YSgpICsgZGVz
dE9mZnNldCwgc291cmNlR0wtPm1TaGFkb3dDb3B5LmRhdGEoKSArIHNvdXJjZU9mZnNldCwgc2l6
ZSk7CiAgICAgfQogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAg
cmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCiBhbmdsZTo6UmVzdWx0IEJ1ZmZl
ckdMOjptYXAoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBhY2Nlc3MsIHZvaWQg
KiptYXBQdHIpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICAgICAgID0gR2V0
SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0
aW9ucyAgICAgID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAgU3RhdGVNYW5hZ2VyR0wg
KnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAgICAgY29u
c3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVyZXNHTChjb250ZXh0KTsK
QEAgLTE2Miw2ICsxNzEsOCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjptYXAoY29uc3QgZ2w6
OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBhY2Nlc3MsIHZvaWQgKiptYQogICAgIG1NYXBPZmZz
ZXQgPSAwOwogICAgIG1NYXBTaXplICAgPSBtQnVmZmVyU2l6ZTsKIAorICAgIGNvbnRleHRHTC0+
bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKIH0KIApAQCAtMTcxLDYgKzE4Miw3IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6Om1hcFJh
bmdlKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgR0xiaXRmaWVsZCBhY2Nlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2b2lkICoqbWFwUHRyKQogeworICAgIENvbnRleHRHTCAqY29udGV4dEdMICAgICAgICAg
ICAgICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9u
c0dMICpmdW5jdGlvbnMgICAgICA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRl
TWFuYWdlckdMICpzdGF0ZU1hbmFnZXIgICAgICA9IEdldFN0YXRlTWFuYWdlckdMKGNvbnRleHQp
OwogICAgIGNvbnN0IGFuZ2xlOjpGZWF0dXJlc0dMICZmZWF0dXJlcyA9IEdldEZlYXR1cmVzR0wo
Y29udGV4dCk7CkBAIC0xOTEsMTEgKzIwMywxNCBAQCBhbmdsZTo6UmVzdWx0IEJ1ZmZlckdMOjpt
YXBSYW5nZShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICBtTWFwT2Zmc2V0ID0gb2Zm
c2V0OwogICAgIG1NYXBTaXplICAgPSBsZW5ndGg7CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3Jr
U3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
IGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OnVubWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0
LCBHTGJvb2xlYW4gKnJlc3VsdCkKIHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAg
ICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KTsKICAgICBjb25zdCBGdW5jdGlv
bnNHTCAqZnVuY3Rpb25zICAgICAgPSBHZXRGdW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0
ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0
KTsKICAgICBjb25zdCBhbmdsZTo6RmVhdHVyZXNHTCAmZmVhdHVyZXMgPSBHZXRGZWF0dXJlc0dM
KGNvbnRleHQpOwpAQCAtMjE5LDYgKzIzNCw5IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OnVu
bWFwKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGJvb2xlYW4gKnJlc3VsdCkKICAgICB9
CiAKICAgICBtSXNNYXBwZWQgPSBmYWxzZTsKKworICAgIGNvbnRleHRHTC0+bWFya1dvcmtTdWJt
aXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAt
MjI5LDYgKzI0Nyw3IEBAIGFuZ2xlOjpSZXN1bHQgQnVmZmVyR0w6OmdldEluZGV4UmFuZ2UoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgcHJpbWl0aXZlUmVzdGFydEVuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdsOjpJbmRleFJhbmdlICpvdXRSYW5nZSkKIHsKKyAgICBDb250
ZXh0R0wgKmNvbnRleHRHTCAgICAgICAgICAgICAgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihjb250
ZXh0KTsKICAgICBjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zICAgICAgPSBHZXRGdW5jdGlv
bnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyICAgICAgPSBH
ZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKICAgICBjb25zdCBhbmdsZTo6RmVhdHVyZXNHTCAm
ZmVhdHVyZXMgPSBHZXRGZWF0dXJlc0dMKGNvbnRleHQpOwpAQCAtMjYwLDYgKzI3OSw4IEBAIGFu
Z2xlOjpSZXN1bHQgQnVmZmVyR0w6OmdldEluZGV4UmFuZ2UoY29uc3QgZ2w6OkNvbnRleHQgKmNv
bnRleHQsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0
dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9D
b250ZXh0R0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRl
cmVyL2dsL0NvbnRleHRHTC5jcHAKaW5kZXggMjQxNGI4YjljMjNiYTZiYTIwMmRkOTIxMWYwOWU0
ODRjODU3YTBmOC4uY2Y2YzUyOGUyYjljNTA2NmJlNjFlMzgzOWJlMGJhYzAwMjRmNDZiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L0NvbnRleHRHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2dsL0NvbnRleHRHTC5jcHAKQEAgLTI5NSw2ICsyOTUsOCBAQCBhbmdsZTo6UmVz
dWx0IENvbnRleHRHTDo6ZHJhd0FycmF5cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgQU5HTEVfR0xfVFJZKGNvbnRleHQsIGdldEZ1bmN0aW9ucygpLT5kcmF3QXJyYXlzSW5z
dGFuY2VkKFRvR0xlbnVtKG1vZGUpLCBmaXJzdCwgY291bnQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNv
dW50KSk7CiAgICAgfQorICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAg
IHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtMzE0LDYgKzMxNiw4IEBA
IGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3QXJyYXlzSW5zdGFuY2VkKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgIEFOR0xFX1RSWShzZXREcmF3QXJyYXlzU3RhdGUoY29udGV4
dCwgZmlyc3QsIGNvdW50LCBhZGp1c3RlZEluc3RhbmNlQ291bnQpKTsKICAgICBBTkdMRV9HTF9U
UlkoY29udGV4dCwgZ2V0RnVuY3Rpb25zKCktPmRyYXdBcnJheXNJbnN0YW5jZWQoVG9HTGVudW0o
bW9kZSksIGZpcnN0LCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0ZWRJbnN0YW5jZUNvdW50KSk7CisgICAg
bVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQogCkBAIC00MzUsNiArNDM5LDggQEAgYW5nbGU6OlJlc3VsdCBDb250
ZXh0R0w6OmRyYXdBcnJheXNJbnN0YW5jZWRCYXNlSW5zdGFuY2UoY29uc3QgZ2w6OkNvbnRleHQg
KmNvbnQKICAgICAgICAgcmVzZXRVcGRhdGVkQXR0cmlidXRlcyhhdHRyaWJUb1Jlc2V0TWFzayk7
CiAgICAgfQogCisgICAgbVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgcmV0
dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC00NjYsNiArNDcyLDggQEAgYW5n
bGU6OlJlc3VsdCBDb250ZXh0R0w6OmRyYXdFbGVtZW50cyhjb25zdCBnbDo6Q29udGV4dCAqY29u
dGV4dCwKICAgICAgICAgICAgICAgICAgICAgIGdldEZ1bmN0aW9ucygpLT5kcmF3RWxlbWVudHNJ
bnN0YW5jZWQoVG9HTGVudW0obW9kZSksIGNvdW50LCBUb0dMZW51bSh0eXBlKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0lu
ZGV4UHRyLCBpbnN0YW5jZUNvdW50KSk7CiAgICAgfQorICAgIG1SZW5kZXJlci0+bWFya1dvcmtT
dWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApA
QCAtNDk4LDYgKzUwNiw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3RWxlbWVudHNC
YXNlVmVydGV4KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRvR0xlbnVtKG1vZGUpLCBjb3VudCwgVG9HTGVudW0odHlwZSksIGRy
YXdJbmRleFB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZUNv
dW50LCBiYXNlVmVydGV4KSk7CiAgICAgfQorICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0
ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtNTQ1
LDYgKzU1NSw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3RWxlbWVudHNJbnN0YW5j
ZWRCYXNlVmVydGV4KGNvbnN0IGdsOjpDb250ZXh0ICpjb250CiAgICAgQU5HTEVfR0xfVFJZKGNv
bnRleHQsIGdldEZ1bmN0aW9ucygpLT5kcmF3RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4KAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9HTGVudW0obW9kZSksIGNvdW50LCBUb0dM
ZW51bSh0eXBlKSwgZHJhd0luZGV4UG9pbnRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFkanVzdGVkSW5zdGFuY2VDb3VudCwgYmFzZVZlcnRleCkpOworICAgIG1SZW5kZXJlci0+
bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250aW51
ZTsKIH0KIApAQCAtNTkxLDYgKzYwMyw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjpkcmF3
RWxlbWVudHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlKGNvbnN0IGdsOjpDCiAgICAg
ICAgIHJlc2V0VXBkYXRlZEF0dHJpYnV0ZXMoYXR0cmliVG9SZXNldE1hc2spOwogICAgIH0KIAor
ICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiBhbmdsZTo6
UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtNjIwLDYgKzYzNCw4IEBAIGFuZ2xlOjpSZXN1bHQg
Q29udGV4dEdMOjpkcmF3UmFuZ2VFbGVtZW50cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwK
ICAgICAgICAgICAgICAgICAgICAgIGdldEZ1bmN0aW9ucygpLT5kcmF3RWxlbWVudHNJbnN0YW5j
ZWQoVG9HTGVudW0obW9kZSksIGNvdW50LCBUb0dMZW51bSh0eXBlKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0luZGV4UG9p
bnRlciwgaW5zdGFuY2VDb3VudCkpOwogICAgIH0KKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3Vi
bWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAg
LTY1MSw2ICs2NjcsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd1JhbmdlRWxlbWVu
dHNCYXNlVmVydGV4KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRvR0xlbnVtKG1vZGUpLCBjb3VudCwgVG9HTGVudW0odHlwZSks
IGRyYXdJbmRleFBvaW50ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5z
dGFuY2VDb3VudCwgYmFzZVZlcnRleCkpOwogICAgIH0KKyAgICBtUmVuZGVyZXItPm1hcmtXb3Jr
U3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
QEAgLTY1OSw2ICs2NzcsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6ZHJhd0FycmF5c0lu
ZGlyZWN0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICppbmRpcmVjdCkKIHsKICAgICBBTkdM
RV9HTF9UUlkoY29udGV4dCwgZ2V0RnVuY3Rpb25zKCktPmRyYXdBcnJheXNJbmRpcmVjdChUb0dM
ZW51bShtb2RlKSwgaW5kaXJlY3QpKTsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVk
KCk7CisKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAKQEAgLTY3OCw2
ICs2OTgsOCBAQCBhbmdsZTo6UmVzdWx0IENvbnRleHRHTDo6bXVsdGlEcmF3QXJyYXlzKGNvbnN0
IGdsOjpDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBHTHNpemVpICpjb3VudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMc2l6ZWkgZHJhd2NvdW50KQogeworICAgIG1SZW5kZXJlci0+bWFy
a1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiByeDo6TXVsdGlEcmF3QXJyYXlzR2VuZXJh
bCh0aGlzLCBjb250ZXh0LCBtb2RlLCBmaXJzdHMsIGNvdW50cywgZHJhd2NvdW50KTsKIH0KIApA
QCAtNjg4LDYgKzcxMCw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjptdWx0aURyYXdBcnJh
eXNJbnN0YW5jZWQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdMc2l6ZWkgKmluc3RhbmNl
Q291bnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHTHNpemVpIGRyYXdjb3VudCkKIHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVk
KCk7CisKICAgICByZXR1cm4gcng6Ok11bHRpRHJhd0FycmF5c0luc3RhbmNlZEdlbmVyYWwodGhp
cywgY29udGV4dCwgbW9kZSwgZmlyc3RzLCBjb3VudHMsIGluc3RhbmNlQ291bnRzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3Y291bnQpOwogfQpA
QCAtNjk5LDYgKzcyMyw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjptdWx0aURyYXdFbGVt
ZW50cyhjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBHTHZvaWQgKmNvbnN0ICppbmRpY2VzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMc2l6ZWkgZHJhd2NvdW50KQog
eworICAgIG1SZW5kZXJlci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiByeDo6
TXVsdGlEcmF3RWxlbWVudHNHZW5lcmFsKHRoaXMsIGNvbnRleHQsIG1vZGUsIGNvdW50cywgdHlw
ZSwgaW5kaWNlcywgZHJhd2NvdW50KTsKIH0KIApAQCAtNzEwLDYgKzczNiw4IEBAIGFuZ2xlOjpS
ZXN1bHQgQ29udGV4dEdMOjptdWx0aURyYXdFbGVtZW50c0luc3RhbmNlZChjb25zdCBnbDo6Q29u
dGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBHTHNpemVpICppbnN0YW5jZUNvdW50cywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTHNpemVpIGRyYXdjb3VudCkK
IHsKKyAgICBtUmVuZGVyZXItPm1hcmtXb3JrU3VibWl0dGVkKCk7CisKICAgICByZXR1cm4gcng6
Ok11bHRpRHJhd0VsZW1lbnRzSW5zdGFuY2VkR2VuZXJhbCh0aGlzLCBjb250ZXh0LCBtb2RlLCBj
b3VudHMsIHR5cGUsIGluZGljZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5zdGFuY2VDb3VudHMsIGRyYXdjb3VudCk7CiB9CkBAIC03MjIsNiAr
NzUwLDggQEAgYW5nbGU6OlJlc3VsdCBDb250ZXh0R0w6Om11bHRpRHJhd0FycmF5c0luc3RhbmNl
ZEJhc2VJbnN0YW5jZShjb25zdCBnbDo6Q29udGV4dAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTHVpbnQgKmJhc2VJ
bnN0YW5jZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMc2l6ZWkgZHJhd2NvdW50KQogeworICAgIG1SZW5kZXJlci0+bWFy
a1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiByeDo6TXVsdGlEcmF3QXJyYXlzSW5zdGFu
Y2VkQmFzZUluc3RhbmNlR2VuZXJhbCgKICAgICAgICAgdGhpcywgY29udGV4dCwgbW9kZSwgZmly
c3RzLCBjb3VudHMsIGluc3RhbmNlQ291bnRzLCBiYXNlSW5zdGFuY2VzLCBkcmF3Y291bnQpOwog
fQpAQCAtNzM3LDYgKzc2Nyw4IEBAIGFuZ2xlOjpSZXN1bHQgQ29udGV4dEdMOjptdWx0aURyYXdF
bGVtZW50c0luc3RhbmNlZEJhc2VWZXJ0ZXhCYXNlSW5zdGFuY2UoCiAgICAgY29uc3QgR0x1aW50
ICpiYXNlSW5zdGFuY2VzLAogICAgIEdMc2l6ZWkgZHJhd2NvdW50KQogeworICAgIG1SZW5kZXJl
ci0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICAgIHJldHVybiByeDo6TXVsdGlEcmF3RWxlbWVu
dHNJbnN0YW5jZWRCYXNlVmVydGV4QmFzZUluc3RhbmNlR2VuZXJhbCgKICAgICAgICAgdGhpcywg
Y29udGV4dCwgbW9kZSwgY291bnRzLCB0eXBlLCBpbmRpY2VzLCBpbnN0YW5jZUNvdW50cywgYmFz
ZVZlcnRpY2VzLCBiYXNlSW5zdGFuY2VzLAogICAgICAgICBkcmF3Y291bnQpOwpAQCAtOTA5LDQg
Kzk0MSw5IEBAIHZvaWQgQ29udGV4dEdMOjpmbHVzaElmTmVjZXNzYXJ5QmVmb3JlRGVsZXRlVGV4
dHVyZXMoKQogICAgIG1SZW5kZXJlci0+Zmx1c2hJZk5lY2Vzc2FyeUJlZm9yZURlbGV0ZVRleHR1
cmVzKCk7CiB9CiAKK3ZvaWQgQ29udGV4dEdMOjptYXJrV29ya1N1Ym1pdHRlZCgpCit7CisgICAg
bVJlbmRlcmVyLT5tYXJrV29ya1N1Ym1pdHRlZCgpOworfQorCiB9ICAvLyBuYW1lc3BhY2UgcngK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9Db250ZXh0R0wuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9y
ZW5kZXJlci9nbC9Db250ZXh0R0wuaAppbmRleCBiNzJlMmUxMGZmZTdhYzQ2YzQ2MTRkZGU1ZGMw
NjE3YzMzYWQ4ZTA0Li4wYmIwNjNhZDA0YWIzZWU2ODI2NDExMjlhOTM1MTkzZjAxNzczNjQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIv
Z2wvQ29udGV4dEdMLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L3JlbmRlcmVyL2dsL0NvbnRleHRHTC5oCkBAIC0yNzIsNiArMjcyLDggQEAgY2xhc3MgQ29udGV4
dEdMIDogcHVibGljIENvbnRleHRJbXBsCiAgICAgdm9pZCBzZXROZWVkc0ZsdXNoQmVmb3JlRGVs
ZXRlVGV4dHVyZXMoKTsKICAgICB2b2lkIGZsdXNoSWZOZWNlc3NhcnlCZWZvcmVEZWxldGVUZXh0
dXJlcygpOwogCisgICAgdm9pZCBtYXJrV29ya1N1Ym1pdHRlZCgpOworCiAgICAgY29uc3QgZ2w6
OkRlYnVnICZnZXREZWJ1ZygpIGNvbnN0IHsgcmV0dXJuIG1TdGF0ZS5nZXREZWJ1ZygpOyB9CiAK
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJB
TkdMRS9yZW5kZXJlci9nbC9GZW5jZU5WR0wuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZlbmNlTlZHTC5jcHAKaW5kZXggZTU4ZTQ4MDA2YzM2
NmQ5YjIzOTNhYmYzNjljYmU3Y2I0OWRmMzY5NS4uYThjMDAyZjQ5M2M5NGYzNmZmM2Y1YWQ1NmQ3
NzhhMTQ1ZTllYWJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL3JlbmRlcmVyL2dsL0ZlbmNlTlZHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZlbmNlTlZHTC5jcHAKQEAgLTY5LDkgKzY5
LDExIEBAIEZlbmNlTlZTeW5jR0w6On5GZW5jZU5WU3luY0dMKCkKIGFuZ2xlOjpSZXN1bHQgRmVu
Y2VOVlN5bmNHTDo6c2V0KGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGVudW0gY29uZGl0
aW9uKQogewogICAgIEFTU0VSVChjb25kaXRpb24gPT0gR0xfQUxMX0NPTVBMRVRFRF9OVik7Ci0g
ICAgbVN5bmNPYmplY3QgPSBtRnVuY3Rpb25zLT5mZW5jZVN5bmMoR0xfU1lOQ19HUFVfQ09NTUFO
RFNfQ09NUExFVEUsIDApOwotICAgIEFOR0xFX0NIRUNLKEdldEltcGxBczxDb250ZXh0R0w+KGNv
bnRleHQpLCBtU3luY09iamVjdCAhPSAwLAotICAgICAgICAgICAgICAgICJnbEZlbmNlU3luYyBm
YWlsZWQgdG8gY3JlYXRlIGEgR0xzeW5jIG9iamVjdC4iLCBHTF9PVVRfT0ZfTUVNT1JZKTsKKyAg
ICBDb250ZXh0R0wgKmNvbnRleHRHTCA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwor
ICAgIG1TeW5jT2JqZWN0ICAgICAgICAgID0gbUZ1bmN0aW9ucy0+ZmVuY2VTeW5jKEdMX1NZTkNf
R1BVX0NPTU1BTkRTX0NPTVBMRVRFLCAwKTsKKyAgICBBTkdMRV9DSEVDSyhjb250ZXh0R0wsIG1T
eW5jT2JqZWN0ICE9IDAsICJnbEZlbmNlU3luYyBmYWlsZWQgdG8gY3JlYXRlIGEgR0xzeW5jIG9i
amVjdC4iLAorICAgICAgICAgICAgICAgIEdMX09VVF9PRl9NRU1PUlkpOworICAgIGNvbnRleHRH
TC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9GcmFtZWJ1ZmZlckdMLmNwcAppbmRleCBlN2JkZmJl
Y2RlZGU2NDk0ODE1NGE4MWJkN2M4YjE4ZDk3NWFkMjNhLi5mZTMwM2RkZjExMzY1ZjJhMjExNDQ3
NjgyYzExM2U2ZTA1NzM5YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9z
cmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvRnJhbWVidWZmZXJHTC5jcHAKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL0ZyYW1lYnVmZmVyR0wuY3Bw
CkBAIC00NzksNiArNDc5LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjppbnZhbGlk
YXRlU3ViKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LAogCiBhbmdsZTo6UmVzdWx0IEZyYW1l
YnVmZmVyR0w6OmNsZWFyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBHTGJpdGZpZWxkIG1h
c2spCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICA9IEdldEltcGxBczxDb250
ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgPSBHZXRG
dW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyID0g
R2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAKQEAgLTQ5Nyw2ICs0OTgsNyBAQCBhbmdsZTo6
UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0LCBH
TGJpdGZpZWxkIG1hc2spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMX05PTkUsIDAsIG51bGxwdHIsIDAuMGYsIDApOwogICAgIH0KIAorICAgIGNvbnRleHRH
TC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGlu
dWU7CiB9CiAKQEAgLTUwNSw2ICs1MDcsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6
OmNsZWFyQnVmZmVyZnYoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgZHJhd2J1ZmZlciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHTGZsb2F0ICp2YWx1ZXMp
CiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICA9IEdldEltcGxBczxDb250ZXh0
R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlvbnMgPSBHZXRGdW5j
dGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVNYW5hZ2VyID0gR2V0
U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAKQEAgLTUyNCw2ICs1MjcsNyBAQCBhbmdsZTo6UmVz
dWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVyZnYoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDhfdCAqPih2YWx1ZXMpLCAwLjBmLCAwKTsKICAgICB9CiAKKyAg
ICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1
bHQ6OkNvbnRpbnVlOwogfQogCkBAIC01MzIsNiArNTM2LDcgQEAgYW5nbGU6OlJlc3VsdCBGcmFt
ZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcnVpdihjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xpbnQgZHJhd2J1ZmZl
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR0x1
aW50ICp2YWx1ZXMpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAgICA9IEdldElt
cGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dMICpmdW5jdGlv
bnMgPSBHZXRGdW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJHTCAqc3RhdGVN
YW5hZ2VyID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAKQEAgLTU1MSw2ICs1NTYsNyBA
QCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVydWl2KGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QgKj4odmFsdWVzKSwgMC4wZiwgMCk7
CiAgICAgfQogCisgICAgY29udGV4dEdMLT5tYXJrV29ya1N1Ym1pdHRlZCgpOwogICAgIHJldHVy
biBhbmdsZTo6UmVzdWx0OjpDb250aW51ZTsKIH0KIApAQCAtNTU5LDYgKzU2NSw3IEBAIGFuZ2xl
OjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJpdihjb25zdCBnbDo6Q29udGV4dCAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGlu
dCBkcmF3YnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IEdMaW50ICp2YWx1ZXMpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAgICAg
ICA9IEdldEltcGxBczxDb250ZXh0R0w+KGNvbnRleHQpOwogICAgIGNvbnN0IEZ1bmN0aW9uc0dM
ICpmdW5jdGlvbnMgPSBHZXRGdW5jdGlvbnNHTChjb250ZXh0KTsKICAgICBTdGF0ZU1hbmFnZXJH
TCAqc3RhdGVNYW5hZ2VyID0gR2V0U3RhdGVNYW5hZ2VyR0woY29udGV4dCk7CiAKQEAgLTU3OCw2
ICs1ODUsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVyR0w6OmNsZWFyQnVmZmVyaXYoY29u
c3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCAqPih2YWx1ZXMpLCAw
LjBmLCAwKTsKICAgICB9CiAKKyAgICBjb250ZXh0R0wtPm1hcmtXb3JrU3VibWl0dGVkKCk7CiAg
ICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwogfQogCkBAIC01ODcsNiArNTk1LDcg
QEAgYW5nbGU6OlJlc3VsdCBGcmFtZWJ1ZmZlckdMOjpjbGVhckJ1ZmZlcmZpKGNvbnN0IGdsOjpD
b250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdMZmxvYXQgZGVwdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgR0xpbnQgc3RlbmNpbCkKIHsKKyAgICBDb250ZXh0R0wgKmNvbnRleHRHTCAgICAgICAg
ID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVuY3Rpb25zR0wg
KmZ1bmN0aW9ucyA9IEdldEZ1bmN0aW9uc0dMKGNvbnRleHQpOwogICAgIFN0YXRlTWFuYWdlckdM
ICpzdGF0ZU1hbmFnZXIgPSBHZXRTdGF0ZU1hbmFnZXJHTChjb250ZXh0KTsKIApAQCAtNjA2LDYg
KzYxNSw3IEBAIGFuZ2xlOjpSZXN1bHQgRnJhbWVidWZmZXJHTDo6Y2xlYXJCdWZmZXJmaShjb25z
dCBnbDo6Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbnVsbHB0ciwgZGVwdGgsIHN0ZW5jaWwpOwogICAgIH0KIAorICAgIGNvbnRl
eHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29u
dGludWU7CiB9CiAKQEAgLTcwOCw2ICs3MTgsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVmZmVy
R0w6OmJsaXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgR0xiaXRmaWVsZCBtYXNrLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdMZW51bSBmaWx0ZXIpCiB7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgICAg
ICAgICAgICAgID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CiAgICAgY29uc3QgRnVu
Y3Rpb25zR0wgKmZ1bmN0aW9ucyAgICAgID0gR2V0RnVuY3Rpb25zR0woY29udGV4dCk7CiAgICAg
U3RhdGVNYW5hZ2VyR0wgKnN0YXRlTWFuYWdlciAgICAgID0gR2V0U3RhdGVNYW5hZ2VyR0woY29u
dGV4dCk7CiAgICAgY29uc3QgYW5nbGU6OkZlYXR1cmVzR0wgJmZlYXR1cmVzID0gR2V0RmVhdHVy
ZXNHTChjb250ZXh0KTsKQEAgLTgyNiw2ICs4MzcsNyBAQCBhbmdsZTo6UmVzdWx0IEZyYW1lYnVm
ZmVyR0w6OmJsaXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmluYWxTb3VyY2VBcmVhLnkxKCksIGZpbmFsRGVzdEFyZWEueCwgZmlu
YWxEZXN0QXJlYS55LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsRGVzdEFy
ZWEueDEoKSwgZmluYWxEZXN0QXJlYS55MSgpLCBibGl0TWFzaywgZmlsdGVyKTsKIAorICAgIGNv
bnRleHRHTC0+bWFya1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6
Q29udGludWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9yZW5kZXJlci9nbC9RdWVyeUdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9RdWVyeUdMLmNwcAppbmRleCBhMDQ4Yjg0NjMyYjUw
OGNjMWM2ZjVlYzIxNmYxNDE5MTJmNzY5ZjIyLi43MTI1ZWQyODAxODBmMmIzZmI0NjlmMWY0NmE3
ZmYxODU4OTQ2NjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGli
QU5HTEUvcmVuZGVyZXIvZ2wvUXVlcnlHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1F1ZXJ5R0wuY3BwCkBAIC0xODIsNiArMTgyLDkg
QEAgYW5nbGU6OlJlc3VsdCBTdGFuZGFyZFF1ZXJ5R0w6OnJlc3VtZShjb25zdCBnbDo6Q29udGV4
dCAqY29udGV4dCkKIAogICAgICAgICBtRnVuY3Rpb25zLT5nZW5RdWVyaWVzKDEsICZtQWN0aXZl
UXVlcnkpOwogICAgICAgICBtU3RhdGVNYW5hZ2VyLT5iZWdpblF1ZXJ5KG1UeXBlLCB0aGlzLCBt
QWN0aXZlUXVlcnkpOworCisgICAgICAgIENvbnRleHRHTCAqY29udGV4dEdMID0gR2V0SW1wbEFz
PENvbnRleHRHTD4oY29udGV4dCk7CisgICAgICAgIGNvbnRleHRHTC0+bWFya1dvcmtTdWJtaXR0
ZWQoKTsKICAgICB9CiAKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CkBAIC0y
NDAsMTMgKzI0MywyMCBAQCBjbGFzcyBTeW5jUHJvdmlkZXJHTAogY2xhc3MgU3luY1Byb3ZpZGVy
R0xTeW5jIDogcHVibGljIFN5bmNQcm92aWRlckdMCiB7CiAgIHB1YmxpYzoKLSAgICBTeW5jUHJv
dmlkZXJHTFN5bmMoY29uc3QgRnVuY3Rpb25zR0wgKmZ1bmN0aW9ucykgOiBtRnVuY3Rpb25zKGZ1
bmN0aW9ucyksIG1TeW5jKG51bGxwdHIpCi0gICAgewotICAgICAgICBtU3luYyA9IG1GdW5jdGlv
bnMtPmZlbmNlU3luYyhHTF9TWU5DX0dQVV9DT01NQU5EU19DT01QTEVURSwgMCk7Ci0gICAgfQor
ICAgIFN5bmNQcm92aWRlckdMU3luYyhjb25zdCBGdW5jdGlvbnNHTCAqZnVuY3Rpb25zKSA6IG1G
dW5jdGlvbnMoZnVuY3Rpb25zKSwgbVN5bmMobnVsbHB0cikge30KIAogICAgIH5TeW5jUHJvdmlk
ZXJHTFN5bmMoKSBvdmVycmlkZSB7IG1GdW5jdGlvbnMtPmRlbGV0ZVN5bmMobVN5bmMpOyB9CiAK
KyAgICBhbmdsZTo6UmVzdWx0IGluaXQoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIGdsOjpR
dWVyeVR5cGUgdHlwZSkgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIENvbnRleHRHTCAqY29udGV4
dEdMID0gR2V0SW1wbEFzPENvbnRleHRHTD4oY29udGV4dCk7CisgICAgICAgIG1TeW5jICAgICAg
ICAgICAgICAgID0gbUZ1bmN0aW9ucy0+ZmVuY2VTeW5jKEdMX1NZTkNfR1BVX0NPTU1BTkRTX0NP
TVBMRVRFLCAwKTsKKyAgICAgICAgQU5HTEVfQ0hFQ0soY29udGV4dEdMLCBtU3luYyAhPSAwLCAi
Z2xGZW5jZVN5bmMgZmFpbGVkIHRvIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QuIiwKKyAgICAgICAg
ICAgICAgICAgICAgR0xfT1VUX09GX01FTU9SWSk7CisgICAgICAgIGNvbnRleHRHTC0+bWFya1dv
cmtTdWJtaXR0ZWQoKTsKKyAgICAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNvbnRpbnVlOwor
ICAgIH0KKwogICAgIGFuZ2xlOjpSZXN1bHQgZmx1c2goY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRl
eHQsIGJvb2wgZm9yY2UsIGJvb2wgKmZpbmlzaGVkKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
aWYgKGZvcmNlKQpAQCAtMzM4LDEyICszNDgsMTIgQEAgYW5nbGU6OlJlc3VsdCBTeW5jUXVlcnlH
TDo6ZW5kKGNvbnN0IGdsOjpDb250ZXh0ICpjb250ZXh0KQogICAgIGVsc2UgaWYgKG5hdGl2ZWds
OjpTdXBwb3J0c09jY2x1c2lvblF1ZXJpZXMobUZ1bmN0aW9ucykpCiAgICAgewogICAgICAgICBt
U3luY1Byb3ZpZGVyLnJlc2V0KG5ldyBTeW5jUHJvdmlkZXJHTFF1ZXJ5KG1GdW5jdGlvbnMpKTsK
LSAgICAgICAgQU5HTEVfVFJZKG1TeW5jUHJvdmlkZXItPmluaXQoY29udGV4dCwgZ2w6OlF1ZXJ5
VHlwZTo6QW55U2FtcGxlcykpOwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBBTkdM
RV9HTF9VTlJFQUNIQUJMRShHZXRJbXBsQXM8Q29udGV4dEdMPihjb250ZXh0KSk7CiAgICAgfQor
ICAgIEFOR0xFX1RSWShtU3luY1Byb3ZpZGVyLT5pbml0KGNvbnRleHQsIGdsOjpRdWVyeVR5cGU6
OkFueVNhbXBsZXMpKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJl
ci9nbC9SZW5kZXJlckdMLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS9yZW5kZXJlci9nbC9SZW5kZXJlckdMLmNwcAppbmRleCBkYzFkNTdhMTA0OTBmM2M0MWQyNTQx
NzA5OWZiZGIyNzllMGI3M2M1Li4zNzAxMmQyN2E5MDQ4NGFlMmVhZDkwZDdmYTI3ZWYxOTQyNmFi
MjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVu
ZGVyZXIvZ2wvUmVuZGVyZXJHTC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3Jj
L2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuY3BwCkBAIC0yMTUsOCArMjE1LDE0IEBA
IFJlbmRlcmVyR0w6On5SZW5kZXJlckdMKCkKIAogYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdMOjpm
bHVzaCgpCiB7CisgICAgaWYgKCFtV29ya0RvbmVTaW5jZUxhc3RGbHVzaCAmJiAhbU5lZWRzRmx1
c2hCZWZvcmVEZWxldGVUZXh0dXJlcykKKyAgICB7CisgICAgICAgIHJldHVybiBhbmdsZTo6UmVz
dWx0OjpDb250aW51ZTsKKyAgICB9CisKICAgICBtRnVuY3Rpb25zLT5mbHVzaCgpOwogICAgIG1O
ZWVkc0ZsdXNoQmVmb3JlRGVsZXRlVGV4dHVyZXMgPSBmYWxzZTsKKyAgICBtV29ya0RvbmVTaW5j
ZUxhc3RGbHVzaCAgICAgICAgID0gZmFsc2U7CiAgICAgcmV0dXJuIGFuZ2xlOjpSZXN1bHQ6OkNv
bnRpbnVlOwogfQogCkBAIC0yMjksNiArMjM1LDcgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdM
OjpmaW5pc2goKQogCiAgICAgbUZ1bmN0aW9ucy0+ZmluaXNoKCk7CiAgICAgbU5lZWRzRmx1c2hC
ZWZvcmVEZWxldGVUZXh0dXJlcyA9IGZhbHNlOworICAgIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNo
ICAgICAgICAgPSBmYWxzZTsKIAogICAgIGlmIChtRmVhdHVyZXMuZmluaXNoRG9lc05vdENhdXNl
UXVlcmllc1RvQmVBdmFpbGFibGUuZW5hYmxlZCAmJiBtVXNlRGVidWdPdXRwdXQpCiAgICAgewpA
QCAtMzcwLDIzICszNzcsMjcgQEAgYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdMOjpkaXNwYXRjaENv
bXB1dGUoY29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHTHVpbnQgbnVtR3JvdXBzWikKIHsKICAgICBtRnVuY3Rpb25z
LT5kaXNwYXRjaENvbXB1dGUobnVtR3JvdXBzWCwgbnVtR3JvdXBzWSwgbnVtR3JvdXBzWik7Cisg
ICAgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggPSB0cnVlOwogICAgIHJldHVybiBhbmdsZTo6UmVz
dWx0OjpDb250aW51ZTsKIH0KIAogYW5nbGU6OlJlc3VsdCBSZW5kZXJlckdMOjpkaXNwYXRjaENv
bXB1dGVJbmRpcmVjdChjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCwgR0xpbnRwdHIgaW5kaXJl
Y3QpCiB7CiAgICAgbUZ1bmN0aW9ucy0+ZGlzcGF0Y2hDb21wdXRlSW5kaXJlY3QoaW5kaXJlY3Qp
OworICAgIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoID0gdHJ1ZTsKICAgICByZXR1cm4gYW5nbGU6
OlJlc3VsdDo6Q29udGludWU7CiB9CiAKIGFuZ2xlOjpSZXN1bHQgUmVuZGVyZXJHTDo6bWVtb3J5
QmFycmllcihHTGJpdGZpZWxkIGJhcnJpZXJzKQogewogICAgIG1GdW5jdGlvbnMtPm1lbW9yeUJh
cnJpZXIoYmFycmllcnMpOworICAgIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoID0gdHJ1ZTsKICAg
ICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9CiBhbmdsZTo6UmVzdWx0IFJlbmRl
cmVyR0w6Om1lbW9yeUJhcnJpZXJCeVJlZ2lvbihHTGJpdGZpZWxkIGJhcnJpZXJzKQogewogICAg
IG1GdW5jdGlvbnMtPm1lbW9yeUJhcnJpZXJCeVJlZ2lvbihiYXJyaWVycyk7CisgICAgbVdvcmtE
b25lU2luY2VMYXN0Rmx1c2ggPSB0cnVlOwogICAgIHJldHVybiBhbmdsZTo6UmVzdWx0OjpDb250
aW51ZTsKIH0KIApAQCAtNDY2LDYgKzQ3NywxMSBAQCB2b2lkIFJlbmRlcmVyR0w6OnNldE5lZWRz
Rmx1c2hCZWZvcmVEZWxldGVUZXh0dXJlcygpCiAgICAgbU5lZWRzRmx1c2hCZWZvcmVEZWxldGVU
ZXh0dXJlcyA9IHRydWU7CiB9CiAKK3ZvaWQgUmVuZGVyZXJHTDo6bWFya1dvcmtTdWJtaXR0ZWQo
KQoreworICAgIG1Xb3JrRG9uZVNpbmNlTGFzdEZsdXNoID0gdHJ1ZTsKK30KKwogdm9pZCBSZW5k
ZXJlckdMOjpmbHVzaElmTmVjZXNzYXJ5QmVmb3JlRGVsZXRlVGV4dHVyZXMoKQogewogICAgIGlm
IChtTmVlZHNGbHVzaEJlZm9yZURlbGV0ZVRleHR1cmVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9yZW5kZXJlci9nbC9SZW5kZXJlckdM
LmgKaW5kZXggMWMzNmM4MjMyMTYyZThhYjhiMDA5YTIwYzMyMmM0ZmVkMGNjOTg3OS4uZjUyZDA5
NmMxNDNhYjcwZWM0NjViZDc1ZmE2YjAyZGJhODhlMWVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2dsL1JlbmRlcmVyR0wuaAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvUmVuZGVy
ZXJHTC5oCkBAIC0xMzgsNiArMTM4LDggQEAgY2xhc3MgUmVuZGVyZXJHTCA6IGFuZ2xlOjpOb25D
b3B5YWJsZQogICAgIHZvaWQgc2V0TmVlZHNGbHVzaEJlZm9yZURlbGV0ZVRleHR1cmVzKCk7CiAg
ICAgdm9pZCBmbHVzaElmTmVjZXNzYXJ5QmVmb3JlRGVsZXRlVGV4dHVyZXMoKTsKIAorICAgIHZv
aWQgbWFya1dvcmtTdWJtaXR0ZWQoKTsKKwogICBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBXb3Jr
ZXJDb250ZXh0ICpjcmVhdGVXb3JrZXJDb250ZXh0KHN0ZDo6c3RyaW5nICppbmZvTG9nKSA9IDA7
CiAKQEAgLTE2NSw2ICsxNjcsOCBAQCBjbGFzcyBSZW5kZXJlckdMIDogYW5nbGU6Ok5vbkNvcHlh
YmxlCiAgICAgbXV0YWJsZSBnbDo6TGltaXRhdGlvbnMgbU5hdGl2ZUxpbWl0YXRpb25zOwogICAg
IG11dGFibGUgTXVsdGl2aWV3SW1wbGVtZW50YXRpb25UeXBlR0wgbU11bHRpdmlld0ltcGxlbWVu
dGF0aW9uVHlwZTsKIAorICAgIGJvb2wgbVdvcmtEb25lU2luY2VMYXN0Rmx1c2ggPSBmYWxzZTsK
KwogICAgIC8vIFRoZSB0aHJlYWQtdG8tY29udGV4dCBtYXBwaW5nIGZvciB0aGUgY3VycmVudGx5
IGFjdGl2ZSB3b3JrZXIgdGhyZWFkcy4KICAgICBzdGQ6OnVub3JkZXJlZF9tYXA8c3RkOjp0aHJl
YWQ6OmlkLCBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyQ29udGV4dD4+IG1DdXJyZW50V29ya2VyQ29u
dGV4dHM7CiAgICAgLy8gVGhlIHdvcmtlciBjb250ZXh0cyBhdmFpbGFibGUgdG8gdXNlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3JlbmRlcmVyL2ds
L1N5bmNHTC5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvU3luY0dMLmNwcAppbmRleCA2NDc5ZTAxMzJmMDQzYjczNjA1Yzg4YTJiYWRmMjI4ZDdi
M2QxZThkLi42NzIxNGQ0MTRkN2E0NWZhOTRhNTEzNjU1NTNlYWJmZWNlODU5OGNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVyZXIvZ2wvU3lu
Y0dMLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvcmVuZGVy
ZXIvZ2wvU3luY0dMLmNwcApAQCAtMzYsOSArMzYsMTEgQEAgdm9pZCBTeW5jR0w6Om9uRGVzdHJv
eShjb25zdCBnbDo6Q29udGV4dCAqY29udGV4dCkKIGFuZ2xlOjpSZXN1bHQgU3luY0dMOjpzZXQo
Y29uc3QgZ2w6OkNvbnRleHQgKmNvbnRleHQsIEdMZW51bSBjb25kaXRpb24sIEdMYml0ZmllbGQg
ZmxhZ3MpCiB7CiAgICAgQVNTRVJUKGNvbmRpdGlvbiA9PSBHTF9TWU5DX0dQVV9DT01NQU5EU19D
T01QTEVURSAmJiBmbGFncyA9PSAwKTsKLSAgICBtU3luY09iamVjdCA9IG1GdW5jdGlvbnMtPmZl
bmNlU3luYyhjb25kaXRpb24sIGZsYWdzKTsKLSAgICBBTkdMRV9DSEVDSyhHZXRJbXBsQXM8Q29u
dGV4dEdMPihjb250ZXh0KSwgbVN5bmNPYmplY3QgIT0gMCwKLSAgICAgICAgICAgICAgICAiZ2xG
ZW5jZVN5bmMgZmFpbGVkIHRvIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QuIiwgR0xfT1VUX09GX01F
TU9SWSk7CisgICAgQ29udGV4dEdMICpjb250ZXh0R0wgPSBHZXRJbXBsQXM8Q29udGV4dEdMPihj
b250ZXh0KTsKKyAgICBtU3luY09iamVjdCAgICAgICAgICA9IG1GdW5jdGlvbnMtPmZlbmNlU3lu
Yyhjb25kaXRpb24sIGZsYWdzKTsKKyAgICBBTkdMRV9DSEVDSyhjb250ZXh0R0wsIG1TeW5jT2Jq
ZWN0ICE9IDAsICJnbEZlbmNlU3luYyBmYWlsZWQgdG8gY3JlYXRlIGEgR0xzeW5jIG9iamVjdC4i
LAorICAgICAgICAgICAgICAgIEdMX09VVF9PRl9NRU1PUlkpOworICAgIGNvbnRleHRHTC0+bWFy
a1dvcmtTdWJtaXR0ZWQoKTsKICAgICByZXR1cm4gYW5nbGU6OlJlc3VsdDo6Q29udGludWU7CiB9
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>