<?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>96045</bug_id>
          
          <creation_ts>2012-09-06 17:42:41 -0700</creation_ts>
          <short_desc>[JSC] Split GCActivitiyCallback.cpp into each port file</short_desc>
          <delta_ts>2013-05-22 19:26:12 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95923</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>ggaren</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>713919</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-06 17:42:41 -0700</bug_when>
    <thetext>There is a port specific file in each port which uses CMake except for wince port. So, I think it is better to remove GCActivityCallback.cpp in JavaScriptCore/CMakeLists.txt, then PlatformXXX.cmake file has a port specific file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784619</commentid>
    <comment_count>1</comment_count>
      <attachid>177935</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-05 22:18:10 -0800</bug_when>
    <thetext>Created attachment 177935
Work-in-progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800063</commentid>
    <comment_count>2</comment_count>
      <attachid>181281</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-04 00:56:52 -0800</bug_when>
    <thetext>Created attachment 181281
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800084</commentid>
    <comment_count>3</comment_count>
      <attachid>181281</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-04 01:39:40 -0800</bug_when>
    <thetext>Comment on attachment 181281
WIP

Attachment 181281 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15677103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805013</commentid>
    <comment_count>4</comment_count>
      <attachid>182275</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-11 00:03:10 -0800</bug_when>
    <thetext>Created attachment 182275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805027</commentid>
    <comment_count>5</comment_count>
      <attachid>182275</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-11 00:25:45 -0800</bug_when>
    <thetext>Comment on attachment 182275
Patch

Attachment 182275 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15810203</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806991</commentid>
    <comment_count>6</comment_count>
      <attachid>182703</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-14 22:15:08 -0800</bug_when>
    <thetext>Created attachment 182703
Patch for win port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807153</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-15 02:47:09 -0800</bug_when>
    <thetext>CC&apos;ing Geoffrey and Simon, I would like get you guys comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808977</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-01-16 19:04:01 -0800</bug_when>
    <thetext>The only port-specific code here is the timer code. If we&apos;re going to refactor this to better fit the ports system, then I think we should rename &quot;DefaultGCActivityCallback&quot; to &quot;GCActivityCallback&quot;, move SharedTimer into WTF, and build GCActivityCallback on top of SharedTimer.

I don&apos;t understand the advantage of this refactoring, and I don&apos;t like adding the *None.cpp variant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811378</commentid>
    <comment_count>9</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-19 03:59:12 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; The only port-specific code here is the timer code. If we&apos;re going to refactor this to better fit the ports system, then I think we should rename &quot;DefaultGCActivityCallback&quot; to &quot;GCActivityCallback&quot;, move SharedTimer into WTF, and build GCActivityCallback on top of SharedTimer.
&gt; 
&gt; I don&apos;t understand the advantage of this refactoring, and I don&apos;t like adding the *None.cpp variant.

Ok, I will prepare new patch according to your comment. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892635</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-05-22 19:26:12 -0700</bug_when>
    <thetext>I&apos;d like to postpone to fix this later.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177935</attachid>
            <date>2012-12-05 22:18:10 -0800</date>
            <delta_ts>2013-01-04 00:56:46 -0800</delta_ts>
            <desc>Work-in-progress</desc>
            <filename>bug-96045-20121206151535.patch</filename>
            <type>text/plain</type>
            <size>13106</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZWE4ZWI5NTAxOWIwMDI4YTdkNWYwOTVlMWNmNTlmYzc2NzIxM2ZhLi5mNTlhMmRkMTBmMWEzNjhh
