<?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>206645</bug_id>
          
          <creation_ts>2020-01-23 00:51:44 -0800</creation_ts>
          <short_desc>Add missed WebRTC media-source and remote-inbound-rtp stats</short_desc>
          <delta_ts>2022-03-31 13:53:14 -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>WebRTC</component>
          <version>Safari 13</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="olsviate">olsviate</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>csantos</cc>
    
    <cc>dmendozab</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>german.goldenstein</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jaimiedaly</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1610001</commentid>
    <comment_count>0</comment_count>
    <who name="olsviate">olsviate</who>
    <bug_when>2020-01-23 00:51:44 -0800</bug_when>
    <thetext>Please add media-source and remote-inbound-rtp stats at similar level as Chrome or at least the following stats:


- media-source (both Audio and Video):
width
height
framesPerSecond
totalAudioEnergy
audioLevel
totalSamplesDuration


- mediaSourceId to outbound-rtp


- remote-inbound-rtp:
jitter
packetsLost
roundTripTime
localId</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610086</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-23 07:11:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/58833958&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660181</commentid>
    <comment_count>2</comment_count>
      <attachid>401328</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-08 06:39:14 -0700</bug_when>
    <thetext>Created attachment 401328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660267</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-08 11:10:06 -0700</bug_when>
    <thetext>Committed r262726: &lt;https://trac.webkit.org/changeset/262726&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401328.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709601</commentid>
    <comment_count>4</comment_count>
    <who name="German Goldenstein">german.goldenstein</who>
    <bug_when>2020-11-20 12:48:04 -0800</bug_when>
    <thetext>Hello! Is this bug already fixed? I&apos;m not able to see packetsLost in &quot;remote-inbound-rtp&quot; for audio nor for video.

Also, kind and mediaType are empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772717</commentid>
    <comment_count>5</comment_count>
    <who name="">jaimiedaly</who>
    <bug_when>2021-06-25 09:59:26 -0700</bug_when>
    <thetext>Hello - I wanted to follow up about this bug as well - does safari plan to implement these data points on 
remote-inbout-rtp stats?
jitter
packetsLost
roundTripTime
localId

Right now there is not data associated with these four like there is in Chrome and firefox</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794929</commentid>
    <comment_count>6</comment_count>
    <who name="Diego Mendoza">dmendozab</who>
    <bug_when>2021-09-19 13:50:06 -0700</bug_when>
    <thetext>Hello, any updates on this bug? Jitter and packetsLost are still not present in Safari 15

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856956</commentid>
    <comment_count>7</comment_count>
    <who name="Charlie">csantos</who>
    <bug_when>2022-03-31 13:53:14 -0700</bug_when>
    <thetext>Why is this issue marked as fixed? packetsLost is still missing from remote-inbound-rtp stats.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401328</attachid>
            <date>2020-06-08 06:39:14 -0700</date>
            <delta_ts>2020-06-08 11:10:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206645-20200608153912.patch</filename>
            <type>text/plain</type>
            <size>34680</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBkYWMzODlmZmJhNTVlMjIyYTIwMmIwYmFkYjRmMzdhMGI3MWU0YzdiLi5kODM1