Y2RkYzQ0YjI5ZmY4OTgyOTZiMDJkZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxMi0xMi0wNSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtKU0NdIFJlZmFjdG9yIEdDQWN0aXZpdGl5Q2FsbGJhY2suY3Bw
IHRvIGJlIHNoYXJlZCBieSBvdGhlciBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYwNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGlzIG5vdCBzaGFyYWJs
ZSBmb3Igb3RoZXIgcG9ydHMuIFRvIGJlIHJlLWltcGxlbWVudGVkIGJ5IG90aGVyIHBvcnRzLCB0
aGlzIGZpbGUgc2hvdWxkCisgICAgICAgIGJlIHJlZmFjdG9yZWQuCisKKyAgICAgICAgKiBQbGF0
Zm9ybUJsYWNrQmVycnkuY21ha2U6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suY3BwOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjazo6ZG9Xb3JrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
azo6ZGlkQWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
Ojp3aWxsQ29sbGVjdCk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6
OmNhbmNlbCk6CisgICAgICAgICogcnVudGltZS9ibGFja2JlcnJ5L0dDQWN0aXZpdHlDYWxsYmFj
a0JsYWNrQmVycnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvR0NBY3Rpdml0eUNhbGxiYWNrQmxhY2tCZXJyeS5jcHAuCisgICAgICAgIChKU0MpOgorICAg
ICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3Jr
KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUp
OgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCk6
CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCk6CisgICAg
ICAgICogcnVudGltZS9tYWMvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcDogQ29waWVkIGZyb20gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcC4KKyAgICAg
ICAgKEpTQyk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2spOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpkb1dvcmspOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
OjpzY2hlZHVsZVRpbWVyKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
azo6Y2FuY2VsVGltZXIpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
OjpkaWRBbGxvY2F0ZSk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6
OndpbGxDb2xsZWN0KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
Y2FuY2VsKToKKwogMjAxMi0xMi0wNSAgSGFsdG9uIEh1byAgPGhhbHRvbi5odW9AaW50ZWwuY29t
PgogCiAgICAgICAgIFtDTWFrZV0gVW5pZnkgY29kaW5nIHN0eWxlIGZvciBDTWFrZSBmaWxlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFr
ZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKaW5kZXgg
YThiMjQ3MjNmYzYwYjBjY2Y0MjFlMzlhZGE0NDE1YWNjNzhmMWVjZC4uYTNkN2YwNmQ0OWQ0NThh
ZDllNGEwMDM5NjVmMWY2MjlmYjU4NGY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0yLDEzICsyLDkgQEAgbGlzdChJTlNFUlQgSmF2
YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklFUyAwCiAgICAgIiR7QkxBQ0tCRVJSWV9USElS
RF9QQVJUWV9ESVJ9L2ljdSIKICkKIAotbGlzdChSRU1PVkVfSVRFTSBKYXZhU2NyaXB0Q29yZV9T
T1VSQ0VTCi0gICAgcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCi0pCi0KIGxpc3QoQVBQ
RU5EIEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKLSAgICBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
a0JsYWNrQmVycnkuY3BwCiAgICAgcnVudGltZS9NZW1vcnlTdGF0aXN0aWNzLmNwcAorICAgIHJ1
bnRpbWUvYmxhY2tiZXJyeS9HQ0FjdGl2aXR5Q2FsbGJhY2tCbGFja0JlcnJ5LmNwcAogKQogCiBp
bnN0YWxsKEZJTEVTICJ3dGYvRm9yd2FyZC5oIiBERVNUSU5BVElPTiB1c3IvaW5jbHVkZS9icm93
c2VyL3dlYmtpdC93dGYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
R0NBY3Rpdml0eUNhbGxiYWNrLmNwcAppbmRleCA3NGNiZGJhZWY1OGVjOWI5ZDBkMmZiYTFmYzg3
YjQ2MDRkNGQ4YWNlLi43ZTQzZDI3NzdmMWU2M2JiMzViMWI5ZGFiNmMzNzJlMDNjYzBjMmViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxs
YmFjay5jcHAKQEAgLTM0LDg4ICszNCwxNCBAQAogI2luY2x1ZGUgIkpTR2xvYmFsRGF0YS5oIgog
I2luY2x1ZGUgIkpTTG9jay5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3
dGYvV1RGVGhyZWFkRGF0YS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIFVTRShDRikKLQot
Y29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQZXJjZW50YWdlIG9mIENQ
VSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCi1jb25zdCBkb3VibGUgbWF4R0NU
aW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgd2Ugd2Fu
dCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVkIGNvbGxlY3Rpb25zLgot
Y29uc3QgZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVkZ2UgZmFjdG9yIHRvIGF2b2lkIHBl
cmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgotY29uc3QgZG91YmxlIHBhZ2luZ1Rp
bWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRp
bWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdl
ZCBvdXQuCi1jb25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2MDsKLQotRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQot
ICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgQ0ZSdW5Mb29wR2V0
Q3VycmVudCgpKQotICAgICwgbV9kZWxheShzX2RlY2FkZSkKLXsKLX0KLQotRGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwLCBDRlJ1
bkxvb3BSZWYgcnVuTG9vcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5nbG9iYWxE
YXRhKCksIHJ1bkxvb3ApCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotCi12b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCi17Ci0gICAgSGVhcCogaGVhcCA9ICZt
X2dsb2JhbERhdGEtPmhlYXA7Ci0gICAgaWYgKCFpc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIAotICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fZ2xvYmFsRGF0YSk7Ci0jaWYgIVBMQVRG
T1JNKElPUykKLSAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKLSAgICBpZiAoaGVhcC0+aXNQYWdlZE91dChzdGFydFRpbWUgKyBwYWdpbmdU
aW1lT3V0KSkgewotICAgICAgICBoZWFwLT5hY3Rpdml0eUNhbGxiYWNrKCktPmNhbmNlbCgpOwot
ICAgICAgICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0aChwYWdpbmdUaW1lT3V0KTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotICAgIGhlYXAtPmNvbGxlY3QoSGVhcDo6RG9Ob3RT
d2VlcCk7Ci19Ci0gICAgCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxl
VGltZXIoZG91YmxlIG5ld0RlbGF5KQotewotICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+
IG1fZGVsYXkpCi0gICAgICAgIHJldHVybjsKLSAgICBkb3VibGUgZGVsdGEgPSBtX2RlbGF5IC0g
bmV3RGVsYXk7Ci0gICAgbV9kZWxheSA9IG5ld0RlbGF5OwotICAgIENGUnVuTG9vcFRpbWVyU2V0
TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVyR2V0TmV4dEZpcmVEYXRl
KG1fdGltZXIuZ2V0KCkpIC0gZGVsdGEpOwotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OmNhbmNlbFRpbWVyKCkKLXsKLSAgICBtX2RlbGF5ID0gc19kZWNhZGU7Ci0gICAgQ0ZS
dW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZBYnNvbHV0ZVRpbWVH
ZXRDdXJyZW50KCkgKyBzX2RlY2FkZSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQotewotICAgIC8vIFRoZSBmaXJzdCBieXRl
IGFsbG9jYXRlZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVwb3J0IDAgYnl0ZXMgdG8g
ZGlkQWxsb2NhdGUuIAotICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUgYnl0ZSBzbyB0aGF0IHdl
IGRvbid0IGlnbm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCi0gICAgaWYgKCFieXRlcykK
LSAgICAgICAgYnl0ZXMgPSAxOwotICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4o
Jm1fZ2xvYmFsRGF0YS0+aGVhcCk7Ci0gICAgZG91YmxlIGdjVGltZVNsaWNlID0gc3RkOjptaW4o
KHN0YXRpY19jYXN0PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1lU2xpY2VQZXJNQiwgbWF4
R0NUaW1lU2xpY2UpOwotICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAtPmxhc3RHQ0xlbmd0aCgp
IC8gZ2NUaW1lU2xpY2U7Ci0gICAgc2NoZWR1bGVUaW1lcihuZXdEZWxheSk7Ci19Ci0KLXZvaWQg
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQotewotICAgIGNhbmNlbFRp
bWVyKCk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKLXsK
LSAgICBjYW5jZWxUaW1lcigpOwotfQotCi0jZWxzZQorI2lmICFVU0UoQ0YpIHx8ICFQTEFURk9S
TShCTEFDS0JFUlJZKQogCiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCiAgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+
Z2xvYmFsRGF0YSgpKQpAQCAtMTI0LDIxICs1MCwyNCBAQCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCiAKIHZvaWQgRGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKCkKIHsKKyAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCiB2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNpemVfdCkK
IHsKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiB2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OndpbGxDb2xsZWN0KCkKIHsKKyAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiB2b2lk
IERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCgpCiB7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAogI2VuZGlmCiAKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvYmxhY2tiZXJyeS9HQ0FjdGl2aXR5Q2FsbGJhY2tCbGFja0JlcnJ5LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL2JsYWNrYmVycnkvR0NBY3Rpdml0eUNhbGxi
YWNrQmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzViOTkyNTY3NTdkOGI5Mjc4ZjYxMTkwNTM1
OGVjYTA5MjdiODExMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL2JsYWNrYmVycnkvR0NBY3Rpdml0eUNhbGxiYWNrQmxhY2tCZXJyeS5jcHAKQEAgLTAs
MCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR0NBY3Rpdml0eUNhbGxiYWNrLmgiCisKKyNpbmNs
dWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVkZSA8QmxhY2tC
ZXJyeVBsYXRmb3JtTWVtb3J5Lmg+CisKK25hbWVzcGFjZSBKU0MgeworCitEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCisgICAg
OiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpKQoreworfQorCit2b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCit7CisgICAgSlNMb2NrIGxvY2soU2ls
ZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAgICBtX2dsb2JhbERhdGEtPmhlYXAuY29sbGVjdChIZWFw
OjpEb05vdFN3ZWVwKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRB
bGxvY2F0ZShzaXplX3QgYnl0ZXNBbGxvY2F0ZWQpCit7CisgICAgaWYgKG1fdGltZXIuc3RhcnRl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUcnkgdXNpbmcgfjUlIENQVSB0aW1lLgor
ICAgIG1fdGltZXIuc3RhcnQobV9nbG9iYWxEYXRhLT5oZWFwLmxhc3RHQ0xlbmd0aCgpICogMjAp
OworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KCkKK3sK
KyAgICBjYW5jZWwoKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5j
ZWwoKQoreworICAgIG1fdGltZXIuc3RvcCgpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9tYWMvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL21hYy9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY5MmQxMmZlYWVmY2JmZTRmNDlhYjBlZWQ2YmQwODkwZmEyYzk3OGYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9tYWMvR0NBY3Rpdml0eUNh
bGxiYWNrLmNwcApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgorCisjaW5jbHVkZSAiQVBJU2hpbXMuaCIKKyNp
bmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVkZSAiSlNM
b2NrLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgorCituYW1lc3BhY2UgSlNDIHsKKwor
I2lmIFVTRShDRikKKworY29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQ
ZXJjZW50YWdlIG9mIENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCitjb25z
dCBkb3VibGUgbWF4R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2Yg
Q1BVIHRpbWUgd2Ugd2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVk
IGNvbGxlY3Rpb25zLgorY29uc3QgZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVkZ2UgZmFj
dG9yIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgorY29uc3Qg
ZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBv
cHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0
aGUgSGVhcCBpcyBwYWdlZCBvdXQuCitjb25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2
MDsKKworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
ayhIZWFwKiBoZWFwKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEo
KSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sKK30K
KworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhI
ZWFwKiBoZWFwLCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFj
ayhoZWFwLT5nbG9iYWxEYXRhKCksIHJ1bkxvb3ApCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQor
eworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCit7CisgICAg
SGVhcCogaGVhcCA9ICZtX2dsb2JhbERhdGEtPmhlYXA7CisgICAgaWYgKCFpc0VuYWJsZWQoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fZ2xvYmFsRGF0
YSk7CisjaWYgIVBMQVRGT1JNKElPUykKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBpZiAoaGVhcC0+aXNQYWdlZE91dChzdGFy
dFRpbWUgKyBwYWdpbmdUaW1lT3V0KSkgeworICAgICAgICBoZWFwLT5hY3Rpdml0eUNhbGxiYWNr
KCktPmNhbmNlbCgpOworICAgICAgICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0aChwYWdpbmdU
aW1lT3V0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIGhlYXAtPmNvbGxl
Y3QoSGVhcDo6RG9Ob3RTd2VlcCk7Cit9CisgICAgCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OnNjaGVkdWxlVGltZXIoZG91YmxlIG5ld0RlbGF5KQoreworICAgIGlmIChuZXdEZWxh
eSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkpCisgICAgICAgIHJldHVybjsKKyAgICBkb3VibGUgZGVs
dGEgPSBtX2RlbGF5IC0gbmV3RGVsYXk7CisgICAgbV9kZWxheSA9IG5ld0RlbGF5OworICAgIENG
UnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVy
R2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCkpIC0gZGVsdGEpOworfQorCit2b2lkIERlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKCkKK3sKKyAgICBtX2RlbGF5ID0gc19k
ZWNhZGU7CisgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwg
Q0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZSk7Cit9CisKK3ZvaWQgRGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQoreworICAgIC8v
IFRoZSBmaXJzdCBieXRlIGFsbG9jYXRlZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVw
b3J0IDAgYnl0ZXMgdG8gZGlkQWxsb2NhdGUuIAorICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUg
Ynl0ZSBzbyB0aGF0IHdlIGRvbid0IGlnbm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCisg
ICAgaWYgKCFieXRlcykKKyAgICAgICAgYnl0ZXMgPSAxOworICAgIEhlYXAqIGhlYXAgPSBzdGF0
aWNfY2FzdDxIZWFwKj4oJm1fZ2xvYmFsRGF0YS0+aGVhcCk7CisgICAgZG91YmxlIGdjVGltZVNs
aWNlID0gc3RkOjptaW4oKHN0YXRpY19jYXN0PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1l
U2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xpY2UpOworICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAt
Pmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xpY2U7CisgICAgc2NoZWR1bGVUaW1lcihuZXdEZWxh
eSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQor
eworICAgIGNhbmNlbFRpbWVyKCk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
azo6Y2FuY2VsKCkKK3sKKyAgICBjYW5jZWxUaW1lcigpOworfQorCisjZW5kaWYKKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181281</attachid>
            <date>2013-01-04 00:56:52 -0800</date>
            <delta_ts>2013-01-11 00:03:03 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-96045-20130104175358.patch</filename>
            <type>text/plain</type>
            <size>14590</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
YmI5N2QzYmVhNGRkNzdlMjIyNzU4MGZkODhkMGJlOWIzZWYxMzJkLi45OTU1ODBlMGMwZTM3NDQ5
YmNmNWMyNTI5OWRjNTQxMTNkMjQ0ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxMy0wMS0wNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtKU0NdIFJlZmFjdG9yIEdDQWN0aXZpdGl5Q2FsbGJhY2suY3Bw
IHRvIGJlIHNoYXJlZCBieSBvdGhlciBwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYwNDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGlzIG5vdCBzaGFyYWJs
ZSBmb3Igb3RoZXIgcG9ydHMuIFRvIGJlIHJlLWltcGxlbWVudGVkIGJ5IG90aGVyIHBvcnRzLCB0
aGlzIGZpbGUgc2hvdWxkCisgICAgICAgIGJlIHJlZmFjdG9yZWQuCisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFBsYXRmb3Jt
QmxhY2tCZXJyeS5jbWFrZToKKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5j
cHA6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6IEFkZGVkLgor
ICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmRvV29yayk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OnNjaGVkdWxlVGltZXIpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpjYW5jZWxUaW1lcik6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OmRpZEFsbG9jYXRlKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6d2lsbENvbGxlY3QpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpjYW5jZWwpOgorCiAyMDEzLTAxLTAyICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xv
dWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBPYmplY3RpdmUtQyBBUEkgZm9yIEphdmFTY3JpcHRD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI2ZTVjNmQ0ZGVmMzYzMDM2NmRl
NTY5MWNjZjJhMmVkZjNjNmFhYTAuLmZmOTJiZDc0ZDZmNjYwNGQyNzAzMTNhYTliN2I2NTYwMGFk
NTE3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDIsNyArODAyLDcgQEAK
IAkJQzJDOEQwMkQxNEEzQzZFMDAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkIxNEEzQzZC
MjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2NSAvKiBD
b3BpZWRCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJDOEQwMzExNEEzQ0VGQzAw
NTc4RTY1IC8qIEhlYXBCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzJDOEQwMkYxNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUMyRDU4QzM0MTU5
MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8q
IEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi87IH07CisJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0
NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0
eUNhbGxiYWNrQ0YuY3BwICovOyB9OwogCQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVh
cFRpbWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuY3BwICovOyB9OwogCQlDMkU1
MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVh
cFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQzJFQUEzRkExNDlBODM1RTAwRkNFMTEyIC8qIENvcGllZFNwYWNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkVBQTNGODE0OUE4MzA4MDBGQ0Ux
MTIgLyogQ29waWVkU3BhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTY2NCw3ICsxNjY0LDcgQEAKIAkJQzJDOEQwMkIxNEEzQzZCMjAwNTc4
RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3BpZWRTcGFjZUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxi
YWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzJENThDMzMxNTkxMkZFRTAw
MjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzJFNTI2QkIxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIZWFwVGltZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVh
cFRpbWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBUaW1lci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyog
Q29waWVkU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29waWVkU3Bh
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMjAsNyArMjMyMCw3IEBACiAJ
CQkJQkMyNjgwQzEwRTE2RDRFOTAwQTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuaCAqLywK
IAkJCQlGNjkyQTg1QzAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICov
LAogCQkJCUY2OTJBODVEMDI1NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICov
LAotCQkJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3Bw
ICovLAorCQkJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tD
Ri5jcHAgKi8sCiAJCQkJRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxs
YmFjay5oICovLAogCQkJCUJDMDJFOUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIu
Y3BwICovLAogCQkJCUJDMzM3QkRFMEUxQUYwQjgwMDc2OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAq
LywKQEAgLTI0ODgsNyArMjQ4OCw3IEBACiAJCQkJMTRCRkNFNjgxMENEQjFGQzAwMzY0Q0NFIC8q
IFdlYWtHQ01hcC5oICovLAogCQkJCTE0MjBCRTdBMTBBQTZEREIwMEY0NTVEMiAvKiBXZWFrUmFu
ZG9tLmggKi8sCiAJCQkJQTdEQ0I3NzkxMkUzRDkwNTAwOTExOTQwIC8qIFdyaXRlQmFycmllci5o
ICovLAotCQkJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2su
Y3BwICovLAorCQkJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IHJ1bnRpbWU7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtMzgzNiw3ICszODM2LDcgQEAKIAkJCQkwRkY0Mjc0RDE1OEVCRkU2MDA0
Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4gU291cmNlcyAqLywKIAkJCQlDMkU1MjZC
RDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
RjQyNzU3MTU5MTRBMjAwMDRDQjlGRiAvKiBMaW5rQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQzJENThDMzQxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlD
YWxsYmFja0NGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzY0MTU5MUExQ0MwMDRDQjlG
RiAvKiBERkdEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NzExNTky
NzVENTAwNENCOUZGIC8qIFJlc29sdmVHbG9iYWxTdGF0dXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY3NjZEMjgxNUE4Q0MxRTAwOEYzNjNFIC8qIEpJVFN0dWJSb3V0aW5lLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtQmxhY2tC
ZXJyeS5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21h
a2UKaW5kZXggMGRhZTQwYzU0OTBlZWM3ZWFiYWVlY2Q1MTk1M2VjMDgzYzg4YTRhYy4uZjNjNWIw
ZjYxNGQ2NzM3ZDlkYWQ0YzM3N2EwOTg5ZGQ3MDMxZjkwZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCkBAIC0yLDEwICsyLDYgQEAgbGlzdChJ
TlNFUlQgSmF2YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklFUyAwCiAgICAgIiR7QkxBQ0tC
RVJSWV9USElSRF9QQVJUWV9ESVJ9L2ljdSIKICkKIAotbGlzdChSRU1PVkVfSVRFTSBKYXZhU2Ny
aXB0Q29yZV9TT1VSQ0VTCi0gICAgcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCi0pCi0K
IGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1lL0dDQWN0aXZp
dHlDYWxsYmFja0JsYWNrQmVycnkuY3BwCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAppbmRleCA3NGNiZGJhZWY1OGVjOWI5
ZDBkMmZiYTFmYzg3YjQ2MDRkNGQ4YWNlLi43MTJjODA1MzYxYzk1MWNkZTc5MDE5MGJkZGFmZWFj
ZWY1Y2NhZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0Fj
dGl2aXR5Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFjay5jcHAKQEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJhY2suaCIKIAorI2lmICFVU0UoQ0YpIHx8ICFQ
TEFURk9STShCTEFDS0JFUlJZKQorCiAjaW5jbHVkZSAiQVBJU2hpbXMuaCIKICNpbmNsdWRlICJI
ZWFwLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCkBAIC00MCw4MyArNDIsNiBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotI2lmIFVTRShDRikKLQotY29uc3QgZG91YmxlIGdjVGltZVNsaWNl
UGVyTUIgPSAwLjAxOyAvLyBQZXJjZW50YWdlIG9mIENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8g
cmVjbGFpbSAxIE1CCi1jb25zdCBkb3VibGUgbWF4R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUg
bWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgd2Ugd2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0
aWMgdGltZXItdHJpZ2dlcmVkIGNvbGxlY3Rpb25zLgotY29uc3QgZG91YmxlIHRpbWVyU2xvcCA9
IDIuMDsgLy8gRnVkZ2UgZmFjdG9yIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0
aW5nIHRpbWVyLgotY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4g
c2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwg
YmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCi1jb25zdCBDRlRpbWVJbnRl
cnZhbCBob3VyID0gNjAgKiA2MDsKLQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNr
KGhlYXAtPmdsb2JhbERhdGEoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKQotICAgICwgbV9kZWxh
eShzX2RlY2FkZSkKLXsKLX0KLQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwLCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKLSAgICA6
IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCksIHJ1bkxvb3ApCi0gICAgLCBt
X2RlbGF5KHNfZGVjYWRlKQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6
OmRvV29yaygpCi17Ci0gICAgSGVhcCogaGVhcCA9ICZtX2dsb2JhbERhdGEtPmhlYXA7Ci0gICAg
aWYgKCFpc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFQSUVudHJ5U2hp
bSBzaGltKG1fZ2xvYmFsRGF0YSk7Ci0jaWYgIVBMQVRGT1JNKElPUykKLSAgICBkb3VibGUgc3Rh
cnRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBpZiAoaGVh
cC0+aXNQYWdlZE91dChzdGFydFRpbWUgKyBwYWdpbmdUaW1lT3V0KSkgewotICAgICAgICBoZWFw
LT5hY3Rpdml0eUNhbGxiYWNrKCktPmNhbmNlbCgpOwotICAgICAgICBoZWFwLT5pbmNyZWFzZUxh
c3RHQ0xlbmd0aChwYWdpbmdUaW1lT3V0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRp
ZgotICAgIGhlYXAtPmNvbGxlY3QoSGVhcDo6RG9Ob3RTd2VlcCk7Ci19Ci0gICAgCi12b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxlVGltZXIoZG91YmxlIG5ld0RlbGF5KQot
ewotICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkpCi0gICAgICAgIHJldHVy
bjsKLSAgICBkb3VibGUgZGVsdGEgPSBtX2RlbGF5IC0gbmV3RGVsYXk7Ci0gICAgbV9kZWxheSA9
IG5ld0RlbGF5OwotICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0
KCksIENGUnVuTG9vcFRpbWVyR2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCkpIC0gZGVsdGEp
OwotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKCkKLXsK
LSAgICBtX2RlbGF5ID0gc19kZWNhZGU7Ci0gICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURh
dGUobV90aW1lci5nZXQoKSwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZSk7
Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90
IGJ5dGVzKQotewotICAgIC8vIFRoZSBmaXJzdCBieXRlIGFsbG9jYXRlZCBpbiBhbiBhbGxvY2F0
aW9uIGN5Y2xlIHdpbGwgcmVwb3J0IDAgYnl0ZXMgdG8gZGlkQWxsb2NhdGUuIAotICAgIC8vIFdl
IHByZXRlbmQgaXQncyBvbmUgYnl0ZSBzbyB0aGF0IHdlIGRvbid0IGlnbm9yZSB0aGlzIGFsbG9j
YXRpb24gZW50aXJlbHkuCi0gICAgaWYgKCFieXRlcykKLSAgICAgICAgYnl0ZXMgPSAxOwotICAg
IEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oJm1fZ2xvYmFsRGF0YS0+aGVhcCk7Ci0g
ICAgZG91YmxlIGdjVGltZVNsaWNlID0gc3RkOjptaW4oKHN0YXRpY19jYXN0PGRvdWJsZT4oYnl0
ZXMpIC8gTUIpICogZ2NUaW1lU2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xpY2UpOwotICAgIGRvdWJs
ZSBuZXdEZWxheSA9IGhlYXAtPmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xpY2U7Ci0gICAgc2No
ZWR1bGVUaW1lcihuZXdEZWxheSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
azo6d2lsbENvbGxlY3QoKQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19Ci0KLXZvaWQgRGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKLXsKLSAgICBjYW5jZWxUaW1lcigpOwotfQot
Ci0jZWxzZQotCiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrKEhlYXAqIGhlYXApCiAgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFs
RGF0YSgpKQogewpAQCAtMTM4LDcgKzYzLDYgQEAgdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpjYW5jZWwoKQogewogfQogCi0jZW5kaWYKLQogfQogCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMmVjMWMxNzk3NmRhMzRhODIzNzFjZjNiMDc2NWRlYjFmMTE3Zjc0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrQ0YuY3BwCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiR0NBY3Rpdml0eUNhbGxiYWNrLmgiCisKKyNpZiBVU0UoQ0YpCisKKyNpbmNsdWRl
ICJBUElTaGltcy5oIgorI2luY2x1ZGUgIkhlYXAuaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEu
aCIKKyNpbmNsdWRlICJKU0xvY2suaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCisjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+CisKK25h
bWVzcGFjZSBKU0MgeworCitjb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8v
IFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIKK2Nv
bnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBv
ZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2Vy
ZWQgY29sbGVjdGlvbnMuCitjb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBm
YWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCitjb25z
dCBkb3VibGUgcGFnaW5nVGltZU91dCA9IDAuMTsgLy8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93
IG9wcG9ydHVuaXN0aWMgdGltZXIgdG8gaXRlcmF0ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlm
IHRoZSBIZWFwIGlzIHBhZ2VkIG91dC4KK2NvbnN0IENGVGltZUludGVydmFsIGhvdXIgPSA2MCAq
IDYwOworCitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrKEhlYXAqIGhlYXApCisgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0
YSgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQorewor
fQorCitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
KEhlYXAqIGhlYXAsIENGUnVuTG9vcFJlZiBydW5Mb29wKQorICAgIDogR0NBY3Rpdml0eUNhbGxi
YWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgcnVuTG9vcCkKKyAgICAsIG1fZGVsYXkoc19kZWNhZGUp
Cit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKCkKK3sKKyAg
ICBIZWFwKiBoZWFwID0gJm1fZ2xvYmFsRGF0YS0+aGVhcDsKKyAgICBpZiAoIWlzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgQVBJRW50cnlTaGltIHNoaW0obV9nbG9iYWxE
YXRhKTsKKyNpZiAhUExBVEZPUk0oSU9TKQorICAgIGRvdWJsZSBzdGFydFRpbWUgPSBXVEY6Om1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIGlmIChoZWFwLT5pc1BhZ2VkT3V0KHN0
YXJ0VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7CisgICAgICAgIGhlYXAtPmFjdGl2aXR5Q2FsbGJh
Y2soKS0+Y2FuY2VsKCk7CisgICAgICAgIGhlYXAtPmluY3JlYXNlTGFzdEdDTGVuZ3RoKHBhZ2lu
Z1RpbWVPdXQpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisgICAgaGVhcC0+Y29s
bGVjdChIZWFwOjpEb05vdFN3ZWVwKTsKK30KKyAgICAKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjazo6c2NoZWR1bGVUaW1lcihkb3VibGUgbmV3RGVsYXkpCit7CisgICAgaWYgKG5ld0Rl
bGF5ICogdGltZXJTbG9wID4gbV9kZWxheSkKKyAgICAgICAgcmV0dXJuOworICAgIGRvdWJsZSBk
ZWx0YSA9IG1fZGVsYXkgLSBuZXdEZWxheTsKKyAgICBtX2RlbGF5ID0gbmV3RGVsYXk7CisgICAg
Q0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZSdW5Mb29wVGlt
ZXJHZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSkgLSBkZWx0YSk7Cit9CisKK3ZvaWQgRGVm
YXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIoKQoreworICAgIG1fZGVsYXkgPSBz
X2RlY2FkZTsKKyAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgp
LCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIHNfZGVjYWRlKTsKK30KKwordm9pZCBEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZShzaXplX3QgYnl0ZXMpCit7CisgICAg
Ly8gVGhlIGZpcnN0IGJ5dGUgYWxsb2NhdGVkIGluIGFuIGFsbG9jYXRpb24gY3ljbGUgd2lsbCBy
ZXBvcnQgMCBieXRlcyB0byBkaWRBbGxvY2F0ZS4gCisgICAgLy8gV2UgcHJldGVuZCBpdCdzIG9u
ZSBieXRlIHNvIHRoYXQgd2UgZG9uJ3QgaWdub3JlIHRoaXMgYWxsb2NhdGlvbiBlbnRpcmVseS4K
KyAgICBpZiAoIWJ5dGVzKQorICAgICAgICBieXRlcyA9IDE7CisgICAgSGVhcCogaGVhcCA9IHN0
YXRpY19jYXN0PEhlYXAqPigmbV9nbG9iYWxEYXRhLT5oZWFwKTsKKyAgICBkb3VibGUgZ2NUaW1l
U2xpY2UgPSBzdGQ6Om1pbigoc3RhdGljX2Nhc3Q8ZG91YmxlPihieXRlcykgLyBNQikgKiBnY1Rp
bWVTbGljZVBlck1CLCBtYXhHQ1RpbWVTbGljZSk7CisgICAgZG91YmxlIG5ld0RlbGF5ID0gaGVh
cC0+bGFzdEdDTGVuZ3RoKCkgLyBnY1RpbWVTbGljZTsKKyAgICBzY2hlZHVsZVRpbWVyKG5ld0Rl
bGF5KTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCgp
Cit7CisgICAgY2FuY2VsVGltZXIoKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpjYW5jZWwoKQoreworICAgIGNhbmNlbFRpbWVyKCk7Cit9CisKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182275</attachid>
            <date>2013-01-11 00:03:10 -0800</date>
            <delta_ts>2013-01-14 22:15:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96045-20130111170014.patch</filename>
            <type>text/plain</type>
            <size>22798</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MGQ2MzE0NzhiNDdiOGUxOTRjYWE2MThkMjNhYWNjZjlmZmVlMjBjLi5hNGViOGFlNDMzMjY4Yzk2