ZWNlY2E1MWUzZmNjZGQwZjNiZmJlMzllYzRjMDRkMGFkZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNi0wOCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1pc3NlZCBXZWJSVEMgbWVk
aWEtc291cmNlIGFuZCByZW1vdGUtaW5ib3VuZC1ydHAgc3RhdHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjY0NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNTg4MzM5NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9saWJ3ZWJydGMubWFjLmV4cDoKKwogMjAyMC0wNi0wNSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWQgc3VwcG9ydCBmb3IgbWVkaWEtc291cmNlIHN0
YXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNWRhZjViZDk0YWI5MDM5N2JkZDM1MjNhYmQzZWZmMzkzOGJmYTgx
Mi4uNGFmNGU1Njg4Y2U1NDZjM2U1ZWU3MzY2MWVkODEyMDBkYzZhMGNmNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM0IEBACisyMDIwLTA2LTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgbWlzc2VkIFdlYlJUQyBtZWRpYS1zb3VyY2UgYW5kIHJlbW90
ZS1pbmJvdW5kLXJ0cCBzdGF0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2NjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODgzMzk1OD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgc3Rh
dHMgYWNjb3JkaW5nIGxhdGVzdCBzcGVjIGFuZCB3ZWJydGMgYmFja2VuZC4KKyAgICAgICAgV2Ug
c3RpbGwgZXhwb3NlIG9ic29sZXRlIHRyYWNrSWQgZm9yIGNvbnNpc3RlbmN5IHdpdGggZXhpc3Rp
bmcgV1BUIHRlc3RzLgorICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIGFuZCB1cGRhdGVkIHRl
c3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UlRDU3RhdHNSZXBvcnQ6OkluYm91bmRSdHBTdHJlYW1TdGF0czo6
SW5ib3VuZFJ0cFN0cmVhbVN0YXRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1N0YXRzUmVwb3J0
OjpSZW1vdGVJbmJvdW5kUnRwU3RyZWFtU3RhdHM6OlJlbW90ZUluYm91bmRSdHBTdHJlYW1TdGF0
cyk6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0c1JlcG9ydDo6T3V0Ym91bmRSdHBTdHJlYW1T
dGF0czo6T3V0Ym91bmRSdHBTdHJlYW1TdGF0cyk6CisgICAgICAgIChXZWJDb3JlOjpSVENTdGF0
c1JlcG9ydDo6SW5ib3VuZFJUUFN0cmVhbVN0YXRzOjpJbmJvdW5kUlRQU3RyZWFtU3RhdHMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRDU3RhdHNSZXBvcnQ6Ok91dGJvdW5kUlRQU3Ry
ZWFtU3RhdHM6Ok91dGJvdW5kUlRQU3RyZWFtU3RhdHMpOiBEZWxldGVkLgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1N0YXRzQ29sbGVjdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmZpbGxSdHBTdHJlYW1TdGF0cyk6CisgICAgICAgIChXZWJDb3JlOjpmaWxs
UmVjZWl2ZWRSdHBTdHJlYW1TdGF0cyk6CisgICAgICAgIChXZWJDb3JlOjpmaWxsSW5ib3VuZFJ0
cFN0cmVhbVN0YXRzKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxSZW1vdGVJbmJvdW5kUnRwU3Ry
ZWFtU3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbFNlbnRSdHBTdHJlYW1TdGF0cyk6Cisg
ICAgICAgIChXZWJDb3JlOjpmaWxsT3V0Ym91bmRSdHBTdHJlYW1TdGF0cyk6CisgICAgICAgIChX
ZWJDb3JlOjppbml0aWFsaXplUlRDU3RhdHNSZXBvcnRCYWNraW5nTWFwKToKKyAgICAgICAgKFdl
YkNvcmU6OmZpbGxSVENSVFBTdHJlYW1TdGF0cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpmaWxsSW5ib3VuZFJUUFN0cmVhbVN0YXRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OmZpbGxPdXRib3VuZFJUUFN0cmVhbVN0YXRzKTogRGVsZXRlZC4KKwogMjAyMC0wNi0wOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIG9uZSBhdWRpbyB1
bml0IGZvciBhbGwgdHJhY2tzIG9mIGEgZ2l2ZW4gcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Mu
ZXhwCmluZGV4IGI4MDA1YTY5YmEyZDUxYzUyYWE3Yzc2ZTkyOGU5ZjU0NzAwZWQwYTUuLmM1MTcw
MGU0NzI5YTI2ZGYyOTBmMGMzYTNmOWM0YTMyYWU1ODU0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cAorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlP
Uy5leHAKQEAgLTM1LDYgKzM1LDcgQEAgX19aTjZ3ZWJydGMyNFJUQ01lZGlhU3RyZWFtVHJhY2tT
dGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjVSVENPdXRib3VuZFJUUFN0cmVhbVN0YXRzNWtUeXBl
RQogX19aTjZ3ZWJydGMxOVJUQ0F1ZGlvU291cmNlU3RhdHM1a1R5cGVFCiBfX1pONndlYnJ0YzE5
UlRDVmlkZW9Tb3VyY2VTdGF0czVrVHlwZUUKK19fWk42d2VicnRjMzBSVENSZW1vdGVJbmJvdW5k
UnRwU3RyZWFtU3RhdHM1a1R5cGVFCiBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50
ZXJmYWNlNmtPZmZlckUKIF9fWk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U3
a0Fuc3dlckUKIF9fWk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U5a1ByQW5z
d2VyRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRp
b25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCmluZGV4IGI4MDA1YTY5YmEyZDUxYzUy
YWE3Yzc2ZTkyOGU5ZjU0NzAwZWQwYTUuLmM1MTcwMGU0NzI5YTI2ZGYyOTBmMGMzYTNmOWM0YTMy
YWU1ODU0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1
cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKQEAgLTM1LDYgKzM1LDcg
QEAgX19aTjZ3ZWJydGMyNFJUQ01lZGlhU3RyZWFtVHJhY2tTdGF0czVrVHlwZUUKIF9fWk42d2Vi
cnRjMjVSVENPdXRib3VuZFJUUFN0cmVhbVN0YXRzNWtUeXBlRQogX19aTjZ3ZWJydGMxOVJUQ0F1
ZGlvU291cmNlU3RhdHM1a1R5cGVFCiBfX1pONndlYnJ0YzE5UlRDVmlkZW9Tb3VyY2VTdGF0czVr
VHlwZUUKK19fWk42d2VicnRjMzBSVENSZW1vdGVJbmJvdW5kUnRwU3RyZWFtU3RhdHM1a1R5cGVF
CiBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlNmtPZmZlckUKIF9fWk42
d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U3a0Fuc3dlckUKIF9fWk42d2VicnRj
MjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U5a1ByQW5zd2VyRQpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhw
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5t
YWMuZXhwCmluZGV4IDc0ZDgxYjM1YzdjZjI4NTk1YTFiMTQwYzYwOTI3ZGE2NmRlZDM1ODEuLmE0
N2Q5NjJmNjFiODZmMTNhYWUzMjgwZGU3ZDQ4MGU5OGFkNWQyZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
Lm1hYy5leHAKQEAgLTM1LDYgKzM1LDcgQEAgX19aTjZ3ZWJydGMyNFJUQ01lZGlhU3RyZWFtVHJh
Y2tTdGF0czVrVHlwZUUKIF9fWk42d2VicnRjMjVSVENPdXRib3VuZFJUUFN0cmVhbVN0YXRzNWtU
eXBlRQogX19aTjZ3ZWJydGMxOVJUQ0F1ZGlvU291cmNlU3RhdHM1a1R5cGVFCiBfX1pONndlYnJ0
YzE5UlRDVmlkZW9Tb3VyY2VTdGF0czVrVHlwZUUKK19fWk42d2VicnRjMzBSVENSZW1vdGVJbmJv
dW5kUnRwU3RyZWFtU3RhdHM1a1R5cGVFCiBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9u
SW50ZXJmYWNlNmtPZmZlckUKIF9fWk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZh
Y2U3a0Fuc3dlckUKIF9fWk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2U5a1By
QW5zd2VyRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTdGF0c1JlcG9ydC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
dGF0c1JlcG9ydC5oCmluZGV4IGJhNzYwOTQzM2E4MjBiNGE0ZTk4ZDAwNjZkYWVlNTM1MmZkOTlj
ZTIuLjU2MWE0ODAyOGRhMTU2ZGI0ZmU4ZTYxYmFjNTQwNzE5NDU3ZmVhMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmgKQEAg
LTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogICAgICAgICBPdXRib3VuZFJ0cCwKICAgICAgICAgUGVl
ckNvbm5lY3Rpb24sCiAgICAgICAgIFJlbW90ZUNhbmRpZGF0ZSwKKyAgICAgICAgUmVtb3RlSW5i
b3VuZFJ0cCwKICAgICAgICAgVHJhY2ssCiAgICAgICAgIFRyYW5zcG9ydAogICAgIH07CkBAIC01
OCw1MCArNTksMTQxIEBAIHB1YmxpYzoKICAgICAgICAgU3RyaW5nIGlkOwogICAgIH07CiAKLSAg
ICBzdHJ1Y3QgUlRDUlRQU3RyZWFtU3RhdHMgOiBTdGF0cyB7Ci0gICAgICAgIE9wdGlvbmFsPHVp
bnQzMl90PiBzc3JjOwotICAgICAgICBib29sIGlzUmVtb3RlIHsgZmFsc2UgfTsKKyAgICBzdHJ1
Y3QgUnRwU3RyZWFtU3RhdHMgOiBTdGF0cyB7CisgICAgICAgIHVpbnQzMl90IHNzcmMgeyAwIH07
CisgICAgICAgIFN0cmluZyBraW5kOwogICAgICAgICBTdHJpbmcgbWVkaWFUeXBlOwotCi0gICAg
ICAgIFN0cmluZyB0cmFja0lkOwogICAgICAgICBTdHJpbmcgdHJhbnNwb3J0SWQ7CiAgICAgICAg
IFN0cmluZyBjb2RlY0lkOwotICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gZmlyQ291bnQ7Ci0g
ICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBwbGlDb3VudDsKLSAgICAgICAgT3B0aW9uYWw8dWlu
dDMyX3Q+IG5hY2tDb3VudDsKLSAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHNsaUNvdW50Owot
ICAgICAgICBPcHRpb25hbDx1aW50NjRfdD4gcXBTdW07CiAgICAgfTsKIAotICAgIHN0cnVjdCBJ
bmJvdW5kUlRQU3RyZWFtU3RhdHMgOiBSVENSVFBTdHJlYW1TdGF0cyB7Ci0gICAgICAgIEluYm91
bmRSVFBTdHJlYW1TdGF0cygpIHsgdHlwZSA9IFJUQ1N0YXRzUmVwb3J0OjpUeXBlOjpJbmJvdW5k
UnRwOyB9Ci0KLSAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHBhY2tldHNSZWNlaXZlZDsKLSAg
ICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJ5dGVzUmVjZWl2ZWQ7Ci0gICAgICAgIE9wdGlvbmFs
PHVpbnQzMl90PiBwYWNrZXRzTG9zdDsKKyAgICBzdHJ1Y3QgUmVjZWl2ZWRSdHBTdHJlYW1TdGF0
cyA6IFJ0cFN0cmVhbVN0YXRzIHsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHBhY2tldHNS
ZWNlaXZlZDsKKyAgICAgICAgT3B0aW9uYWw8aW50NjRfdD4gcGFja2V0c0xvc3Q7CiAgICAgICAg
IE9wdGlvbmFsPGRvdWJsZT4gaml0dGVyOwotICAgICAgICBPcHRpb25hbDxkb3VibGU+IGZyYWN0
aW9uTG9zdDsKLSAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHBhY2tldHNEaXNjYXJkZWQ7Ci0g
ICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBwYWNrZXRzUmVwYWlyZWQ7Ci0gICAgICAgIE9wdGlv
bmFsPHVpbnQzMl90PiBidXJzdFBhY2tldHNMb3N0OwotICAgICAgICBPcHRpb25hbDx1aW50MzJf
dD4gYnVyc3RQYWNrZXRzRGlzY2FyZGVkOworICAgICAgICBPcHRpb25hbDx1aW50NjRfdD4gcGFj
a2V0c0Rpc2NhcmRlZDsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHBhY2tldHNSZXBhaXJl
ZDsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJ1cnN0UGFja2V0c0xvc3Q7CisgICAgICAg
IE9wdGlvbmFsPHVpbnQ2NF90PiBidXJzdFBhY2tldHNEaXNjYXJkZWQ7CiAgICAgICAgIE9wdGlv
bmFsPHVpbnQzMl90PiBidXJzdExvc3NDb3VudDsKICAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+
IGJ1cnN0RGlzY2FyZENvdW50OwogICAgICAgICBPcHRpb25hbDxkb3VibGU+IGJ1cnN0TG9zc1Jh
dGU7CiAgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gYnVyc3REaXNjYXJkUmF0ZTsKICAgICAgICAg
T3B0aW9uYWw8ZG91YmxlPiBnYXBMb3NzUmF0ZTsKICAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBn
YXBEaXNjYXJkUmF0ZTsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IGZyYW1lc0Ryb3BwZWQ7
CisgICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBwYXJ0aWFsRnJhbWVzTG9zdDsKKyAgICAgICAg
T3B0aW9uYWw8dWludDMyX3Q+IGZ1bGxGcmFtZXNMb3N0OworICAgIH07CisKKyAgICBzdHJ1Y3Qg
SW5ib3VuZFJ0cFN0cmVhbVN0YXRzIDogUmVjZWl2ZWRSdHBTdHJlYW1TdGF0cyB7CisgICAgICAg
IEluYm91bmRSdHBTdHJlYW1TdGF0cygpIHsgdHlwZSA9IFJUQ1N0YXRzUmVwb3J0OjpUeXBlOjpJ
bmJvdW5kUnRwOyB9CisKKyAgICAgICAgU3RyaW5nIHJlY2VpdmVySWQ7CisgICAgICAgIFN0cmlu
ZyByZW1vdGVJZDsKICAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IGZyYW1lc0RlY29kZWQ7Cisg
ICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBrZXlGcmFtZXNEZWNvZGVkOworICAgICAgICBPcHRp
b25hbDx1aW50MzJfdD4gZnJhbWVXaWR0aDsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IGZy
YW1lSGVpZ2h0OworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gZnJhbWVCaXREZXB0aDsKKyAg
ICAgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFtZXNQZXJTZWNvbmQ7CisgICAgICAgIE9wdGlvbmFs
PHVpbnQ2NF90PiBxcFN1bTsKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiB0b3RhbERlY29kZVRp
bWU7CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gdG90YWxJbnRlckZyYW1lRGVsYXk7CisgICAg
ICAgIE9wdGlvbmFsPGRvdWJsZT4gdG90YWxTcXVhcmVkSW50ZXJGcmFtZURlbGF5OworICAgICAg
ICBPcHRpb25hbDxib29sPiAgdm9pY2VBY3Rpdml0eUZsYWc7CisgICAgICAgIE9wdGlvbmFsPGRv
dWJsZT4gbGFzdFBhY2tldFJlY2VpdmVkVGltZXN0YW1wOworICAgICAgICBPcHRpb25hbDxkb3Vi
bGU+IGF2ZXJhZ2VSdGNwSW50ZXJ2YWw7CisgICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBoZWFk
ZXJCeXRlc1JlY2VpdmVkOworICAgICAgICBPcHRpb25hbDx1aW50NjRfdD4gZmVjUGFja2V0c1Jl
Y2VpdmVkOworICAgICAgICBPcHRpb25hbDx1aW50NjRfdD4gZmVjUGFja2V0c0Rpc2NhcmRlZDsK
KyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGJ5dGVzUmVjZWl2ZWQ7CisgICAgICAgIE9wdGlv
bmFsPHVpbnQ2NF90PiBwYWNrZXRzRmFpbGVkRGVjcnlwdGlvbjsKKyAgICAgICAgT3B0aW9uYWw8
dWludDY0X3Q+IHBhY2tldHNEdXBsaWNhdGVkOworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4g
bmFja0NvdW50OworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gZmlyQ291bnQ7CisgICAgICAg
IE9wdGlvbmFsPHVpbnQzMl90PiBwbGlDb3VudDsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+
IHNsaUNvdW50OworICAgICAgICBPcHRpb25hbDxkb3VibGU+IGVzdGltYXRlZFBsYXlvdXRUaW1l
c3RhbXA7CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gaml0dGVyQnVmZmVyRGVsYXk7CisgICAg
ICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBqaXR0ZXJCdWZmZXJFbWl0dGVkQ291bnQ7CisgICAgICAg
IE9wdGlvbmFsPHVpbnQ2NF90PiB0b3RhbFNhbXBsZXNSZWNlaXZlZDsKKyAgICAgICAgT3B0aW9u
YWw8dWludDY0X3Q+IHNhbXBsZXNEZWNvZGVkV2l0aFNpbGs7CisgICAgICAgIE9wdGlvbmFsPHVp
bnQ2NF90PiBzYW1wbGVzRGVjb2RlZFdpdGhDZWx0OworICAgICAgICBPcHRpb25hbDx1aW50NjRf
dD4gY29uY2VhbGVkU2FtcGxlczsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHNpbGVudENv
bmNlYWxlZFNhbXBsZXM7CisgICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBjb25jZWFsbWVudEV2
ZW50czsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IGluc2VydGVkU2FtcGxlc0ZvckRlY2Vs
ZXJhdGlvbjsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHJlbW92ZWRTYW1wbGVzRm9yQWNj
ZWxlcmF0aW9uOworICAgICAgICBPcHRpb25hbDxkb3VibGU+IGF1ZGlvTGV2ZWw7CisgICAgICAg
IE9wdGlvbmFsPGRvdWJsZT4gdG90YWxBdWRpb0VuZXJneTsKKyAgICAgICAgT3B0aW9uYWw8ZG91
YmxlPiB0b3RhbFNhbXBsZXNEdXJhdGlvbjsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IGZy
YW1lc1JlY2VpdmVkOworCisgICAgICAgIFN0cmluZyB0cmFja0lkOwogICAgIH07CiAKLSAgICBz
dHJ1Y3QgT3V0Ym91bmRSVFBTdHJlYW1TdGF0cyA6IFJUQ1JUUFN0cmVhbVN0YXRzIHsKLSAgICAg
ICAgT3V0Ym91bmRSVFBTdHJlYW1TdGF0cygpIHsgdHlwZSA9IFJUQ1N0YXRzUmVwb3J0OjpUeXBl
OjpPdXRib3VuZFJ0cDsgfQorICAgIHN0cnVjdCBSZW1vdGVJbmJvdW5kUnRwU3RyZWFtU3RhdHMg
OiBSZWNlaXZlZFJ0cFN0cmVhbVN0YXRzIHsKKyAgICAgICAgUmVtb3RlSW5ib3VuZFJ0cFN0cmVh
bVN0YXRzKCkgeyB0eXBlID0gUlRDU3RhdHNSZXBvcnQ6OlR5cGU6OlJlbW90ZUluYm91bmRSdHA7
IH0KIAorICAgICAgICBTdHJpbmcgbG9jYWxJZDsKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBy
b3VuZFRyaXBUaW1lOworICAgICAgICBPcHRpb25hbDxkb3VibGU+IHRvdGFsUm91bmRUcmlwVGlt
ZTsKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFjdGlvbkxvc3Q7CisgICAgICAgIE9wdGlv
bmFsPHVpbnQ2NF90PiByZXBvcnRzUmVjZWl2ZWQ7CisgICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90
PiByb3VuZFRyaXBUaW1lTWVhc3VyZW1lbnRzOworICAgIH07CisKKyAgICBzdHJ1Y3QgU2VudFJ0
cFN0cmVhbVN0YXRzIDogUnRwU3RyZWFtU3RhdHMgewogICAgICAgICBPcHRpb25hbDx1aW50MzJf
dD4gcGFja2V0c1NlbnQ7CiAgICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBieXRlc1NlbnQ7Cisg
ICAgfTsKKworICAgIHN0cnVjdCBPdXRib3VuZFJ0cFN0cmVhbVN0YXRzIDogU2VudFJ0cFN0cmVh
bVN0YXRzIHsKKyAgICAgICAgT3V0Ym91bmRSdHBTdHJlYW1TdGF0cygpIHsgdHlwZSA9IFJUQ1N0
YXRzUmVwb3J0OjpUeXBlOjpPdXRib3VuZFJ0cDsgfQorCisgICAgICAgIE9wdGlvbmFsPHVpbnQz
Ml90PiBydHhTc3JjOworICAgICAgICBTdHJpbmcgbWVkaWFTb3VyY2VJZDsKKyAgICAgICAgU3Ry
aW5nIHNlbmRlcklkOworICAgICAgICBTdHJpbmcgcmVtb3RlSWQ7CisgICAgICAgIFN0cmluZyBy
aWQ7CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gbGFzdFBhY2tldFNlbnRUaW1lc3RhbXA7Cisg
ICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBoZWFkZXJCeXRlc1NlbnQ7CisgICAgICAgIE9wdGlv
bmFsPHVpbnQzMl90PiBwYWNrZXRzRGlzY2FyZGVkT25TZW5kOworICAgICAgICBPcHRpb25hbDx1
aW50NjRfdD4gYnl0ZXNEaXNjYXJkZWRPblNlbmQ7CisgICAgICAgIE9wdGlvbmFsPHVpbnQzMl90
PiBmZWNQYWNrZXRzU2VudDsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHJldHJhbnNtaXR0
ZWRQYWNrZXRzU2VudDsKKyAgICAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHJldHJhbnNtaXR0ZWRC
eXRlc1NlbnQ7CiAgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gdGFyZ2V0Qml0cmF0ZTsKKyAgICAg
ICAgT3B0aW9uYWw8dWludDY0X3Q+IHRvdGFsRW5jb2RlZEJ5dGVzVGFyZ2V0OworICAgICAgICBP
cHRpb25hbDx1aW50MzJfdD4gZnJhbWVXaWR0aDsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+
IGZyYW1lSGVpZ2h0OworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gZnJhbWVCaXREZXB0aDsK
KyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBmcmFtZXNQZXJTZWNvbmQ7CisgICAgICAgIE9wdGlv
bmFsPHVpbnQzMl90PiBmcmFtZXNTZW50OworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gaHVn
ZUZyYW1lc1NlbnQ7CiAgICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBmcmFtZXNFbmNvZGVkOwot
ICAgICAgICBTdHJpbmcgbWVkaWFTb3VyY2VJZDsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+
IGtleUZyYW1lc0VuY29kZWQ7CisgICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBmcmFtZXNEaXNj
YXJkZWRPblNlbmQ7CisgICAgICAgIE9wdGlvbmFsPHVpbnQ2NF90PiBxcFN1bTsKKyAgICAgICAg
T3B0aW9uYWw8dWludDY0X3Q+IHRvdGFsU2FtcGxlc1NlbnQ7CisgICAgICAgIE9wdGlvbmFsPHVp
bnQ2NF90PiBzYW1wbGVzRW5jb2RlZFdpdGhTaWxrOworICAgICAgICBPcHRpb25hbDx1aW50NjRf
dD4gc2FtcGxlc0VuY29kZWRXaXRoQ2VsdDsKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gdm9pY2VB
Y3Rpdml0eUZsYWc7CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gdG90YWxFbmNvZGVUaW1lOwor
ICAgICAgICBPcHRpb25hbDxkb3VibGU+IHRvdGFsUGFja2V0U2VuZERlbGF5OworICAgICAgICBP
cHRpb25hbDxkb3VibGU+IGF2ZXJhZ2VSdGNwSW50ZXJ2YWw7CisgICAgICAgIC8vIE9wdGlvbmFs
PFJUQ1F1YWxpdHlMaW1pdGF0aW9uUmVhc29uIHF1YWxpdHlMaW1pdGF0aW9uUmVhc29uOworICAg
ICAgICAvLyBPcHRpb25hbDxyZWNvcmQ8RE9NU3RyaW5nLCBkb3VibGU+IHF1YWxpdHlMaW1pdGF0
aW9uRHVyYXRpb25zOworICAgICAgICBPcHRpb25hbDx1aW50MzJfdD4gcXVhbGl0eUxpbWl0YXRp
b25SZXNvbHV0aW9uQ2hhbmdlczsKKyAgICAgICAgLy8gT3B0aW9uYWw8cmVjb3JkPFVTVlN0cmlu
ZywgdW5zaWduZWQgbG9uZyBsb25nPiBwZXJEc2NwUGFja2V0c1NlbnQ7CisgICAgICAgIE9wdGlv
bmFsPHVpbnQzMl90PiBuYWNrQ291bnQ7CisgICAgICAgIE9wdGlvbmFsPHVpbnQzMl90PiBmaXJD
b3VudDsKKyAgICAgICAgT3B0aW9uYWw8dWludDMyX3Q+IHBsaUNvdW50OworICAgICAgICBPcHRp
b25hbDx1aW50MzJfdD4gc2xpQ291bnQ7CisgICAgICAgIC8vIERPTVN0cmluZyBlbmNvZGVySW1w
bGVtZW50YXRpb247CisKKyAgICAgICAgU3RyaW5nIHRyYWNrSWQ7CiAgICAgfTsKIAogICAgIHN0
cnVjdCBNZWRpYVN0cmVhbVRyYWNrU3RhdHMgOiBTdGF0cyB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCmluZGV4IGQwZTQ2
ZTczZjRiOWNmODZjYjM0ZmJhODRhMzg3MjllNmU2MTk1OWYuLmYyYTEzYzBkNDY2NGEyNGM1ZmEy
MWQ4MzU1ZDE4ZDVmZmRhZTg3ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU3RhdHNSZXBvcnQuaWRsCkBAIC00Miw2ICs0Miw3IEBAIGVudW0g
UlRDU3RhdHNUeXBlIHsKICAgICAib3V0Ym91bmQtcnRwIiwKICAgICAicGVlci1jb25uZWN0aW9u
IiwKICAgICAicmVtb3RlLWNhbmRpZGF0ZSIsCisgICAgInJlbW90ZS1pbmJvdW5kLXJ0cCIsCiAg
ICAgInRyYWNrIiwKICAgICAidHJhbnNwb3J0IgogfTsKQEAgLTU1LDQ4ICs1NiwxNDYgQEAgZGlj
dGlvbmFyeSBSVENTdGF0cyB7CiAKIH07CiAKLWRpY3Rpb25hcnkgUlRDUlRQU3RyZWFtU3RhdHMg
OiBSVENTdGF0cyB7Ci0gICAgdW5zaWduZWQgbG9uZyBzc3JjOwotICAgIGJvb2xlYW4gaXNSZW1v
dGUgPSBmYWxzZTsKLSAgICBET01TdHJpbmcgbWVkaWFUeXBlOwotICAgIERPTVN0cmluZyB0cmFj
a0lkOworWyBKU0dlbmVyYXRlVG9KU09iamVjdCBdCitkaWN0aW9uYXJ5IFJUQ1J0cFN0cmVhbVN0
YXRzIDogUlRDU3RhdHMgeworICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgc3NyYzsKKyAgICBy
ZXF1aXJlZCBET01TdHJpbmcga2luZDsKKyAgICAvLyBXZSBzaG91bGQgb2Jzb2xldGUgdGhpcyBm
aWVsZAorICAgIHJlcXVpcmVkIERPTVN0cmluZyBtZWRpYVR5cGU7CiAgICAgRE9NU3RyaW5nIHRy
YW5zcG9ydElkOwogICAgIERPTVN0cmluZyBjb2RlY0lkOwotICAgIHVuc2lnbmVkIGxvbmcgZmly
Q291bnQ7Ci0gICAgdW5zaWduZWQgbG9uZyBwbGlDb3VudDsKLSAgICB1bnNpZ25lZCBsb25nIG5h
Y2tDb3VudDsKLSAgICB1bnNpZ25lZCBsb25nIHNsaUNvdW50OwotICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBxcFN1bTsKIH07CiAKIFsgSlNHZW5lcmF0ZVRvSlNPYmplY3QgXQotZGljdGlvbmFyeSBS
VENJbmJvdW5kUlRQU3RyZWFtU3RhdHMgOiBSVENSVFBTdHJlYW1TdGF0cyB7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBwYWNrZXRzUmVjZWl2ZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzUmVj
ZWl2ZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBwYWNrZXRzTG9zdDsKK2RpY3Rpb25hcnkgUlRDUmVj
ZWl2ZWRSdHBTdHJlYW1TdGF0cyA6IFJUQ1J0cFN0cmVhbVN0YXRzIHsKKyAgICB1bnNpZ25lZCBs
b25nIGxvbmcgcGFja2V0c1JlY2VpdmVkOworICAgIGxvbmcgbG9uZyBwYWNrZXRzTG9zdDsKICAg
ICBkb3VibGUgaml0dGVyOwotICAgIGRvdWJsZSBmcmFjdGlvbkxvc3Q7Ci0gICAgdW5zaWduZWQg
bG9uZyBwYWNrZXRzRGlzY2FyZGVkOwotICAgIHVuc2lnbmVkIGxvbmcgcGFja2V0c1JlcGFpcmVk
OwotICAgIHVuc2lnbmVkIGxvbmcgYnVyc3RQYWNrZXRzTG9zdDsKLSAgICB1bnNpZ25lZCBsb25n
IGJ1cnN0UGFja2V0c0Rpc2NhcmRlZDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcGFja2V0c0Rp
c2NhcmRlZDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcGFja2V0c1JlcGFpcmVkOworICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyBidXJzdFBhY2tldHNMb3N0OworICAgIHVuc2lnbmVkIGxvbmcgbG9u
ZyBidXJzdFBhY2tldHNEaXNjYXJkZWQ7CiAgICAgdW5zaWduZWQgbG9uZyBidXJzdExvc3NDb3Vu
dDsKICAgICB1bnNpZ25lZCBsb25nIGJ1cnN0RGlzY2FyZENvdW50OwogICAgIGRvdWJsZSBidXJz
dExvc3NSYXRlOwogICAgIGRvdWJsZSBidXJzdERpc2NhcmRSYXRlOwogICAgIGRvdWJsZSBnYXBM
b3NzUmF0ZTsKICAgICBkb3VibGUgZ2FwRGlzY2FyZFJhdGU7CisgICAgdW5zaWduZWQgbG9uZyBm
cmFtZXNEcm9wcGVkOworICAgIHVuc2lnbmVkIGxvbmcgcGFydGlhbEZyYW1lc0xvc3Q7CisgICAg
dW5zaWduZWQgbG9uZyBmdWxsRnJhbWVzTG9zdDsKK307CisKK1sgSlNHZW5lcmF0ZVRvSlNPYmpl
Y3QgXQorZGljdGlvbmFyeSBSVENJbmJvdW5kUnRwU3RyZWFtU3RhdHMgOiBSVENSZWNlaXZlZFJ0
cFN0cmVhbVN0YXRzIHsKKyAgICAvLyByZXF1aXJlZCBET01TdHJpbmcgcmVjZWl2ZXJJZDsKKyAg
ICBET01TdHJpbmcgcmVtb3RlSWQ7CiAgICAgdW5zaWduZWQgbG9uZyBmcmFtZXNEZWNvZGVkOwor
ICAgIHVuc2lnbmVkIGxvbmcga2V5RnJhbWVzRGVjb2RlZDsKKyAgICB1bnNpZ25lZCBsb25nIGZy
YW1lV2lkdGg7CisgICAgdW5zaWduZWQgbG9uZyBmcmFtZUhlaWdodDsKKyAgICB1bnNpZ25lZCBs
b25nIGZyYW1lQml0RGVwdGg7CisgICAgZG91YmxlIGZyYW1lc1BlclNlY29uZDsKKyAgICB1bnNp
Z25lZCBsb25nIGxvbmcgcXBTdW07CisgICAgZG91YmxlIHRvdGFsRGVjb2RlVGltZTsKKyAgICBk
b3VibGUgdG90YWxJbnRlckZyYW1lRGVsYXk7CisgICAgZG91YmxlIHRvdGFsU3F1YXJlZEludGVy
RnJhbWVEZWxheTsKKyAgICBib29sZWFuIHZvaWNlQWN0aXZpdHlGbGFnOworICAgIERPTUhpZ2hS
ZXNUaW1lU3RhbXAgbGFzdFBhY2tldFJlY2VpdmVkVGltZXN0YW1wOworICAgIGRvdWJsZSBhdmVy
YWdlUnRjcEludGVydmFsOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBoZWFkZXJCeXRlc1JlY2Vp
dmVkOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmZWNQYWNrZXRzUmVjZWl2ZWQ7CisgICAgdW5z
aWduZWQgbG9uZyBsb25nIGZlY1BhY2tldHNEaXNjYXJkZWQ7CisgICAgdW5zaWduZWQgbG9uZyBs
b25nIGJ5dGVzUmVjZWl2ZWQ7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHBhY2tldHNGYWlsZWRE
ZWNyeXB0aW9uOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYWNrZXRzRHVwbGljYXRlZDsKKyAg
ICAvLyByZWNvcmQ8VVNWU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+IHBlckRzY3BQYWNrZXRz
UmVjZWl2ZWQ7CisgICAgdW5zaWduZWQgbG9uZyBuYWNrQ291bnQ7CisgICAgdW5zaWduZWQgbG9u
ZyBmaXJDb3VudDsKKyAgICB1bnNpZ25lZCBsb25nIHBsaUNvdW50OworICAgIHVuc2lnbmVkIGxv
bmcgc2xpQ291bnQ7CisgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBlc3RpbWF0ZWRQbGF5b3V0VGlt
ZXN0YW1wOworICAgIGRvdWJsZSBqaXR0ZXJCdWZmZXJEZWxheTsKKyAgICB1bnNpZ25lZCBsb25n
IGxvbmcgaml0dGVyQnVmZmVyRW1pdHRlZENvdW50OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0
b3RhbFNhbXBsZXNSZWNlaXZlZDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2FtcGxlc0RlY29k
ZWRXaXRoU2lsazsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2FtcGxlc0RlY29kZWRXaXRoQ2Vs
dDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29uY2VhbGVkU2FtcGxlczsKKyAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgc2lsZW50Q29uY2VhbGVkU2FtcGxlczsKKyAgICB1bnNpZ25lZCBsb25nIGxv
bmcgY29uY2VhbG1lbnRFdmVudHM7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGluc2VydGVkU2Ft
cGxlc0ZvckRlY2VsZXJhdGlvbjsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVtb3ZlZFNhbXBs
ZXNGb3JBY2NlbGVyYXRpb247CisgICAgZG91YmxlIGF1ZGlvTGV2ZWw7CisgICAgZG91YmxlIHRv
dGFsQXVkaW9FbmVyZ3k7CisgICAgZG91YmxlIHRvdGFsU2FtcGxlc0R1cmF0aW9uOworICAgIHVu
c2lnbmVkIGxvbmcgZnJhbWVzUmVjZWl2ZWQ7CisgICAgLy8gRE9NU3RyaW5nIGRlY29kZXJJbXBs
ZW1lbnRhdGlvbjsKKworICAgIC8vIFRvIGJlIHJlbW92ZWQgYXMgb2Jzb2xldGUuCisgICAgRE9N
U3RyaW5nIHRyYWNrSWQ7CiB9OwogCiBbIEpTR2VuZXJhdGVUb0pTT2JqZWN0IF0KLWRpY3Rpb25h
cnkgUlRDT3V0Ym91bmRSVFBTdHJlYW1TdGF0cyA6IFJUQ1JUUFN0cmVhbVN0YXRzIHsKK2RpY3Rp
b25hcnkgUlRDUmVtb3RlSW5ib3VuZFJ0cFN0cmVhbVN0YXRzIDogUlRDUmVjZWl2ZWRSdHBTdHJl
YW1TdGF0cyB7CisgICAgRE9NU3RyaW5nIGxvY2FsSWQ7CisgICAgZG91YmxlIHJvdW5kVHJpcFRp
bWU7CisgICAgZG91YmxlIHRvdGFsUm91bmRUcmlwVGltZTsKKyAgICBkb3VibGUgZnJhY3Rpb25M
b3N0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXBvcnRzUmVjZWl2ZWQ7CisgICAgdW5zaWdu
ZWQgbG9uZyBsb25nIHJvdW5kVHJpcFRpbWVNZWFzdXJlbWVudHM7Cit9OworCitbIEpTR2VuZXJh
dGVUb0pTT2JqZWN0IF0KK2RpY3Rpb25hcnkgUlRDU2VudFJ0cFN0cmVhbVN0YXRzIDogUlRDUnRw
U3RyZWFtU3RhdHMgewogICAgIHVuc2lnbmVkIGxvbmcgcGFja2V0c1NlbnQ7CiAgICAgdW5zaWdu
ZWQgbG9uZyBsb25nIGJ5dGVzU2VudDsKK307CisKK1sgSlNHZW5lcmF0ZVRvSlNPYmplY3QgXQor
ZGljdGlvbmFyeSBSVENPdXRib3VuZFJ0cFN0cmVhbVN0YXRzIDogUlRDU2VudFJ0cFN0cmVhbVN0
YXRzIHsKKyAgICB1bnNpZ25lZCBsb25nIHJ0eFNzcmM7CisgICAgRE9NU3RyaW5nIG1lZGlhU291
cmNlSWQ7CisgICAgRE9NU3RyaW5nIHNlbmRlcklkOworICAgIERPTVN0cmluZyByZW1vdGVJZDsK
KyAgICBET01TdHJpbmcgcmlkOworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbGFzdFBhY2tldFNl
bnRUaW1lc3RhbXA7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGhlYWRlckJ5dGVzU2VudDsKKyAg
ICB1bnNpZ25lZCBsb25nIHBhY2tldHNEaXNjYXJkZWRPblNlbmQ7CisgICAgdW5zaWduZWQgbG9u
ZyBsb25nIGJ5dGVzRGlzY2FyZGVkT25TZW5kOworICAgIHVuc2lnbmVkIGxvbmcgZmVjUGFja2V0
c1NlbnQ7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJldHJhbnNtaXR0ZWRQYWNrZXRzU2VudDsK
KyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmV0cmFuc21pdHRlZEJ5dGVzU2VudDsKICAgICBkb3Vi
bGUgdGFyZ2V0Qml0cmF0ZTsKLSAgICAvLyBGSVhNRSAxNjk2NjI6IG1pc3Npbmcgcm91bmRUcmlw
VGltZQorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEVuY29kZWRCeXRlc1RhcmdldDsKKyAg
ICB1bnNpZ25lZCBsb25nIGZyYW1lV2lkdGg7CisgICAgdW5zaWduZWQgbG9uZyBmcmFtZUhlaWdo
dDsKKyAgICB1bnNpZ25lZCBsb25nIGZyYW1lQml0RGVwdGg7CisgICAgZG91YmxlIGZyYW1lc1Bl
clNlY29uZDsKKyAgICB1bnNpZ25lZCBsb25nIGZyYW1lc1NlbnQ7CisgICAgdW5zaWduZWQgbG9u
ZyBodWdlRnJhbWVzU2VudDsKICAgICB1bnNpZ25lZCBsb25nIGZyYW1lc0VuY29kZWQ7Ci0gICAg
RE9NU3RyaW5nIG1lZGlhU291cmNlSWQ7CisgICAgdW5zaWduZWQgbG9uZyBrZXlGcmFtZXNFbmNv
ZGVkOworICAgIHVuc2lnbmVkIGxvbmcgZnJhbWVzRGlzY2FyZGVkT25TZW5kOworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBxcFN1bTsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxTYW1wbGVz
U2VudDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2FtcGxlc0VuY29kZWRXaXRoU2lsazsKKyAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgc2FtcGxlc0VuY29kZWRXaXRoQ2VsdDsKKyAgICBib29sZWFu
IHZvaWNlQWN0aXZpdHlGbGFnOworICAgIGRvdWJsZSB0b3RhbEVuY29kZVRpbWU7CisgICAgZG91
YmxlIHRvdGFsUGFja2V0U2VuZERlbGF5OworICAgIGRvdWJsZSBhdmVyYWdlUnRjcEludGVydmFs
OworICAgIC8vIFJUQ1F1YWxpdHlMaW1pdGF0aW9uUmVhc29uIHF1YWxpdHlMaW1pdGF0aW9uUmVh
c29uOworICAgIC8vIHJlY29yZDxET01TdHJpbmcsIGRvdWJsZT4gcXVhbGl0eUxpbWl0YXRpb25E
dXJhdGlvbnM7CisgICAgdW5zaWduZWQgbG9uZyBxdWFsaXR5TGltaXRhdGlvblJlc29sdXRpb25D
aGFuZ2VzOworICAgIC8vIHJlY29yZDxVU1ZTdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZz4gcGVy
RHNjcFBhY2tldHNTZW50OworICAgIHVuc2lnbmVkIGxvbmcgbmFja0NvdW50OworICAgIHVuc2ln
bmVkIGxvbmcgZmlyQ291bnQ7CisgICAgdW5zaWduZWQgbG9uZyBwbGlDb3VudDsKKyAgICB1bnNp
Z25lZCBsb25nIHNsaUNvdW50OworICAgIC8vIERPTVN0cmluZyBlbmNvZGVySW1wbGVtZW50YXRp
b247CisKKyAgICAvLyBUbyBiZSByZW1vdmVkIGFzIG9ic29sZXRlLgorICAgIERPTVN0cmluZyB0
cmFja0lkOwogfTsKIAogWyBKU0dlbmVyYXRlVG9KU09iamVjdCBdCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENTdGF0c0Nv
bGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENTdGF0c0NvbGxlY3Rvci5jcHAKaW5kZXggZmU1MThiMmZlNmYzNmExYjNkMmVm
MWRlMThiNTg3YzQ3YzU4Y2RjZC4uYzUyZjA5YTM3YmRkZWViYmM4OWRkMzAzMTRmZmY2YjAxMTM1
M2IzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1N0YXRzQ29sbGVjdG9yLmNwcApA
QCAtNjAsNDkgKzYwLDMyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsUlRDU3RhdHMoUlRDU3Rh
dHNSZXBvcnQ6OlN0YXRzJiBzdGF0cywgY29uc3Qgd2VicnRjOjpSVENTCiAgICAgc3RhdHMuaWQg
PSBmcm9tU3RkU3RyaW5nKHJ0Y1N0YXRzLmlkKCkpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQg
ZmlsbFJUQ1JUUFN0cmVhbVN0YXRzKFJUQ1N0YXRzUmVwb3J0OjpSVENSVFBTdHJlYW1TdGF0cyYg
c3RhdHMsIGNvbnN0IHdlYnJ0Yzo6UlRDUlRQU3RyZWFtU3RhdHMmIHJ0Y1N0YXRzKQorc3RhdGlj
IGlubGluZSB2b2lkIGZpbGxSdHBTdHJlYW1TdGF0cyhSVENTdGF0c1JlcG9ydDo6UnRwU3RyZWFt
U3RhdHMmIHN0YXRzLCBjb25zdCB3ZWJydGM6OlJUQ1JUUFN0cmVhbVN0YXRzJiBydGNTdGF0cykK
IHsKICAgICBmaWxsUlRDU3RhdHMoc3RhdHMsIHJ0Y1N0YXRzKTsKIAogICAgIGlmIChydGNTdGF0
cy5zc3JjLmlzX2RlZmluZWQoKSkKICAgICAgICAgc3RhdHMuc3NyYyA9ICpydGNTdGF0cy5zc3Jj
OwotICAgIGlmIChydGNTdGF0cy5pc19yZW1vdGUuaXNfZGVmaW5lZCgpKQotICAgICAgICBzdGF0
cy5pc1JlbW90ZSA9ICpydGNTdGF0cy5pc19yZW1vdGU7Ci0gICAgaWYgKHJ0Y1N0YXRzLm1lZGlh
X3R5cGUuaXNfZGVmaW5lZCgpKQotICAgICAgICBzdGF0cy5tZWRpYVR5cGUgPSBmcm9tU3RkU3Ry
aW5nKCpydGNTdGF0cy5tZWRpYV90eXBlKTsKLSAgICBpZiAocnRjU3RhdHMudHJhY2tfaWQuaXNf
ZGVmaW5lZCgpKQotICAgICAgICBzdGF0cy50cmFja0lkID0gZnJvbVN0ZFN0cmluZygqcnRjU3Rh
dHMudHJhY2tfaWQpOwogICAgIGlmIChydGNTdGF0cy50cmFuc3BvcnRfaWQuaXNfZGVmaW5lZCgp
KQogICAgICAgICBzdGF0cy50cmFuc3BvcnRJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLnRy
YW5zcG9ydF9pZCk7CiAgICAgaWYgKHJ0Y1N0YXRzLmNvZGVjX2lkLmlzX2RlZmluZWQoKSkKICAg
ICAgICAgc3RhdHMuY29kZWNJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLmNvZGVjX2lkKTsK
LSAgICBpZiAocnRjU3RhdHMuZmlyX2NvdW50LmlzX2RlZmluZWQoKSkKLSAgICAgICAgc3RhdHMu
ZmlyQ291bnQgPSAqcnRjU3RhdHMuZmlyX2NvdW50OwotICAgIGlmIChydGNTdGF0cy5wbGlfY291
bnQuaXNfZGVmaW5lZCgpKQotICAgICAgICBzdGF0cy5wbGlDb3VudCA9ICpydGNTdGF0cy5wbGlf
Y291bnQ7Ci0gICAgaWYgKHJ0Y1N0YXRzLm5hY2tfY291bnQuaXNfZGVmaW5lZCgpKQotICAgICAg
ICBzdGF0cy5uYWNrQ291bnQgPSAqcnRjU3RhdHMubmFja19jb3VudDsKLSAgICBpZiAocnRjU3Rh
dHMuc2xpX2NvdW50LmlzX2RlZmluZWQoKSkKLSAgICAgICAgc3RhdHMuc2xpQ291bnQgPSAqcnRj
U3RhdHMuc2xpX2NvdW50OwotICAgIGlmIChydGNTdGF0cy5xcF9zdW0uaXNfZGVmaW5lZCgpKQot
ICAgICAgICBzdGF0cy5xcFN1bSA9ICpydGNTdGF0cy5xcF9zdW07Ci0gICAgc3RhdHMucXBTdW0g
PSAwOworICAgIGlmIChydGNTdGF0cy5tZWRpYV90eXBlLmlzX2RlZmluZWQoKSkgeworICAgICAg
ICBzdGF0cy5tZWRpYVR5cGUgPSBmcm9tU3RkU3RyaW5nKCpydGNTdGF0cy5tZWRpYV90eXBlKTsK
KyAgICAgICAgc3RhdHMua2luZCA9IHN0YXRzLm1lZGlhVHlwZTsKKyAgICB9CiB9CiAKLXN0YXRp
YyBpbmxpbmUgdm9pZCBmaWxsSW5ib3VuZFJUUFN0cmVhbVN0YXRzKFJUQ1N0YXRzUmVwb3J0OjpJ
bmJvdW5kUlRQU3RyZWFtU3RhdHMmIHN0YXRzLCBjb25zdCB3ZWJydGM6OlJUQ0luYm91bmRSVFBT
dHJlYW1TdGF0cyYgcnRjU3RhdHMpCitzdGF0aWMgaW5saW5lIHZvaWQgZmlsbFJlY2VpdmVkUnRw
U3RyZWFtU3RhdHMoUlRDU3RhdHNSZXBvcnQ6OlJlY2VpdmVkUnRwU3RyZWFtU3RhdHMmIHN0YXRz
LCBjb25zdCB3ZWJydGM6OlJUQ0luYm91bmRSVFBTdHJlYW1TdGF0cyYgcnRjU3RhdHMpCiB7Ci0g
ICAgZmlsbFJUQ1JUUFN0cmVhbVN0YXRzKHN0YXRzLCBydGNTdGF0cyk7CisgICAgZmlsbFJ0cFN0
cmVhbVN0YXRzKHN0YXRzLCBydGNTdGF0cyk7CiAKLSAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQg
Zm9yIGRlY29kZXJfaW1wbGVtZW50YXRpb24KICAgICBpZiAocnRjU3RhdHMucGFja2V0c19yZWNl
aXZlZC5pc19kZWZpbmVkKCkpCiAgICAgICAgIHN0YXRzLnBhY2tldHNSZWNlaXZlZCA9ICpydGNT
dGF0cy5wYWNrZXRzX3JlY2VpdmVkOwotICAgIGlmIChydGNTdGF0cy5ieXRlc19yZWNlaXZlZC5p
c19kZWZpbmVkKCkpCi0gICAgICAgIHN0YXRzLmJ5dGVzUmVjZWl2ZWQgPSAqcnRjU3RhdHMuYnl0
ZXNfcmVjZWl2ZWQ7CiAgICAgaWYgKHJ0Y1N0YXRzLnBhY2tldHNfbG9zdC5pc19kZWZpbmVkKCkp
CiAgICAgICAgIHN0YXRzLnBhY2tldHNMb3N0ID0gKnJ0Y1N0YXRzLnBhY2tldHNfbG9zdDsKICAg
ICBpZiAocnRjU3RhdHMuaml0dGVyLmlzX2RlZmluZWQoKSkKICAgICAgICAgc3RhdHMuaml0dGVy
ID0gKnJ0Y1N0YXRzLmppdHRlcjsKLSAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgYmFjayBmb3Ig
ZnJhY3Rpb25Mb3N0LgogICAgIGlmIChydGNTdGF0cy5wYWNrZXRzX2Rpc2NhcmRlZC5pc19kZWZp
bmVkKCkpCiAgICAgICAgIHN0YXRzLnBhY2tldHNEaXNjYXJkZWQgPSAqcnRjU3RhdHMucGFja2V0
c19kaXNjYXJkZWQ7CiAgICAgaWYgKHJ0Y1N0YXRzLnBhY2tldHNfcmVwYWlyZWQuaXNfZGVmaW5l
ZCgpKQpAQCAtMTIzLDI1ICsxMDYsMTMwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWxsSW5ib3Vu
ZFJUUFN0cmVhbVN0YXRzKFJUQ1N0YXRzUmVwb3J0OjpJbmJvdW5kUlRQU3RyZWFtU3RhCiAgICAg
ICAgIHN0YXRzLmdhcExvc3NSYXRlID0gKnJ0Y1N0YXRzLmdhcF9sb3NzX3JhdGU7CiAgICAgaWYg
KHJ0Y1N0YXRzLmdhcF9kaXNjYXJkX3JhdGUuaXNfZGVmaW5lZCgpKQogICAgICAgICBzdGF0cy5n
YXBEaXNjYXJkUmF0ZSA9ICpydGNTdGF0cy5nYXBfZGlzY2FyZF9yYXRlOworICAgIC8vIEFkZCBm
cmFtZXNfZHJvcHBlZCBhbmQgZnVsbF9mcmFtZXNfbG9zdC4KK30KKworc3RhdGljIGlubGluZSB2
b2lkIGZpbGxJbmJvdW5kUnRwU3RyZWFtU3RhdHMoUlRDU3RhdHNSZXBvcnQ6OkluYm91bmRSdHBT
dHJlYW1TdGF0cyYgc3RhdHMsIGNvbnN0IHdlYnJ0Yzo6UlRDSW5ib3VuZFJUUFN0cmVhbVN0YXRz
JiBydGNTdGF0cykKK3sKKyAgICBmaWxsUmVjZWl2ZWRSdHBTdHJlYW1TdGF0cyhzdGF0cywgcnRj
U3RhdHMpOworCisgICAgLy8gcmVjZWl2ZXJJZAorICAgIC8vIHJlbW90ZUlkCiAgICAgaWYgKHJ0
Y1N0YXRzLmZyYW1lc19kZWNvZGVkLmlzX2RlZmluZWQoKSkKICAgICAgICAgc3RhdHMuZnJhbWVz
RGVjb2RlZCA9ICpydGNTdGF0cy5mcmFtZXNfZGVjb2RlZDsKKyAgICBpZiAocnRjU3RhdHMua2V5
X2ZyYW1lc19kZWNvZGVkLmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMua2V5RnJhbWVzRGVj
b2RlZCA9ICpydGNTdGF0cy5rZXlfZnJhbWVzX2RlY29kZWQ7CisgICAgLy8gZnJhbWVXaWR0aCwg
ZnJhbWVIZWlnaHQsIGZyYW1lQml0RGVwdGgsIGZyYW1lc1BlclNlY29uZAorICAgIGlmIChydGNT
dGF0cy5xcF9zdW0uaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5xcFN1bSA9ICpydGNTdGF0
cy5xcF9zdW07CisgICAgaWYgKHJ0Y1N0YXRzLnRvdGFsX2RlY29kZV90aW1lLmlzX2RlZmluZWQo
KSkKKyAgICAgICAgc3RhdHMudG90YWxEZWNvZGVUaW1lID0gKnJ0Y1N0YXRzLnRvdGFsX2RlY29k
ZV90aW1lOworICAgIGlmIChydGNTdGF0cy50b3RhbF9pbnRlcl9mcmFtZV9kZWxheS5pc19kZWZp
bmVkKCkpCisgICAgICAgIHN0YXRzLnRvdGFsSW50ZXJGcmFtZURlbGF5ID0gKnJ0Y1N0YXRzLnRv
dGFsX2ludGVyX2ZyYW1lX2RlbGF5OworICAgIGlmIChydGNTdGF0cy50b3RhbF9zcXVhcmVkX2lu
dGVyX2ZyYW1lX2RlbGF5LmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMudG90YWxTcXVhcmVk
SW50ZXJGcmFtZURlbGF5ID0gKnJ0Y1N0YXRzLnRvdGFsX3NxdWFyZWRfaW50ZXJfZnJhbWVfZGVs
YXk7CisgICAgLy8gdm9pY2VBY3Rpdml0eUZsYWcsIGxhc3RQYWNrZXRSZWNlaXZlZFRpbWVzdGFt
cCwgYXZlcmFnZVJ0Y3BJbnRlcnZhbAorICAgIGlmIChydGNTdGF0cy5oZWFkZXJfYnl0ZXNfcmVj
ZWl2ZWQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5oZWFkZXJCeXRlc1JlY2VpdmVkID0g
KnJ0Y1N0YXRzLmhlYWRlcl9ieXRlc19yZWNlaXZlZDsKKyAgICBpZiAocnRjU3RhdHMuZmVjX3Bh
Y2tldHNfcmVjZWl2ZWQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5mZWNQYWNrZXRzUmVj
ZWl2ZWQgPSAqcnRjU3RhdHMuZmVjX3BhY2tldHNfcmVjZWl2ZWQ7CisgICAgaWYgKHJ0Y1N0YXRz
LmZlY19wYWNrZXRzX2Rpc2NhcmRlZC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmZlY1Bh
Y2tldHNEaXNjYXJkZWQgPSAqcnRjU3RhdHMuZmVjX3BhY2tldHNfZGlzY2FyZGVkOworICAgIGlm
IChydGNTdGF0cy5ieXRlc19yZWNlaXZlZC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmJ5
dGVzUmVjZWl2ZWQgPSAqcnRjU3RhdHMuYnl0ZXNfcmVjZWl2ZWQ7CisgICAgLy8gcGFja2V0c0Zh
aWxlZERlY3J5cHRpb24sIHBhY2tldHNEdXBsaWNhdGVkCisgICAgaWYgKHJ0Y1N0YXRzLmZpcl9j
b3VudC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmZpckNvdW50ID0gKnJ0Y1N0YXRzLmZp
cl9jb3VudDsKKyAgICBpZiAocnRjU3RhdHMucGxpX2NvdW50LmlzX2RlZmluZWQoKSkKKyAgICAg
ICAgc3RhdHMucGxpQ291bnQgPSAqcnRjU3RhdHMucGxpX2NvdW50OworICAgIGlmIChydGNTdGF0
cy5uYWNrX2NvdW50LmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMubmFja0NvdW50ID0gKnJ0
Y1N0YXRzLm5hY2tfY291bnQ7CisgICAgaWYgKHJ0Y1N0YXRzLnNsaV9jb3VudC5pc19kZWZpbmVk
KCkpCisgICAgICAgIHN0YXRzLnNsaUNvdW50ID0gKnJ0Y1N0YXRzLnNsaV9jb3VudDsKKyAgICAv
LyBlc3RpbWF0ZWRQbGF5b3V0VGltZXN0YW1wLCBqaXR0ZXJCdWZmZXJEZWxheSwgaml0dGVyQnVm
ZmVyRW1pdHRlZENvdW50LCB0b3RhbFNhbXBsZXNSZWNlaXZlZCwgc2FtcGxlc0RlY29kZWRXaXRo
U2lsaywgc2FtcGxlc0RlY29kZWRXaXRoQ2VsdAorICAgIC8vIGNvbmNlYWxlZFNhbXBsZXMsIHNp
bGVudENvbmNlYWxlZFNhbXBsZXMsIGNvbmNlYWxtZW50RXZlbnRzLCBpbnNlcnRlZFNhbXBsZXNG
b3JEZWNlbGVyYXRpb24sIHJlbW92ZWRTYW1wbGVzRm9yQWNjZWxlcmF0aW9uCisgICAgLy8gYXVk
aW9MZXZlbCwgdG90YWxBdWRpb0VuZXJneSwgdG90YWxTYW1wbGVzRHVyYXRpb24sIGZyYW1lc1Jl
Y2VpdmVkCisKKyAgICBpZiAocnRjU3RhdHMudHJhY2tfaWQuaXNfZGVmaW5lZCgpKQorICAgICAg
ICBzdGF0cy50cmFja0lkID0gZnJvbVN0ZFN0cmluZygqcnRjU3RhdHMudHJhY2tfaWQpOwogfQog
Ci1zdGF0aWMgaW5saW5lIHZvaWQgZmlsbE91dGJvdW5kUlRQU3RyZWFtU3RhdHMoUlRDU3RhdHNS
ZXBvcnQ6Ok91dGJvdW5kUlRQU3RyZWFtU3RhdHMmIHN0YXRzLCBjb25zdCB3ZWJydGM6OlJUQ091
dGJvdW5kUlRQU3RyZWFtU3RhdHMmIHJ0Y1N0YXRzKQorc3RhdGljIGlubGluZSB2b2lkIGZpbGxS
ZW1vdGVJbmJvdW5kUnRwU3RyZWFtU3RhdHMoUlRDU3RhdHNSZXBvcnQ6OlJlbW90ZUluYm91bmRS
dHBTdHJlYW1TdGF0cyYgc3RhdHMsIGNvbnN0IHdlYnJ0Yzo6UlRDUmVtb3RlSW5ib3VuZFJ0cFN0
cmVhbVN0YXRzJiBydGNTdGF0cykKIHsKLSAgICBmaWxsUlRDUlRQU3RyZWFtU3RhdHMoc3RhdHMs
IHJ0Y1N0YXRzKTsKKyAgICBmaWxsUlRDU3RhdHMoc3RhdHMsIHJ0Y1N0YXRzKTsKKworICAgIC8v
IEZJWE1FOiB0aGlzIHNob3VsZCBiZSBmaWxsZWQgaW4gZmlsbFJ0cFN0cmVhbVN0YXRzLgorICAg
IGlmIChydGNTdGF0cy5zc3JjLmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMuc3NyYyA9ICpy
dGNTdGF0cy5zc3JjOworICAgIGlmIChydGNTdGF0cy50cmFuc3BvcnRfaWQuaXNfZGVmaW5lZCgp
KQorICAgICAgICBzdGF0cy50cmFuc3BvcnRJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLnRy
YW5zcG9ydF9pZCk7CisgICAgaWYgKHJ0Y1N0YXRzLmNvZGVjX2lkLmlzX2RlZmluZWQoKSkKKyAg
ICAgICAgc3RhdHMuY29kZWNJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLmNvZGVjX2lkKTsK
KyAgICBpZiAocnRjU3RhdHMua2luZC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmtpbmQg
PSBzdGF0cy5raW5kOworCisgICAgaWYgKHJ0Y1N0YXRzLmxvY2FsX2lkLmlzX2RlZmluZWQoKSkK
KyAgICAgICAgc3RhdHMubG9jYWxJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLmxvY2FsX2lk
KTsKKyAgICBpZiAocnRjU3RhdHMucm91bmRfdHJpcF90aW1lLmlzX2RlZmluZWQoKSkKKyAgICAg
ICAgc3RhdHMucm91bmRUcmlwVGltZSA9ICpydGNTdGF0cy5yb3VuZF90cmlwX3RpbWU7CisKKyAg
ICAvLyB0b3RhbFJvdW5kVHJpcFRpbWUsIGZyYWN0aW9uTG9zdCwgcmVwb3J0c1JlY2VpdmVkLCBy
b3VuZFRyaXBUaW1lTWVhc3VyZW1lbnRzCit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBmaWxsU2Vu
dFJ0cFN0cmVhbVN0YXRzKFJUQ1N0YXRzUmVwb3J0OjpTZW50UnRwU3RyZWFtU3RhdHMmIHN0YXRz
LCBjb25zdCB3ZWJydGM6OlJUQ091dGJvdW5kUlRQU3RyZWFtU3RhdHMmIHJ0Y1N0YXRzKQorewor
ICAgIGZpbGxSdHBTdHJlYW1TdGF0cyhzdGF0cywgcnRjU3RhdHMpOwogCi0gICAgLy8gRklYTUU6
IEFkZCBzdXBwb3J0IGZvciBlbmNvZGVyX2ltcGxlbWVudGF0aW9uCiAgICAgaWYgKHJ0Y1N0YXRz
LnBhY2tldHNfc2VudC5pc19kZWZpbmVkKCkpCiAgICAgICAgIHN0YXRzLnBhY2tldHNTZW50ID0g
KnJ0Y1N0YXRzLnBhY2tldHNfc2VudDsKICAgICBpZiAocnRjU3RhdHMuYnl0ZXNfc2VudC5pc19k
ZWZpbmVkKCkpCiAgICAgICAgIHN0YXRzLmJ5dGVzU2VudCA9ICpydGNTdGF0cy5ieXRlc19zZW50
OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZmlsbE91dGJvdW5kUnRwU3RyZWFtU3RhdHMoUlRD
U3RhdHNSZXBvcnQ6Ok91dGJvdW5kUnRwU3RyZWFtU3RhdHMmIHN0YXRzLCBjb25zdCB3ZWJydGM6
OlJUQ091dGJvdW5kUlRQU3RyZWFtU3RhdHMmIHJ0Y1N0YXRzKQoreworICAgIGZpbGxTZW50UnRw
U3RyZWFtU3RhdHMoc3RhdHMsIHJ0Y1N0YXRzKTsKKworICAgIC8vIHJ0eFNzcmMKKyAgICBpZiAo
cnRjU3RhdHMubWVkaWFfc291cmNlX2lkLmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMubWVk
aWFTb3VyY2VJZCA9IGZyb21TdGRTdHJpbmcoKnJ0Y1N0YXRzLm1lZGlhX3NvdXJjZV9pZCk7Cisg
ICAgLy8gc2VuZGVySWQKKyAgICBpZiAocnRjU3RhdHMucmVtb3RlX2lkLmlzX2RlZmluZWQoKSkK
KyAgICAgICAgc3RhdHMucmVtb3RlSWQgPSBmcm9tU3RkU3RyaW5nKCpydGNTdGF0cy5yZW1vdGVf
aWQpOworICAgIC8vIHJpZCwgcGFja2V0c0Rpc2NhcmRlZE9uU2VuZAorICAgIGlmIChydGNTdGF0
cy5oZWFkZXJfYnl0ZXNfc2VudC5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmhlYWRlckJ5
dGVzU2VudCA9ICpydGNTdGF0cy5oZWFkZXJfYnl0ZXNfc2VudDsKKyAgICAvLyBwYWNrZXRzRGlz
Y2FyZGVkT25TZW5kLCBieXRlc0Rpc2NhcmRlZE9uU2VuZCwgZmVjUGFja2V0c1NlbnQ7CisgICAg
aWYgKHJ0Y1N0YXRzLnJldHJhbnNtaXR0ZWRfcGFja2V0c19zZW50LmlzX2RlZmluZWQoKSkKKyAg
ICAgICAgc3RhdHMucmV0cmFuc21pdHRlZFBhY2tldHNTZW50ID0gKnJ0Y1N0YXRzLnJldHJhbnNt
aXR0ZWRfcGFja2V0c19zZW50OworICAgIGlmIChydGNTdGF0cy5yZXRyYW5zbWl0dGVkX2J5dGVz
X3NlbnQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5yZXRyYW5zbWl0dGVkQnl0ZXNTZW50
ID0gKnJ0Y1N0YXRzLnJldHJhbnNtaXR0ZWRfYnl0ZXNfc2VudDsKICAgICBpZiAocnRjU3RhdHMu
dGFyZ2V0X2JpdHJhdGUuaXNfZGVmaW5lZCgpKQogICAgICAgICBzdGF0cy50YXJnZXRCaXRyYXRl
ID0gKnJ0Y1N0YXRzLnRhcmdldF9iaXRyYXRlOworICAgIC8vIHRvdGFsRW5jb2RlZEJ5dGVzVGFy
Z2V0LCBmcmFtZVdpZHRoLCBmcmFtZUhlaWdodCwgZnJhbWVCaXREZXB0aCwgZnJhbWVzUGVyU2Vj
b25kLCBmcmFtZXNTZW50LCBodWdlRnJhbWVzU2VudAogICAgIGlmIChydGNTdGF0cy5mcmFtZXNf
ZW5jb2RlZC5pc19kZWZpbmVkKCkpCiAgICAgICAgIHN0YXRzLmZyYW1lc0VuY29kZWQgPSAqcnRj
U3RhdHMuZnJhbWVzX2VuY29kZWQ7Ci0gICAgaWYgKHJ0Y1N0YXRzLm1lZGlhX3NvdXJjZV9pZC5p
c19kZWZpbmVkKCkpCi0gICAgICAgIHN0YXRzLm1lZGlhU291cmNlSWQgPSBmcm9tU3RkU3RyaW5n
KCpydGNTdGF0cy5tZWRpYV9zb3VyY2VfaWQpOworICAgIGlmIChydGNTdGF0cy5rZXlfZnJhbWVz
X2VuY29kZWQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5rZXlGcmFtZXNFbmNvZGVkID0g
KnJ0Y1N0YXRzLmtleV9mcmFtZXNfZW5jb2RlZDsKKyAgICAvLyBmcmFtZXNEaXNjYXJkZWRPblNl
bmQ7CisgICAgaWYgKHJ0Y1N0YXRzLnFwX3N1bS5pc19kZWZpbmVkKCkpCisgICAgICAgIHN0YXRz
LnFwU3VtID0gKnJ0Y1N0YXRzLnFwX3N1bTsKKyAgICAvLyB0b3RhbEVuY29kZWRCeXRlc1Rhcmdl
dCwgZnJhbWVXaWR0aCwgZnJhbWVIZWlnaHQsIGZyYW1lQml0RGVwdGgsIGZyYW1lc1BlclNlY29u
ZCwgZnJhbWVzU2VudCwgaHVnZUZyYW1lc1NlbnQKKyAgICAvLyB0b3RhbFNhbXBsZXNTZW50LCBz
YW1wbGVzRW5jb2RlZFdpdGhTaWxrLCBzYW1wbGVzRW5jb2RlZFdpdGhDZWx0LCB2b2ljZUFjdGl2
aXR5RmxhZywgdG90YWxFbmNvZGVUaW1lCisgICAgaWYgKHJ0Y1N0YXRzLnRvdGFsX3BhY2tldF9z
ZW5kX2RlbGF5LmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMudG90YWxQYWNrZXRTZW5kRGVs
YXkgPSAqcnRjU3RhdHMudG90YWxfcGFja2V0X3NlbmRfZGVsYXk7CisgICAgLy8gYXZlcmFnZVJ0
Y3BJbnRlcnZhbCwgcXVhbGl0eUxpbWl0YXRpb25SZXNvbHV0aW9uQ2hhbmdlcworICAgIGlmIChy
dGNTdGF0cy5uYWNrX2NvdW50LmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMubmFja0NvdW50
ID0gKnJ0Y1N0YXRzLm5hY2tfY291bnQ7CisgICAgaWYgKHJ0Y1N0YXRzLmZpcl9jb3VudC5pc19k
ZWZpbmVkKCkpCisgICAgICAgIHN0YXRzLmZpckNvdW50ID0gKnJ0Y1N0YXRzLmZpcl9jb3VudDsK
KyAgICBpZiAocnRjU3RhdHMucGxpX2NvdW50LmlzX2RlZmluZWQoKSkKKyAgICAgICAgc3RhdHMu
cGxpQ291bnQgPSAqcnRjU3RhdHMucGxpX2NvdW50OworICAgIGlmIChydGNTdGF0cy5zbGlfY291
bnQuaXNfZGVmaW5lZCgpKQorICAgICAgICBzdGF0cy5zbGlDb3VudCA9ICpydGNTdGF0cy5zbGlf
Y291bnQ7CisKKyAgICBpZiAocnRjU3RhdHMudHJhY2tfaWQuaXNfZGVmaW5lZCgpKQorICAgICAg
ICBzdGF0cy50cmFja0lkID0gZnJvbVN0ZFN0cmluZygqcnRjU3RhdHMudHJhY2tfaWQpOwogfQog
CiBzdGF0aWMgaW5saW5lIHZvaWQgZmlsbFJUQ01lZGlhU3RyZWFtVHJhY2tTdGF0cyhSVENTdGF0
c1JlcG9ydDo6TWVkaWFTdHJlYW1UcmFja1N0YXRzJiBzdGF0cywgY29uc3Qgd2VicnRjOjpSVENN
ZWRpYVN0cmVhbVRyYWNrU3RhdHMmIHJ0Y1N0YXRzKQpAQCAtNDE5LDEzICs1MDcsMTMgQEAgc3Rh
dGljIGlubGluZSB2b2lkIGluaXRpYWxpemVSVENTdGF0c1JlcG9ydEJhY2tpbmdNYXAoRE9NTWFw
QWRhcHRlciYgcmVwb3J0LCBjb24KIHsKICAgICBmb3IgKGNvbnN0IGF1dG8mIHJ0Y1N0YXRzIDog
cnRjUmVwb3J0KSB7CiAgICAgICAgIGlmIChydGNTdGF0cy50eXBlKCkgPT0gd2VicnRjOjpSVENJ
bmJvdW5kUlRQU3RyZWFtU3RhdHM6OmtUeXBlKSB7Ci0gICAgICAgICAgICBSVENTdGF0c1JlcG9y
dDo6SW5ib3VuZFJUUFN0cmVhbVN0YXRzIHN0YXRzOwotICAgICAgICAgICAgZmlsbEluYm91bmRS
VFBTdHJlYW1TdGF0cyhzdGF0cywgc3RhdGljX2Nhc3Q8Y29uc3Qgd2VicnRjOjpSVENJbmJvdW5k
UlRQU3RyZWFtU3RhdHMmPihydGNTdGF0cykpOwotICAgICAgICAgICAgcmVwb3J0LnNldDxJRExE
T01TdHJpbmcsIElETERpY3Rpb25hcnk8UlRDU3RhdHNSZXBvcnQ6OkluYm91bmRSVFBTdHJlYW1T
dGF0cz4+KHN0YXRzLmlkLCBXVEZNb3ZlKHN0YXRzKSk7CisgICAgICAgICAgICBSVENTdGF0c1Jl
cG9ydDo6SW5ib3VuZFJ0cFN0cmVhbVN0YXRzIHN0YXRzOworICAgICAgICAgICAgZmlsbEluYm91
bmRSdHBTdHJlYW1TdGF0cyhzdGF0cywgc3RhdGljX2Nhc3Q8Y29uc3Qgd2VicnRjOjpSVENJbmJv
dW5kUlRQU3RyZWFtU3RhdHMmPihydGNTdGF0cykpOworICAgICAgICAgICAgcmVwb3J0LnNldDxJ
RExET01TdHJpbmcsIElETERpY3Rpb25hcnk8UlRDU3RhdHNSZXBvcnQ6OkluYm91bmRSdHBTdHJl
YW1TdGF0cz4+KHN0YXRzLmlkLCBXVEZNb3ZlKHN0YXRzKSk7CiAgICAgICAgIH0gZWxzZSBpZiAo
cnRjU3RhdHMudHlwZSgpID09IHdlYnJ0Yzo6UlRDT3V0Ym91bmRSVFBTdHJlYW1TdGF0czo6a1R5
cGUpIHsKLSAgICAgICAgICAgIFJUQ1N0YXRzUmVwb3J0OjpPdXRib3VuZFJUUFN0cmVhbVN0YXRz
IHN0YXRzOwotICAgICAgICAgICAgZmlsbE91dGJvdW5kUlRQU3RyZWFtU3RhdHMoc3RhdHMsIHN0
YXRpY19jYXN0PGNvbnN0IHdlYnJ0Yzo6UlRDT3V0Ym91bmRSVFBTdHJlYW1TdGF0cyY+KHJ0Y1N0
YXRzKSk7Ci0gICAgICAgICAgICByZXBvcnQuc2V0PElETERPTVN0cmluZywgSURMRGljdGlvbmFy
eTxSVENTdGF0c1JlcG9ydDo6T3V0Ym91bmRSVFBTdHJlYW1TdGF0cz4+KHN0YXRzLmlkLCBXVEZN
b3ZlKHN0YXRzKSk7CisgICAgICAgICAgICBSVENTdGF0c1JlcG9ydDo6T3V0Ym91bmRSdHBTdHJl
YW1TdGF0cyBzdGF0czsKKyAgICAgICAgICAgIGZpbGxPdXRib3VuZFJ0cFN0cmVhbVN0YXRzKHN0
YXRzLCBzdGF0aWNfY2FzdDxjb25zdCB3ZWJydGM6OlJUQ091dGJvdW5kUlRQU3RyZWFtU3RhdHMm
PihydGNTdGF0cykpOworICAgICAgICAgICAgcmVwb3J0LnNldDxJRExET01TdHJpbmcsIElETERp
Y3Rpb25hcnk8UlRDU3RhdHNSZXBvcnQ6Ok91dGJvdW5kUnRwU3RyZWFtU3RhdHM+PihzdGF0cy5p
ZCwgV1RGTW92ZShzdGF0cykpOwogICAgICAgICB9IGVsc2UgaWYgKHJ0Y1N0YXRzLnR5cGUoKSA9
PSB3ZWJydGM6OlJUQ01lZGlhU3RyZWFtVHJhY2tTdGF0czo6a1R5cGUpIHsKICAgICAgICAgICAg
IFJUQ1N0YXRzUmVwb3J0OjpNZWRpYVN0cmVhbVRyYWNrU3RhdHMgc3RhdHM7CiAgICAgICAgICAg
ICBmaWxsUlRDTWVkaWFTdHJlYW1UcmFja1N0YXRzKHN0YXRzLCBzdGF0aWNfY2FzdDxjb25zdCB3
ZWJydGM6OlJUQ01lZGlhU3RyZWFtVHJhY2tTdGF0cyY+KHJ0Y1N0YXRzKSk7CkBAIC00NjYsNiAr
NTU0LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbml0aWFsaXplUlRDU3RhdHNSZXBvcnRCYWNr
aW5nTWFwKERPTU1hcEFkYXB0ZXImIHJlcG9ydCwgY29uCiAgICAgICAgICAgICBSVENTdGF0c1Jl
cG9ydDo6VmlkZW9Tb3VyY2VTdGF0cyBzdGF0czsKICAgICAgICAgICAgIGZpbGxSVENWaWRlb1Nv
dXJjZVN0YXRzKHN0YXRzLCBzdGF0aWNfY2FzdDxjb25zdCB3ZWJydGM6OlJUQ1ZpZGVvU291cmNl
U3RhdHMmPihydGNTdGF0cykpOwogICAgICAgICAgICAgcmVwb3J0LnNldDxJRExET01TdHJpbmcs
IElETERpY3Rpb25hcnk8UlRDU3RhdHNSZXBvcnQ6OlZpZGVvU291cmNlU3RhdHM+PihzdGF0cy5p
ZCwgV1RGTW92ZShzdGF0cykpOworICAgICAgICB9IGVsc2UgaWYgKHJ0Y1N0YXRzLnR5cGUoKSA9
PSB3ZWJydGM6OlJUQ1JlbW90ZUluYm91bmRSdHBTdHJlYW1TdGF0czo6a1R5cGUpIHsKKyAgICAg
ICAgICAgIFJUQ1N0YXRzUmVwb3J0OjpSZW1vdGVJbmJvdW5kUnRwU3RyZWFtU3RhdHMgc3RhdHM7
CisgICAgICAgICAgICBmaWxsUmVtb3RlSW5ib3VuZFJ0cFN0cmVhbVN0YXRzKHN0YXRzLCBzdGF0
aWNfY2FzdDxjb25zdCB3ZWJydGM6OlJUQ1JlbW90ZUluYm91bmRSdHBTdHJlYW1TdGF0cyY+KHJ0
Y1N0YXRzKSk7CisgICAgICAgICAgICByZXBvcnQuc2V0PElETERPTVN0cmluZywgSURMRGljdGlv
bmFyeTxSVENTdGF0c1JlcG9ydDo6UmVtb3RlSW5ib3VuZFJ0cFN0cmVhbVN0YXRzPj4oc3RhdHMu
aWQsIFdURk1vdmUoc3RhdHMpKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MzU1YzAy
MDMzMmMyYmI4ZDg5NTQyZDkyODhhZTUyZGNkMzExOTZhLi5lYjNkOWRmNDllZjlkZjUyYjAwZDYx
OGNkYmI3N2UzMDQ0YjE4YTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDYtMDggIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBtaXNzZWQgV2Vi
UlRDIG1lZGlhLXNvdXJjZSBhbmQgcmVtb3RlLWluYm91bmQtcnRwIHN0YXRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY2NDUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU4ODMzOTU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2VicnRjL3ZpZGVvLXN0YXRzLmh0bWw6CisgICAgICAgIHFwU3Vt
IGlzIG5vIGxvbmdlciBndWFyYW50ZWVkIHRvIGJlIHRoZXJlLgorICAgICAgICBBbHNvLCB3ZSBs
b29wIG92ZXIgc3RhdHMgdG8gZW5zdXJlIHdlIGdldCBhbGwgb2YgdGhlbS4KKwogMjAyMC0wNi0w
OCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIG9uZSBh
dWRpbyB1bml0IGZvciBhbGwgTWVkaWFTdHJlYW1UcmFja3Mgb2YgYSBnaXZlbiBwcm9jZXNzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tc3RhdHMuaHRtbCBiL0xheW91dFRl
c3RzL3dlYnJ0Yy92aWRlby1zdGF0cy5odG1sCmluZGV4IGNjYWZkNzZiYWQzNzg1MjE5NDY3Y2I0
M2EyMjdmMGZiM2VhNDMwNjUuLjcyYjM2NDdjOWM5NWZkZGEyMWM3MWQ0NDdmMWI2ZGVhODAxMGYz
OTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby1zdGF0cy5odG1sCisrKyBi
L0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby1zdGF0cy5odG1sCkBAIC0xNTIsMjUgKzE1MiwzNiBA
QCBwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICBsZXQgc3RhdHMgPSBhd2FpdCBn
ZXRPdXRib3VuZFJUUFN0YXRzKGZpcnN0Q29ubmVjdGlvbik7CiAgICAgYXNzZXJ0X3RydWUoISFz
dGF0cywgIm91dGJvdW5kLXJ0cCBzdGF0cyBzaG91bGQgbm90IGJlIG51bGwiKTsKICAgICBhc3Nl
cnRfdHJ1ZShOdW1iZXIuaXNJbnRlZ2VyKHN0YXRzLmZyYW1lc0VuY29kZWQpLCAiZnJhbWVzRW5j
b2RlZCBzaG91bGQgYmUgYW4gaW50ZWdlciIpOwotICAgIGFzc2VydF90cnVlKE51bWJlci5pc0lu
dGVnZXIoc3RhdHMucXBTdW0pLCAib3V0Ym91bmQgcXBTdW0gc2hvdWxkIGJlIGFuIGludGVnZXIi
KTsKKyAgICBhc3NlcnRfdHJ1ZSghc3RhdHMucXBTdW0gfHwgTnVtYmVyLmlzSW50ZWdlcihzdGF0
cy5xcFN1bSksICJvdXRib3VuZCBxcFN1bSBzaG91bGQgYmUgYW4gaW50ZWdlciIpOwogICAgIGFz
c2VydF90cnVlKHR5cGVvZiBzdGF0cy50aW1lc3RhbXAgPT09ICJudW1iZXIiLCAidGltZXN0YW1w
IHNob3VsZCBiZSBhIGRvdWJsZSIpOwogICAgIHN0YXRzRmlyc3RDb25uZWN0aW9uID0gc3RhdHM7
CiAKICAgICBzdGF0cyA9IGF3YWl0IGdldEluYm91bmRSVFBTdGF0cyhzZWNvbmRDb25uZWN0aW9u
KTsKICAgICBhc3NlcnRfdHJ1ZSghIXN0YXRzLCAiaW5ib3VuZC1ydHAgc3RhdHMgc2hvdWxkIG5v
dCBiZSBudWxsIik7CiAgICAgYXNzZXJ0X3RydWUoTnVtYmVyLmlzSW50ZWdlcihzdGF0cy5mcmFt
ZXNEZWNvZGVkKSwgImZyYW1lc0RlY29kZWQgc2hvdWxkIGJlIGFuIGludGVnZXIiKTsKLSAgICBh
c3NlcnRfdHJ1ZShOdW1iZXIuaXNJbnRlZ2VyKHN0YXRzLnFwU3VtKSwgImluYm91bmQgcXBTdW0g
c2hvdWxkIGJlIGFuIGludGVnZXIiKTsKKyAgICBhc3NlcnRfdHJ1ZSghc3RhdHMucXBTdW0gfHwg
TnVtYmVyLmlzSW50ZWdlcihzdGF0cy5xcFN1bSksICJpbmJvdW5kIHFwU3VtIHNob3VsZCBiZSBh
biBpbnRlZ2VyIik7CiAgICAgYXNzZXJ0X3RydWUodHlwZW9mIHN0YXRzLnRpbWVzdGFtcCA9PT0g
Im51bWJlciIsICJ0aW1lc3RhbXAgc2hvdWxkIGJlIGEgZG91YmxlIik7CiAgICAgc3RhdHNTZWNv
bmRDb25uZWN0aW9uID0gc3RhdHM7CiAKICAgICBhd2FpdCBjaGVja0luYm91bmRGcmFtZXNOdW1i
ZXJJbmNyZWFzZWQoc2Vjb25kQ29ubmVjdGlvbiwgc3RhdHNTZWNvbmRDb25uZWN0aW9uLCAwKTsK
ICAgICBhd2FpdCBjaGVja091dGJvdW5kRnJhbWVzTnVtYmVySW5jcmVhc2VkKGZpcnN0Q29ubmVj
dGlvbiwgc3RhdHNGaXJzdENvbm5lY3Rpb24sIDApOwogCi0gICAgbGV0IHR5cGVzID0gYXdhaXQg
Z2V0U3RhdHNUeXBlKGZpcnN0Q29ubmVjdGlvbik7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyh0
eXBlcywgWyJjYW5kaWRhdGUtcGFpciIsICJjZXJ0aWZpY2F0ZSIsICJjb2RlYyIsICJpbmJvdW5k
LXJ0cCIsICJsb2NhbC1jYW5kaWRhdGUiLCAibWVkaWEtc291cmNlIiwgIm91dGJvdW5kLXJ0cCIs
ICJwZWVyLWNvbm5lY3Rpb24iLCAicmVtb3RlLWNhbmRpZGF0ZSIsICJ0cmFjayIsICJ0cmFuc3Bv
cnQiXSk7CisgICAgbGV0IHR5cGVzOworICAgIGRvIHsKKyAgICAgICAgdHlwZXMgPSBhd2FpdCBn
ZXRTdGF0c1R5cGUoZmlyc3RDb25uZWN0aW9uKTsKKyAgICAgICAgaWYgKHR5cGVzLmxlbmd0aCAh
PSAxMikKKyAgICAgICAgICAgIHR5cGVzID0gdW5kZWZpbmVkOworICAgIH0gd2hpbGUoIXR5cGVz
KTsKIAotICAgIHR5cGVzID0gYXdhaXQgZ2V0U3RhdHNUeXBlKHNlY29uZENvbm5lY3Rpb24pOwot
ICAgIGFzc2VydF9hcnJheV9lcXVhbHModHlwZXMsIFsiY2FuZGlkYXRlLXBhaXIiLCAiY2VydGlm
aWNhdGUiLCAiY29kZWMiLCAiaW5ib3VuZC1ydHAiLCAibG9jYWwtY2FuZGlkYXRlIiwgIm1lZGlh
LXNvdXJjZSIsICJvdXRib3VuZC1ydHAiLCAicGVlci1jb25uZWN0aW9uIiwgInJlbW90ZS1jYW5k
aWRhdGUiLCAidHJhY2siLCAidHJhbnNwb3J0Il0pOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
dHlwZXMsIFsiY2FuZGlkYXRlLXBhaXIiLCAiY2VydGlmaWNhdGUiLCAiY29kZWMiLCAiaW5ib3Vu
ZC1ydHAiLCAibG9jYWwtY2FuZGlkYXRlIiwgIm1lZGlhLXNvdXJjZSIsICJvdXRib3VuZC1ydHAi
LCAicGVlci1jb25uZWN0aW9uIiwgInJlbW90ZS1jYW5kaWRhdGUiLCAicmVtb3RlLWluYm91bmQt
cnRwIiwgInRyYWNrIiwgInRyYW5zcG9ydCJdLCAiZmlyc3QgY29ubmVjdGlvbiIpOworCisgICAg
ZG8geworICAgICAgICB0eXBlcyA9IGF3YWl0IGdldFN0YXRzVHlwZShzZWNvbmRDb25uZWN0aW9u
KTsKKyAgICAgICAgaWYgKHR5cGVzLmxlbmd0aCAhPSAxMikKKyAgICAgICAgICAgIHR5cGVzID0g
dW5kZWZpbmVkOworICAgIH0gd2hpbGUoIXR5cGVzKTsKKworICAgIGFzc2VydF9hcnJheV9lcXVh
bHModHlwZXMsIFsiY2FuZGlkYXRlLXBhaXIiLCAiY2VydGlmaWNhdGUiLCAiY29kZWMiLCAiaW5i
b3VuZC1ydHAiLCAibG9jYWwtY2FuZGlkYXRlIiwgIm1lZGlhLXNvdXJjZSIsICJvdXRib3VuZC1y
dHAiLCAicGVlci1jb25uZWN0aW9uIiwgInJlbW90ZS1jYW5kaWRhdGUiLCAicmVtb3RlLWluYm91
bmQtcnRwIiwgInRyYWNrIiwgInRyYW5zcG9ydCJdLCAic2Vjb25kIGNvbm5lY3Rpb24iKTsKIAog
ICAgICBjb25zdCBhdWRpb1NvdXJjZVN0YXRzID0gYXdhaXQgZ2V0QXVkaW9Tb3VyY2VTdGF0cyhm
aXJzdENvbm5lY3Rpb24pOwogICAgICBhc3NlcnRfdHJ1ZSghIWF1ZGlvU291cmNlU3RhdHMsICJh
dWRpbyBzb3VyY2UgcHJlc2VuY2UiKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>