OWRkMGM2ODUzNWY1NjZhNWExMTc5NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxMy0wMS0xMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtKU0NdIFNwbGl0IEdDQWN0aXZpdGl5Q2FsbGJhY2suY3BwIGlu
dG8gZWFjaCBwb3J0IGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbmNsdWRlcyBzcGVjaWZpYyBpbXBsZW1l
bnRhdGlvbiBmb3IgYWxsIHBvcnRzLiBTbywgdGhpcyBmaWxlIG5lZWRzCisgICAgICAgIHRvIGJl
IGRpdmlkZWQgdG8gYmUgb3B0aW1pemVkIGZvciBlYWNoIHBvcnQuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1FZmwu
Y21ha2U6CisgICAgICAgICogUGxhdGZvcm1XaW5DRS5jbWFrZToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmg6IEFkZCBleHBsaWNp
dCBrZXl3b3JkLgorICAgICAgICAoRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayk6CisgICAgICAg
ICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgIChKU0MpOgorICAg
ICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3Jr
KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1l
cik6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVy
KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUp
OgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCk6
CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCk6CisgICAg
ICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcDogQWRkZWQuCisgICAgICAg
IChKU0MpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6ZG9Xb3JrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
ZGlkQWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3
aWxsQ29sbGVjdCk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNh
bmNlbCk6CisKIDIwMTMtMDEtMTAgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNv
bT4KIAogICAgICAgICBSZW1vdmUgdGhlIEVOQUJMRV9BTklNQVRJT05fQVBJIGZlYXR1cmUgZGVm
aW5lIG9jY3VyZW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2MzJl
OWI2ZTg1YzA1MGUwYjBiMGY1NmQxMmEwYTlmOTU2MmQ1OGZhLi4wYzIzOWMzMmI1MTc4YzE1NjA3
ZDhhZTUxY2M5NjZjZjJmYzllZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0yMTgsNyArMjE4LDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50
aW1lL0V4ZWN1dGFibGUuY3BwCiAgICAgcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcAog
ICAgIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCi0gICAgcnVudGltZS9HQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwCiAgICAgcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwCiAgICAgcnVudGltZS9J
ZGVudGlmaWVyLmNwcAogICAgIHJ1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwZThjODg1YTJiZDU3ZjY0YTI2ZGUz
OTM3ZDQ4Zjg1MjM3MDM2OTBiLi5mYzJmYTk1N2ZiMWRhYzcyNDNjYjg1MDY5NGM5OWNjYTdhNzE4
Mjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTc4
LDcgKzU3OCw3IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIFwKLQlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dldHRlclNldHRlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKaW5kZXggMzMyZTQ5N2E0NGZiMTllMGY3ZGFj
M2NhOGFhM2QxMDdlZTc5MjYzYS4uZjUxNzY1YzkyYzE3NGVhNGFlMDBkNTI0OGUyZTM4NTNmNjIx
MDUyNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
cHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2oKQEAgLTc0Niw3ICs3NDYsNyBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXEdDQWN0aXZpdHlDYWxsYmFj
ay5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXEdDQWN0aXZpdHlDYWxsYmFj
a05vbmUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGNlYWQwYmYxNjAwNzkyOTM4Y2U3MzcwMjBkYzlkMzMwNjEzZTkxNmYu
LjBjNmIyNmQ5YjE5YTA1NjZmYWQwNjZiM2IyNTExMTc1NGRlN2E5NGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC04MDEsNyArODAxLDcgQEAKIAkJQzJDOEQwMkQxNEEzQzZFMDAw
NTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkIxNEEzQzZCMjAwNTc4RTY1IC8qIENvcGllZFNw
YWNlSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkUxNEEzQ0VGQzAw
NTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQzJDOEQwMzExNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkYx
NEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0Fj
dGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5j
cHAgKi87IH07CisJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovOyB9
OwogCQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJCMTU5MEVGMDAwMDU0
RTQ4RCAvKiBIZWFwVGltZXIuY3BwICovOyB9OwogCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQg
LyogSGVhcFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJFQUEzRkExNDlBODM1RTAw
RkNFMTEyIC8qIENvcGllZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTY2Miw3
ICsxNjYyLDcgQEAKIAkJQzJDOEQwMkIxNEEzQzZCMjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5s
aW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3BpZWRTcGFjZUlubGlu
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJDOEQwMkUxNEEzQ0VGQzAwNTc4
RTY1IC8qIENvcGllZEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
cGllZEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQzhEMDJGMTRBM0NF
RkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSGVhcEJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUMyRDU4QzMzMTU5
MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlD
YWxsYmFja0NGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0
aXZpdHlDYWxsYmFja0NGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFNTI2
QkIxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBIZWFwVGltZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDMkU1MjZCQzE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhlYXBUaW1lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDMkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29waWVkU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIzMTgsOCArMjMxOCw3IEBACiAJCQkJQkMyNjgwQzEwRTE2RDRFOTAw
QTA2RTkyIC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuaCAqLywKIAkJCQlGNjkyQTg1QzAyNTU1OTdE
MDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICovLAogCQkJCUY2OTJBODVEMDI1NTU5
N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICovLAotCQkJCUMyRDU4QzMzMTU5MTJG
RUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAotCQkJCUMyRDU4QzMzMTU5
MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAorCQkJCUMyRDU4QzMz
MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8sCiAJCQkJRERG
N0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovLAogCQkJCUJD
MDJFOUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAogCQkJCUJDMzM3
QkRFMEUxQUYwQjgwMDc2OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCmluZGV4IDBkYWU0MGM1NDkwZWVj
N2VhYmFlZWNkNTE5NTNlYzA4M2M4OGE0YWMuLmYzYzViMGY2MTRkNjczN2Q5ZGFkNGMzNzdhMDk4
OWRkNzAzMWY5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUJs
YWNrQmVycnkuY21ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtQmxhY2tC
ZXJyeS5jbWFrZQpAQCAtMiwxMCArMiw2IEBAIGxpc3QoSU5TRVJUIEphdmFTY3JpcHRDb3JlX0lO
Q0xVREVfRElSRUNUT1JJRVMgMAogICAgICIke0JMQUNLQkVSUllfVEhJUkRfUEFSVFlfRElSfS9p
Y3UiCiApCiAKLWxpc3QoUkVNT1ZFX0lURU0gSmF2YVNjcmlwdENvcmVfU09VUkNFUwotICAgIHJ1
bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAotKQotCiBsaXN0KEFQUEVORCBKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tCbGFja0JlcnJ5LmNw
cAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtRWZsLmNtYWtl
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGQyYjA2MmZk
NTI3MzVhYmNkOWMyNDE4M2NhODIxMTZjYWViZTNiNDAuLjY2ZGEzYzRlZTViYWYwOGY0YTNiMjFi
MWI4NzlhZmQ5ZTdjNzIxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1FZmwuY21h
a2UKQEAgLTEsNSArMSw2IEBACiBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAg
ICAgaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKKyAgICBydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFja05vbmUuY3BwCiApCiAKIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3Jl
X0xJQlJBUklFUwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtV2lu
Q0UuY21ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1XaW5DRS5jbWFrZQppbmRl
eCA1ZGQzOWQxNzY1OWFjOTM3ZGY4MjJkMTFmYTM4ZDY1ZjM1MDViNzI3Li41MzZhYTYwYmI3Yzdi
M2I2ZmU3ZjJjNmMyOGEwNWY0YzIyYjU1ZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvUGxhdGZvcm1XaW5DRS5jbWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxh
dGZvcm1XaW5DRS5jbWFrZQpAQCAtMTQsMyArMTQsNyBAQCBpZiAoRU5BQkxFX0pJVCBBTkQgV1RG
X0NQVV9BUk0pCiAKICAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTICR7REVS
SVZFRF9TT1VSQ0VTX0RJUn0vR2VuZXJhdGVkSklUU3R1YnMub2JqKQogZW5kaWYgKCkKKworbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUworICAgIHJ1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrTm9uZS5jcHAKKykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJn
ZXQucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkKaW5kZXggZjNjYTcwNzQ0
ODZkNDk5MGRlZTAyNmQ1ZDA0NDJiOTgxMGY5ZjYzYS4uZDY4ZjU2YzQ1OGI2ZGY3NDljOTA5OWNj
MGFiZjNkZGY2ZTAwZWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1Rhcmdl
dC5wcmkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkKQEAgLTIzNiw3ICsy
MzYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBydW50aW1lL0V4ZWN1dGFibGUuY3BwIFwKICAgICBy
dW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIFwKICAgICBydW50aW1lL0Z1bmN0aW9uUHJv
dG90eXBlLmNwcCBcCi0gICAgcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIFwKKyAgICBy
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja05vbmUuY3BwIFwKICAgICBydW50aW1lL0dldHRlclNl
dHRlci5jcHAgXAogICAgIHJ1bnRpbWUvT3B0aW9ucy5jcHAgXAogICAgIHJ1bnRpbWUvSWRlbnRp
Zmllci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0
aXZpdHlDYWxsYmFjay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0Y2JkYmFl
ZjU4ZWM5YjlkMGQyZmJhMWZjODdiNDYwNGQ0ZDhhY2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0NCArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0g
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiR0NBY3Rpdml0eUNhbGxiYWNrLmgiCi0KLSNp
bmNsdWRlICJBUElTaGltcy5oIgotI2luY2x1ZGUgIkhlYXAuaCIKLSNpbmNsdWRlICJKU0dsb2Jh
bERhdGEuaCIKLSNpbmNsdWRlICJKU0xvY2suaCIKLSNpbmNsdWRlICJKU09iamVjdC5oIgotCi0j
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+
Ci0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYgVVNFKENGKQotCi1jb25zdCBkb3VibGUgZ2NUaW1l
U2xpY2VQZXJNQiA9IDAuMDE7IC8vIFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVu
ZCB0byByZWNsYWltIDEgTUIKLWNvbnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8v
IFRoZSBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0
dW5pc3RpYyB0aW1lci10cmlnZ2VyZWQgY29sbGVjdGlvbnMuCi1jb25zdCBkb3VibGUgdGltZXJT
bG9wID0gMi4wOyAvLyBGdWRnZSBmYWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29zdCBvZiBy
ZXNldHRpbmcgdGltZXIuCi1jb25zdCBkb3VibGUgcGFnaW5nVGltZU91dCA9IDAuMTsgLy8gVGlt
ZSBpbiBzZWNvbmRzIHRvIGFsbG93IG9wcG9ydHVuaXN0aWMgdGltZXIgdG8gaXRlcmF0ZSBvdmVy
IGFsbCBibG9ja3MgdG8gc2VlIGlmIHRoZSBIZWFwIGlzIHBhZ2VkIG91dC4KLWNvbnN0IENGVGlt
ZUludGVydmFsIGhvdXIgPSA2MCAqIDYwOwotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpE
ZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCi0gICAgOiBHQ0FjdGl2aXR5Q2Fs
bGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCi0gICAgLCBt
X2RlbGF5KHNfZGVjYWRlKQotewotfQotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAsIENGUnVuTG9vcFJlZiBydW5Mb29wKQot
ICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgcnVuTG9vcCkKLSAg
ICAsIG1fZGVsYXkoc19kZWNhZGUpCi17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6ZG9Xb3JrKCkKLXsKLSAgICBIZWFwKiBoZWFwID0gJm1fZ2xvYmFsRGF0YS0+aGVhcDsK
LSAgICBpZiAoIWlzRW5hYmxlZCgpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVBJRW50
cnlTaGltIHNoaW0obV9nbG9iYWxEYXRhKTsKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIGRvdWJs
ZSBzdGFydFRpbWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGlm
IChoZWFwLT5pc1BhZ2VkT3V0KHN0YXJ0VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7Ci0gICAgICAg
IGhlYXAtPmFjdGl2aXR5Q2FsbGJhY2soKS0+Y2FuY2VsKCk7Ci0gICAgICAgIGhlYXAtPmluY3Jl
YXNlTGFzdEdDTGVuZ3RoKHBhZ2luZ1RpbWVPdXQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
I2VuZGlmCi0gICAgaGVhcC0+Y29sbGVjdChIZWFwOjpEb05vdFN3ZWVwKTsKLX0KLSAgICAKLXZv
aWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcihkb3VibGUgbmV3RGVs
YXkpCi17Ci0gICAgaWYgKG5ld0RlbGF5ICogdGltZXJTbG9wID4gbV9kZWxheSkKLSAgICAgICAg
cmV0dXJuOwotICAgIGRvdWJsZSBkZWx0YSA9IG1fZGVsYXkgLSBuZXdEZWxheTsKLSAgICBtX2Rl
bGF5ID0gbmV3RGVsYXk7Ci0gICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1l
ci5nZXQoKSwgQ0ZSdW5Mb29wVGltZXJHZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSkgLSBk
ZWx0YSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIo
KQotewotICAgIG1fZGVsYXkgPSBzX2RlY2FkZTsKLSAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRG
aXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIHNfZGVj
YWRlKTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZShz
aXplX3QgYnl0ZXMpCi17Ci0gICAgLy8gVGhlIGZpcnN0IGJ5dGUgYWxsb2NhdGVkIGluIGFuIGFs
bG9jYXRpb24gY3ljbGUgd2lsbCByZXBvcnQgMCBieXRlcyB0byBkaWRBbGxvY2F0ZS4gCi0gICAg
Ly8gV2UgcHJldGVuZCBpdCdzIG9uZSBieXRlIHNvIHRoYXQgd2UgZG9uJ3QgaWdub3JlIHRoaXMg
YWxsb2NhdGlvbiBlbnRpcmVseS4KLSAgICBpZiAoIWJ5dGVzKQotICAgICAgICBieXRlcyA9IDE7
Ci0gICAgSGVhcCogaGVhcCA9IHN0YXRpY19jYXN0PEhlYXAqPigmbV9nbG9iYWxEYXRhLT5oZWFw
KTsKLSAgICBkb3VibGUgZ2NUaW1lU2xpY2UgPSBzdGQ6Om1pbigoc3RhdGljX2Nhc3Q8ZG91Ymxl
PihieXRlcykgLyBNQikgKiBnY1RpbWVTbGljZVBlck1CLCBtYXhHQ1RpbWVTbGljZSk7Ci0gICAg
ZG91YmxlIG5ld0RlbGF5ID0gaGVhcC0+bGFzdEdDTGVuZ3RoKCkgLyBnY1RpbWVTbGljZTsKLSAg
ICBzY2hlZHVsZVRpbWVyKG5ld0RlbGF5KTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjp3aWxsQ29sbGVjdCgpCi17Ci0gICAgY2FuY2VsVGltZXIoKTsKLX0KLQotdm9pZCBE
ZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQotewotICAgIGNhbmNlbFRpbWVyKCk7
Ci19Ci0KLSNlbHNlCi0KLURlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2soSGVhcCogaGVhcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5n
bG9iYWxEYXRhKCkpCi17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9X
b3JrKCkKLXsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0
ZShzaXplX3QpCi17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENv
bGxlY3QoKQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCgp
Ci17Ci19Ci0KLSNlbmRpZgotCi19Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgKaW5kZXggYzExMmE3MTIwZDA4NjcwODc2MzYxNjVl
NTM3MzRjYjllNDEzZDZlNC4uMzFhNjA2Y2YxODJkNmJjYzIzOWNlZTE0ZmQwYTNmMGFkYTcwYjZj
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNh
bGxiYWNrLmgKQEAgLTcyLDcgKzcyLDcgQEAgY2xhc3MgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
ayA6IHB1YmxpYyBHQ0FjdGl2aXR5Q2FsbGJhY2sgewogcHVibGljOgogICAgIHN0YXRpYyBEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrKiBjcmVhdGUoSGVhcCopOwogCi0gICAgRGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjayhIZWFwKik7CisgICAgZXhwbGljaXQgRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjayhIZWFwKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWxsb2NhdGUoc2l6ZV90KTsKICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbENvbGxlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMmVj
MWMxNzk3NmRhMzRhODIzNzFjZjNiMDc2NWRlYjFmMTE3Zjc0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBA
IC0wLDAgKzEsMTIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
KyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiR0NBY3Rp
dml0eUNhbGxiYWNrLmgiCisKKyNpZiBVU0UoQ0YpCisKKyNpbmNsdWRlICJBUElTaGltcy5oIgor
I2luY2x1ZGUgIkhlYXAuaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRlICJK
U0xvY2suaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+CisKK25hbWVzcGFjZSBKU0Mgewor
Citjb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8vIFBlcmNlbnRhZ2Ugb2Yg
Q1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIKK2NvbnN0IGRvdWJsZSBtYXhH
Q1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSB3ZSB3
YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2VyZWQgY29sbGVjdGlvbnMu
Citjb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBmYWN0b3IgdG8gYXZvaWQg
cGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCitjb25zdCBkb3VibGUgcGFnaW5n
VGltZU91dCA9IDAuMTsgLy8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93IG9wcG9ydHVuaXN0aWMg
dGltZXIgdG8gaXRlcmF0ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlmIHRoZSBIZWFwIGlzIHBh
Z2VkIG91dC4KK2NvbnN0IENGVGltZUludGVydmFsIGhvdXIgPSA2MCAqIDYwOworCitEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAp
CisgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpLCBDRlJ1bkxvb3BH
ZXRDdXJyZW50KCkpCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQoreworfQorCitEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAsIENG
UnVuTG9vcFJlZiBydW5Mb29wKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2Jh
bERhdGEoKSwgcnVuTG9vcCkKKyAgICAsIG1fZGVsYXkoc19kZWNhZGUpCit7Cit9CisKK3ZvaWQg
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKCkKK3sKKyAgICBIZWFwKiBoZWFwID0g
Jm1fZ2xvYmFsRGF0YS0+aGVhcDsKKyAgICBpZiAoIWlzRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgQVBJRW50cnlTaGltIHNoaW0obV9nbG9iYWxEYXRhKTsKKyNpZiAhUExB
VEZPUk0oSU9TKQorICAgIGRvdWJsZSBzdGFydFRpbWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOworICAgIGlmIChoZWFwLT5pc1BhZ2VkT3V0KHN0YXJ0VGltZSArIHBhZ2lu
Z1RpbWVPdXQpKSB7CisgICAgICAgIGhlYXAtPmFjdGl2aXR5Q2FsbGJhY2soKS0+Y2FuY2VsKCk7
CisgICAgICAgIGhlYXAtPmluY3JlYXNlTGFzdEdDTGVuZ3RoKHBhZ2luZ1RpbWVPdXQpOworICAg
ICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisgICAgaGVhcC0+Y29sbGVjdChIZWFwOjpEb05v
dFN3ZWVwKTsKK30KKyAgICAKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1
bGVUaW1lcihkb3VibGUgbmV3RGVsYXkpCit7CisgICAgaWYgKG5ld0RlbGF5ICogdGltZXJTbG9w
ID4gbV9kZWxheSkKKyAgICAgICAgcmV0dXJuOworICAgIGRvdWJsZSBkZWx0YSA9IG1fZGVsYXkg
LSBuZXdEZWxheTsKKyAgICBtX2RlbGF5ID0gbmV3RGVsYXk7CisgICAgQ0ZSdW5Mb29wVGltZXJT
ZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZSdW5Mb29wVGltZXJHZXROZXh0RmlyZURh
dGUobV90aW1lci5nZXQoKSkgLSBkZWx0YSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjazo6Y2FuY2VsVGltZXIoKQoreworICAgIG1fZGVsYXkgPSBzX2RlY2FkZTsKKyAgICBD
RlJ1bkxvb3BUaW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRkFic29sdXRlVGlt
ZUdldEN1cnJlbnQoKSArIHNfZGVjYWRlKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpkaWRBbGxvY2F0ZShzaXplX3QgYnl0ZXMpCit7CisgICAgLy8gVGhlIGZpcnN0IGJ5
dGUgYWxsb2NhdGVkIGluIGFuIGFsbG9jYXRpb24gY3ljbGUgd2lsbCByZXBvcnQgMCBieXRlcyB0
byBkaWRBbGxvY2F0ZS4gCisgICAgLy8gV2UgcHJldGVuZCBpdCdzIG9uZSBieXRlIHNvIHRoYXQg
d2UgZG9uJ3QgaWdub3JlIHRoaXMgYWxsb2NhdGlvbiBlbnRpcmVseS4KKyAgICBpZiAoIWJ5dGVz
KQorICAgICAgICBieXRlcyA9IDE7CisgICAgSGVhcCogaGVhcCA9IHN0YXRpY19jYXN0PEhlYXAq
PigmbV9nbG9iYWxEYXRhLT5oZWFwKTsKKyAgICBkb3VibGUgZ2NUaW1lU2xpY2UgPSBzdGQ6Om1p
bigoc3RhdGljX2Nhc3Q8ZG91YmxlPihieXRlcykgLyBNQikgKiBnY1RpbWVTbGljZVBlck1CLCBt
YXhHQ1RpbWVTbGljZSk7CisgICAgZG91YmxlIG5ld0RlbGF5ID0gaGVhcC0+bGFzdEdDTGVuZ3Ro
KCkgLyBnY1RpbWVTbGljZTsKKyAgICBzY2hlZHVsZVRpbWVyKG5ld0RlbGF5KTsKK30KKwordm9p
ZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCgpCit7CisgICAgY2FuY2Vs
VGltZXIoKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQor
eworICAgIGNhbmNlbFRpbWVyKCk7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja05vbmUuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVhOWIyMWRlNmU4MzI4NGQ0MjI3ODg1MWM1ODc5MzczYWE1ZjVkYzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2Fs
bGJhY2tOb25lLmNwcApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiR0NBY3Rpdml0eUNhbGxiYWNrLmgiCisKKyNpbmNsdWRlICJBUElTaGltcy5oIgor
I2luY2x1ZGUgIkhlYXAuaCIKKyNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKKyNpbmNsdWRlICJK
U0xvY2suaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+CisKK25hbWVzcGFjZSBKU0Mgewor
CitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhl
YXAqIGhlYXApCisgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpKQor
eworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCit7Cit9CisK
K3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90KQorewor
fQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KCkKK3sKK30K
Kwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQoreworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182703</attachid>
            <date>2013-01-14 22:15:08 -0800</date>
            <delta_ts>2013-01-19 03:58:36 -0800</delta_ts>
            <desc>Patch for win port</desc>
            <filename>bug-96045-20130115151211.patch</filename>
            <type>text/plain</type>
            <size>22865</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ODE3ZTkyYTk2Yjk1NGNiNDBkY2QwY2IxMjUzNTJmNWJlMGU3OGUwLi44NWUxNTMxZTYwYjM5ZTc2
MTE1ZmEyZjNlOGE4MDEzNmY1YmQxNDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxMy0wMS0xNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtKU0NdIFNwbGl0IEdDQWN0aXZpdGl5Q2FsbGJhY2suY3BwIGlu
dG8gZWFjaCBwb3J0IGZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbmNsdWRlcyBzcGVjaWZpYyBpbXBsZW1l
bnRhdGlvbiBmb3IgYWxsIHBvcnRzLiBTbywgdGhpcyBmaWxlIG5lZWRzCisgICAgICAgIHRvIGJl
IGRpdmlkZWQgdG8gYmUgb3B0aW1pemVkIGZvciBlYWNoIHBvcnQuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6CisgICAgICAgICogUGxhdGZvcm1FZmwu
Y21ha2U6CisgICAgICAgICogUGxhdGZvcm1XaW5DRS5jbWFrZToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmg6IEFkZCBleHBsaWNp
dCBrZXl3b3JkLgorICAgICAgICAoRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayk6CisgICAgICAg
ICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgIChKU0MpOgorICAg
ICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3Jr
KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1l
cik6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVy
KToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUp
OgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCk6
CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCk6CisgICAg
ICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcDogQWRkZWQuCisgICAgICAg
IChKU0MpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6ZG9Xb3JrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
ZGlkQWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3
aWxsQ29sbGVjdCk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNh
bmNlbCk6CisKIDIwMTMtMDEtMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBERkcgc2hvdWxkIG5vdCBmb3JnZXQgdGhhdCBpdCBoYWQgcHJvdmVkIHNvbWV0aGlu
ZyB0byBiZSBhIGNvbnN0YW50IGR1cmluZyBhIG1lcmdlIGp1c3QgYmVjYXVzZSBpdCdzIG1lcmdp
bmcgYWdhaW5zdCB0aGUgZW1wdHkgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCA2MzJlOWI2ZTg1YzA1MGUwYjBiMGY1NmQxMmEwYTlmOTU2MmQ1OGZhLi4wYzIzOWMz
MmI1MTc4YzE1NjA3ZDhhZTUxY2M5NjZjZjJmYzllZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0yMTgsNyArMjE4LDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJD
RVMKICAgICBydW50aW1lL0V4ZWN1dGFibGUuY3BwCiAgICAgcnVudGltZS9GdW5jdGlvbkNvbnN0
cnVjdG9yLmNwcAogICAgIHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwCi0gICAgcnVudGlt
ZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCiAgICAgcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwCiAg
ICAgcnVudGltZS9JZGVudGlmaWVyLmNwcAogICAgIHJ1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAwZThjODg1YTJi
ZDU3ZjY0YTI2ZGUzOTM3ZDQ4Zjg1MjM3MDM2OTBiLi5mYzJmYTk1N2ZiMWRhYzcyNDNjYjg1MDY5
NGM5OWNjYTdhNzE4Mjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNTc4LDcgKzU3OCw3IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuY3BwIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIFwKLQlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAgXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
cHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKaW5kZXggY2YzYzZiMjU2
MjQ5OTJmYzc4NzI1YzBiZmM2NDg5Nzk5MWZmMjVjYi4uNjMxZWM0MDZiZWUyODJhNjI0ODRjZGY0
ZDY1MmEwNWJiMGFmM2UwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKQEAgLTc0Niw3ICs3NDYsNyBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXEdDQWN0
aXZpdHlDYWxsYmFjay5jcHAiCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxydW50aW1lXEdDQWN0
aXZpdHlDYWxsYmFja0NGLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMTQ5OTEwM2Y4N2QzYTc5YWZjMTVmNDgyODU3NjFl
NGY4NDU0NGRkLi42MWJkNTBkMjYwMmI1OTJjMTNmZGFhMDYwOTJlNWYxMTIxMjc5MzIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODAyLDcgKzgwMiw3IEBACiAJCUMyQzhEMDJE
MTRBM0M2RTAwMDU3OEU2NSAvKiBDb3BpZWRTcGFjZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJCMTRBM0M2QjIwMDU3OEU2NSAv
KiBDb3BpZWRTcGFjZUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDMkM4RDAzMDE0QTNDRUZDMDA1NzhFNjUgLyogQ29waWVkQmxvY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJF
MTRBM0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQzhEMDMxMTRBM0NFRkMwMDU3OEU2NSAvKiBI
ZWFwQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4
NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwICovOyB9OworCQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rp
dml0eUNhbGxiYWNrQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFja0NG
LmNwcCAqLzsgfTsKIAkJQzJFNTI2QkQxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkU1MjZCQjE1
OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCAqLzsgfTsKIAkJQzJFNTI2QkUxNTkwRUYw
MDAwNTRFNDhEIC8qIEhlYXBUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzJFNTI2QkMxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyRUFBM0ZB
MTQ5QTgzNUUwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJFQUEzRjgxNDlBODMwODAwRkNFMTEyIC8qIENvcGll
ZFNwYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTE2NjQsNyArMTY2NCw3IEBACiAJCUMyQzhEMDJCMTRBM0M2QjIwMDU3OEU2NSAvKiBDb3Bp
ZWRTcGFjZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29waWVk
U3BhY2VJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQzhEMDJFMTRB
M0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDb3BpZWRCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkM4
RDAyRjE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhlYXBCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlD
MkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyRDU4QzMzMTU5MTJGRUUwMDIxQTg0NCAvKiBH
Q0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGVhcFRpbWVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzJFNTI2QkMxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwVGltZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzJFQUEzRjgxNDlBODMwODAwRkNFMTEyIC8qIENvcGllZFNwYWNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcGllZFNwYWNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzIwLDggKzIzMjAsNyBAQAogCQkJCUJDMjY4MEMx
MEUxNkQ0RTkwMEEwNkU5MiAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmggKi8sCiAJCQkJRjY5MkE4
NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCAqLywKIAkJCQlGNjky
QTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCAqLywKLQkJCQlDMkQ1
OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLywKLQkJCQlD
MkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLywKKwkJ
CQlDMkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICov
LAogCQkJCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAq
LywKIAkJCQlCQzAyRTlCODBFMTg0NTQ1MDAwRjkyOTcgLyogR2V0dGVyU2V0dGVyLmNwcCAqLywK
IAkJCQlCQzMzN0JERTBFMUFGMEI4MDA3NjkxOEEgLyogR2V0dGVyU2V0dGVyLmggKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCAwZGFl
NDBjNTQ5MGVlYzdlYWJhZWVjZDUxOTUzZWMwODNjODhhNGFjLi5mM2M1YjBmNjE0ZDY3MzdkOWRh
ZDRjMzc3YTA5ODlkZDcwMzFmOTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0
Zm9ybUJsYWNrQmVycnkuY21ha2UKQEAgLTIsMTAgKzIsNiBAQCBsaXN0KElOU0VSVCBKYXZhU2Ny
aXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTIDAKICAgICAiJHtCTEFDS0JFUlJZX1RISVJEX1BB
UlRZX0RJUn0vaWN1IgogKQogCi1saXN0KFJFTU9WRV9JVEVNIEphdmFTY3JpcHRDb3JlX1NPVVJD
RVMKLSAgICBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAKLSkKLQogbGlzdChBUFBFTkQg
SmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQmxh
Y2tCZXJyeS5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9y
bUVmbC5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRl
eCBkMmIwNjJmZDUyNzM1YWJjZDljMjQxODNjYTgyMTE2Y2FlYmUzYjQwLi42NmRhM2M0ZWU1YmFm
MDhmNGEzYjIxYjFiODc5YWZkOWU3YzcyMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC0xLDUgKzEsNiBAQAogbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVf
U09VUkNFUwogICAgIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwCisgICAg
cnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcAogKQogCiBsaXN0KEFQUEVORCBKYXZh
U2NyaXB0Q29yZV9MSUJSQVJJRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Q
bGF0Zm9ybVdpbkNFLmNtYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtV2luQ0Uu
Y21ha2UKaW5kZXggNWRkMzlkMTc2NTlhYzkzN2RmODIyZDExZmEzOGQ2NWYzNTA1YjcyNy4uNTM2
YWE2MGJiN2M3YjNiNmZlN2YyYzZjMjhhMDVmNGMyMmI1NWUzMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtV2luQ0UuY21ha2UKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL1BsYXRmb3JtV2luQ0UuY21ha2UKQEAgLTE0LDMgKzE0LDcgQEAgaWYgKEVOQUJMRV9K
SVQgQU5EIFdURl9DUFVfQVJNKQogCiAgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09V
UkNFUyAke0RFUklWRURfU09VUkNFU19ESVJ9L0dlbmVyYXRlZEpJVFN0dWJzLm9iaikKIGVuZGlm
ICgpCisKK2xpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKKyAgICBydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFja05vbmUuY3BwCispCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCmluZGV4
IGYzY2E3MDc0NDg2ZDQ5OTBkZWUwMjZkNWQwNDQyYjk4MTBmOWY2M2EuLmQ2OGY1NmM0NThiNmRm
NzQ5YzkwOTljYzBhYmYzZGRmNmUwMGVmMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCkBA
IC0yMzYsNyArMjM2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcnVudGltZS9FeGVjdXRhYmxlLmNw
cCBcCiAgICAgcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBcCiAgICAgcnVudGltZS9G
dW5jdGlvblByb3RvdHlwZS5jcHAgXAotICAgIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNw
cCBcCisgICAgcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tOb25lLmNwcCBcCiAgICAgcnVudGlt
ZS9HZXR0ZXJTZXR0ZXIuY3BwIFwKICAgICBydW50aW1lL09wdGlvbnMuY3BwIFwKICAgICBydW50
aW1lL0lkZW50aWZpZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3NGNiZGJhZWY1OGVjOWI5ZDBkMmZiYTFmYzg3YjQ2MDRkNGQ4YWNlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNDQgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgot
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4gCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFj
ay5oIgotCi0jaW5jbHVkZSAiQVBJU2hpbXMuaCIKLSNpbmNsdWRlICJIZWFwLmgiCi0jaW5jbHVk
ZSAiSlNHbG9iYWxEYXRhLmgiCi0jaW5jbHVkZSAiSlNMb2NrLmgiCi0jaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKLQotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvV1RGVGhy
ZWFkRGF0YS5oPgotCi1uYW1lc3BhY2UgSlNDIHsKLQotI2lmIFVTRShDRikKLQotY29uc3QgZG91
YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQZXJjZW50YWdlIG9mIENQVSB0aW1lIHdl
IHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCi1jb25zdCBkb3VibGUgbWF4R0NUaW1lU2xpY2Ug
PSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgd2Ugd2FudCB0byB1c2Ug
Zm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVkIGNvbGxlY3Rpb25zLgotY29uc3QgZG91
YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVkZ2UgZmFjdG9yIHRvIGF2b2lkIHBlcmZvcm1hbmNl
IGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgotY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAw
LjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0
ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCi1j
b25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2MDsKLQotRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQotICAgIDogR0NB
Y3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgp
KQotICAgICwgbV9kZWxheShzX2RlY2FkZSkKLXsKLX0KLQotRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwLCBDRlJ1bkxvb3BSZWYg
cnVuTG9vcCkKLSAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCksIHJ1
bkxvb3ApCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewotfQotCi12b2lkIERlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCi17Ci0gICAgSGVhcCogaGVhcCA9ICZtX2dsb2JhbERh
dGEtPmhlYXA7Ci0gICAgaWYgKCFpc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAot
ICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fZ2xvYmFsRGF0YSk7Ci0jaWYgIVBMQVRGT1JNKElPUykK
LSAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKLSAgICBpZiAoaGVhcC0+aXNQYWdlZE91dChzdGFydFRpbWUgKyBwYWdpbmdUaW1lT3V0KSkg
ewotICAgICAgICBoZWFwLT5hY3Rpdml0eUNhbGxiYWNrKCktPmNhbmNlbCgpOwotICAgICAgICBo
ZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0aChwYWdpbmdUaW1lT3V0KTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSNlbmRpZgotICAgIGhlYXAtPmNvbGxlY3QoSGVhcDo6RG9Ob3RTd2VlcCk7Ci19
Ci0gICAgCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxlVGltZXIoZG91
YmxlIG5ld0RlbGF5KQotewotICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBkb3VibGUgZGVsdGEgPSBtX2RlbGF5IC0gbmV3RGVsYXk7
Ci0gICAgbV9kZWxheSA9IG5ld0RlbGF5OwotICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVE
YXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVyR2V0TmV4dEZpcmVEYXRlKG1fdGltZXIu
Z2V0KCkpIC0gZGVsdGEpOwotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNh
bmNlbFRpbWVyKCkKLXsKLSAgICBtX2RlbGF5ID0gc19kZWNhZGU7Ci0gICAgQ0ZSdW5Mb29wVGlt
ZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50
KCkgKyBzX2RlY2FkZSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlk
QWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQotewotICAgIC8vIFRoZSBmaXJzdCBieXRlIGFsbG9jYXRl
ZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVwb3J0IDAgYnl0ZXMgdG8gZGlkQWxsb2Nh
dGUuIAotICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUgYnl0ZSBzbyB0aGF0IHdlIGRvbid0IGln
bm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCi0gICAgaWYgKCFieXRlcykKLSAgICAgICAg
Ynl0ZXMgPSAxOwotICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oJm1fZ2xvYmFs
RGF0YS0+aGVhcCk7Ci0gICAgZG91YmxlIGdjVGltZVNsaWNlID0gc3RkOjptaW4oKHN0YXRpY19j
YXN0PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1lU2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xp
Y2UpOwotICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAtPmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1l
U2xpY2U7Ci0gICAgc2NoZWR1bGVUaW1lcihuZXdEZWxheSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19
Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKLXsKLSAgICBjYW5j
ZWxUaW1lcigpOwotfQotCi0jZWxzZQotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZh
dWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCi0gICAgOiBHQ0FjdGl2aXR5Q2FsbGJh
Y2soaGVhcC0+Z2xvYmFsRGF0YSgpKQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OmRvV29yaygpCi17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
ZGlkQWxsb2NhdGUoc2l6ZV90KQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJh
Y2s6OndpbGxDb2xsZWN0KCkKLXsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
OjpjYW5jZWwoKQotewotfQotCi0jZW5kaWYKLQotfQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oCmluZGV4IGMxMTJhNzEyMGQwODY3
MDg3NjM2MTY1ZTUzNzM0Y2I5ZTQxM2Q2ZTQuLjMxYTYwNmNmMTgyZDZiY2MyMzljZWUxNGZkMGEz
ZjBhZGE3MGI2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFjay5oCkBAIC03Miw3ICs3Miw3IEBAIGNsYXNzIERlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2sgOiBwdWJsaWMgR0NBY3Rpdml0eUNhbGxiYWNrIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayogY3JlYXRlKEhlYXAqKTsKIAotICAgIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCopOworICAgIGV4cGxpY2l0IERlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2soSGVhcCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZEFsbG9jYXRlKHNp
emVfdCk7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxDb2xsZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzJlYzFjMTc5NzZkYTM0YTgyMzcxY2YzYjA3NjVkZWIxZjExN2Y3NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
a0NGLmNwcApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMuICBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhl
IG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgorCisjaWYgVVNFKENGKQorCisjaW5jbHVkZSAiQVBJ
U2hpbXMuaCIKKyNpbmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisj
aW5jbHVkZSAiSlNMb2NrLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgorCituYW1lc3Bh
Y2UgSlNDIHsKKworY29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQZXJj
ZW50YWdlIG9mIENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCitjb25zdCBk
b3VibGUgbWF4R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2YgQ1BV
IHRpbWUgd2Ugd2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVkIGNv
bGxlY3Rpb25zLgorY29uc3QgZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVkZ2UgZmFjdG9y
IHRvIGF2b2lkIHBlcmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgorY29uc3QgZG91
YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBv
cnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUg
SGVhcCBpcyBwYWdlZCBvdXQuCitjb25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2MDsK
KworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhI
ZWFwKiBoZWFwKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwg
Q0ZSdW5Mb29wR2V0Q3VycmVudCgpKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sKK30KKwor
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFw
KiBoZWFwLCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayho
ZWFwLT5nbG9iYWxEYXRhKCksIHJ1bkxvb3ApCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQorewor
fQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCit7CisgICAgSGVh
cCogaGVhcCA9ICZtX2dsb2JhbERhdGEtPmhlYXA7CisgICAgaWYgKCFpc0VuYWJsZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fZ2xvYmFsRGF0YSk7
CisjaWYgIVBMQVRGT1JNKElPUykKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBpZiAoaGVhcC0+aXNQYWdlZE91dChzdGFydFRp
bWUgKyBwYWdpbmdUaW1lT3V0KSkgeworICAgICAgICBoZWFwLT5hY3Rpdml0eUNhbGxiYWNrKCkt
PmNhbmNlbCgpOworICAgICAgICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0aChwYWdpbmdUaW1l
T3V0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIGhlYXAtPmNvbGxlY3Qo
SGVhcDo6RG9Ob3RTd2VlcCk7Cit9CisgICAgCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJh
Y2s6OnNjaGVkdWxlVGltZXIoZG91YmxlIG5ld0RlbGF5KQoreworICAgIGlmIChuZXdEZWxheSAq
IHRpbWVyU2xvcCA+IG1fZGVsYXkpCisgICAgICAgIHJldHVybjsKKyAgICBkb3VibGUgZGVsdGEg
PSBtX2RlbGF5IC0gbmV3RGVsYXk7CisgICAgbV9kZWxheSA9IG5ld0RlbGF5OworICAgIENGUnVu
TG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVyR2V0
TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCkpIC0gZGVsdGEpOworfQorCit2b2lkIERlZmF1bHRH
Q0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKCkKK3sKKyAgICBtX2RlbGF5ID0gc19kZWNh
ZGU7CisgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQoreworICAgIC8vIFRo
ZSBmaXJzdCBieXRlIGFsbG9jYXRlZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVwb3J0
IDAgYnl0ZXMgdG8gZGlkQWxsb2NhdGUuIAorICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUgYnl0
ZSBzbyB0aGF0IHdlIGRvbid0IGlnbm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCisgICAg
aWYgKCFieXRlcykKKyAgICAgICAgYnl0ZXMgPSAxOworICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNf
Y2FzdDxIZWFwKj4oJm1fZ2xvYmFsRGF0YS0+aGVhcCk7CisgICAgZG91YmxlIGdjVGltZVNsaWNl
ID0gc3RkOjptaW4oKHN0YXRpY19jYXN0PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1lU2xp
Y2VQZXJNQiwgbWF4R0NUaW1lU2xpY2UpOworICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAtPmxh
c3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xpY2U7CisgICAgc2NoZWR1bGVUaW1lcihuZXdEZWxheSk7
Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQorewor
ICAgIGNhbmNlbFRpbWVyKCk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6
Y2FuY2VsKCkKK3sKKyAgICBjYW5jZWxUaW1lcigpOworfQorCit9CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrTm9u
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tO
b25lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYTliMjFkZTZlODMyODRkNDIyNzg4NTFjNTg3OTM3M2FhNWY1
ZGMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrTm9uZS5jcHAKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgorCisjaW5jbHVkZSAiQVBJ
U2hpbXMuaCIKKyNpbmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisj
aW5jbHVkZSAiSlNMb2NrLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgorCituYW1lc3Bh
Y2UgSlNDIHsKKworRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjayhIZWFwKiBoZWFwKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2Jh
bERhdGEoKSkKK3sKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmso
KQoreworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNp
emVfdCkKK3sKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVj
dCgpCit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKK3sK
K30KKworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>