<?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>135559</bug_id>
          
          <creation_ts>2014-08-04 01:57:05 -0700</creation_ts>
          <short_desc>[WK2] Implement NavigatorContentUtils functions</short_desc>
          <delta_ts>2014-09-02 09:00:57 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026614</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-08-04 01:57:05 -0700</bug_when>
    <thetext>As custom handler has been supported by Chromium and Firefox, WK2 port needs to support it as well. Patch is coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026617</commentid>
    <comment_count>1</comment_count>
      <attachid>235970</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-08-04 03:01:25 -0700</bug_when>
    <thetext>Created attachment 235970
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026796</commentid>
    <comment_count>2</comment_count>
      <attachid>236005</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-08-04 22:19:23 -0700</bug_when>
    <thetext>Created attachment 236005
WIP-2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032643</commentid>
    <comment_count>3</comment_count>
      <attachid>237490</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-02 09:00:57 -0700</bug_when>
    <thetext>Created attachment 237490
WIP-3</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235970</attachid>
            <date>2014-08-04 03:01:25 -0700</date>
            <delta_ts>2014-08-04 22:19:14 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-135559-20140804190111.patch</filename>
            <type>text/plain</type>
            <size>9760</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjhiYTI2OTlkMWUzNTVk
ZDBjNzk1OTEwMGQ4ZjljYjUxNmQ3Y2RmZi4uMzIxNjAwODE3ODcwNjZiYTBkODQ3YjBlYWQ3ODEz
ZmUzZGYzY2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl0gSW1w
bGVtZW50IE5hdmlnYXRvckNvbnRlbnRVdGlscyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTU1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaC4KKyAgICAgICAg
KFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpyZWdpc3RlclByb3RvY29s
SGFuZGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Oldl
YlBhZ2UpOgorCiAyMDE0LTA4LTAyICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdXBwb3J0IGJvdGggd2luZG93IGFuZCB2aWV3IGJhc2VkIHZpZGVvIGZ1bGxz
Y3JlZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IGEyNmVmNzA0MGI2ZWUxNTg1ODZkYzA5MjM3
Y2FmOTNhMjI5YWY5MzcuLmM0MDVjMGUyOWE3ODY4YTFhMDg2Y2ZlOWQwNGIwYTRjNTg1OTY5ZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC01MzQsNiArNTM0LDcgQEAgc2V0KFdlYktpdDJfU09V
UkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQu
Y3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVu
dC5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNs
aWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
ODlhNjBmY2Q1ZGYzMzhlMmE0ZmMzYWMxNWY1M2FiMjVlZTlmZjQ4Ny4uMmFmMzY4M2FmNWQ3YWUy
ZDhkZjI1ODEwNzhlYzIxY2NhNDMwZDRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTUxODIsNCArNTE4MiwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
d2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbUZvck1haW5GcmFtZSgpCiAgICAgcmVjb3JkTmF2
aWdhdGlvblNuYXBzaG90KCk7CiB9CiAKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3Ry
aW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCBhNjRiOTM1YjEzYmRkZDJkOTEzYWM3OWZlYzI1YjFhYmZlYTllODE5Li44OGM0ZDIwZDcyODlk
OGFiMWMyMTBjOTVkZmEyNmQzZTI2OTQ4NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC05MTMsNiArOTEzLDEwIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNT
aG93aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpIGNvbnN0IHsgcmV0dXJuIG1faXNTaG93
aW5nTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdDsgfQogCisjaWYgRU5BQkxFKE5BVklHQVRPUl9D
T05URU5UX1VUSUxTKQorICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3Ry
aW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6
VVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQ
YWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwg
Y29uc3QgV2ViUGFnZUNvbmZpZ3VyYXRpb24mKTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggYTFiYjVkODgzYTRlYTdlYjY2MDhhM2YwYTZlYWZlYTYxMDZkMzc3Yy4uM2Zk
YjM1NTVmYjkxNjVkYWNiZmFiMzcxYmM5YmYzMDJhYWI4MGQzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MDksNCArNDA5
LDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxU
RVJJTkcpCiAgICAgQ29udGVudEZpbHRlckRpZEJsb2NrTG9hZEZvckZyYW1lKFdlYkNvcmU6OkNv
bnRlbnRGaWx0ZXIgY29udGVudEZpbHRlciwgdWludDY0X3QgZnJhbWVJRCkKICNlbmRpZgorCisj
aWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIFJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKFN0cmluZyBzY2hlbWUsIFdlYkNvcmU6OlVSTCBiYXNlVVJMLCBXZWJDb3JlOjpVUkwg
dXJsLCBTdHJpbmcgdGl0bGUpCisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzg1NzEwOThiN2M0MjIwY2Vl
OTM5Y2RlNTI2NTFmOGU3MmQ0MWMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQu
Y3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oIgorCisj
aWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjaW5jbHVkZSAiV2ViUGFnZVBy
b3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYk5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
dGl0bGUpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsLCB0aXRsZSkpOworfQorCisj
aWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKK05hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6
OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmLCBjb25zdCBVUkwmLCBj
b25zdCBVUkwmKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1
c3RvbUhhbmRsZXJzRGVjbGluZWQ7Cit9CisKK3ZvaWQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IFVS
TCYsIGNvbnN0IFVSTCYpCit7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCmluZGV4IDVjMzU3NmRiNDIyNjUz
ZjcxODFkZGYxZWQ5YTcxOGE0MmE0MTU0YjAuLjEzZGFjN2U0NmFjYjc3NzFmYzNmYjYyZjFjODU4
YjRmNmU5NThjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5U
X1VUSUxTKQogCisjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTmF2aWdh
dG9yQ29udGVudFV0aWxzQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKQEAgLTM1LDE1ICszNiwyMSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudCB7CiBwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKHBhZ2UpCisgICAg
eworICAgIH0KICAgICB2aXJ0dWFsIH5XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQoKSB7
IH0KIAotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIo
Y29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdp
c3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgV2ViQ29yZTo6
VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBv
dmVycmlkZTsKIAogI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgdmlydHVh
bCBDdXN0b21IYW5kbGVyc1N0YXRlIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBT
dHJpbmcmLCBjb25zdCBVUkwmLCBjb25zdCBVUkwmKSB7IHJldHVybiBDdXN0b21IYW5kbGVyc0Rl
Y2xpbmVkOyB9Ci0gICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29u
c3QgU3RyaW5nJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJikgeyB9CisgICAgdmlydHVhbCBOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQcm90b2NvbEhh
bmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0
IFdlYkNvcmU6OlVSTCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFdl
YkNvcmU6OlVSTCYpIG92ZXJyaWRlOwogI2VuZGlmCisKK3ByaXZhdGU6CisgICAgV2ViUGFnZSog
bV9wYWdlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDA5NmY3NDE2ZjRlMzQwYzZmYWMwNDgxMWMzMjA4MmQ1NmIzMTgzNDcu
LjljMWMwNDk2ZGQ2NmZmZjc3YWJkODg2Y2I2MGMyODA5NGIyYjM5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE3NSw2ICsxNzUsMTAg
QEAKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKICNlbmRpZgogCisjaWYg
RU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorI2luY2x1ZGUgIldlYk5hdmlnYXRvckNv
bnRlbnRVdGlsc0NsaWVudC5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNs
dWRlICJQREZQbHVnaW4uaCIKICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5o
IgpAQCAtMzkwLDYgKzM5NCw5IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBj
b25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShQ
Uk9YSU1JVFlfRVZFTlRTKQogICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZpY2VQcm94aW1pdHlUbyht
X3BhZ2UuZ2V0KCksIG5ldyBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQodGhpcykpOwogI2VuZGlm
CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIFdlYkNvcmU6OnByb3Zp
ZGVOYXZpZ2F0b3JDb250ZW50VXRpbHNUbyhtX3BhZ2UuZ2V0KCksIHN0ZDo6bWFrZV91bmlxdWU8
V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Pih0aGlzKSk7CisjZW5kaWYKIAogI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIG1fcGFnZS0+c2V0UmVtb3RlSW5zcGVjdGlvbkFs
bG93ZWQodHJ1ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236005</attachid>
            <date>2014-08-04 22:19:23 -0700</date>
            <delta_ts>2014-09-02 09:00:23 -0700</delta_ts>
            <desc>WIP-2</desc>
            <filename>bug-135559-20140805141909.patch</filename>
            <type>text/plain</type>
            <size>21604</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjhiYTI2OTlkMWUzNTVk
ZDBjNzk1OTEwMGQ4ZjljYjUxNmQ3Y2RmZi4uMzIxNjAwODE3ODcwNjZiYTBkODQ3YjBlYWQ3ODEz
ZmUzZGYzY2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA4LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl0gSW1w
bGVtZW50IE5hdmlnYXRvckNvbnRlbnRVdGlscyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTU1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50LmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaC4KKyAgICAgICAg
KFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpyZWdpc3RlclByb3RvY29s
SGFuZGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGll
bnQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Oldl
YlBhZ2UpOgorCiAyMDE0LTA4LTAyICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdXBwb3J0IGJvdGggd2luZG93IGFuZCB2aWV3IGJhc2VkIHZpZGVvIGZ1bGxz
Y3JlZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IGEyNmVmNzA0MGI2ZWUxNTg1ODZkYzA5MjM3
Y2FmOTNhMjI5YWY5MzcuLmM0MDVjMGUyOWE3ODY4YTFhMDg2Y2ZlOWQwNGIwYTRjNTg1OTY5ZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC01MzQsNiArNTM0LDcgQEAgc2V0KFdlYktpdDJfU09V
UkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQu
Y3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVu
dC5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRV
dGlsc0NsaWVudC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNh
dGlvbkNsaWVudC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNs
aWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggNGM2ZjIyMDcwZDlmMDQ5MDJh
NTEwNTE5ZTdiZmQ2ZjUyNzIwYzU5Ny4uY2M5Yjg0NWJhYWFjNmY1ODg4N2U4OWEwNzg5MWRjMmVl
ZTIxNmZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE0MSw2ICsxNDEsNyBAQCBs
aXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvZWZsL0V3a1RvdWNoUG9p
bnQuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9GaW5kQ2xpZW50RWZsLmNwcAogICAgIFVJUHJvY2Vz
cy9lZmwvRm9ybUNsaWVudEVmbC5jcHAKKyAgICBVSVByb2Nlc3MvZWZsL05hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEVmbC5jcHAKICAgICBVSVByb2Nlc3MvZWZsL0lucHV0TWV0aG9kQ29udGV4
dEVmbC5jcHAKICAgICBVSVByb2Nlc3MvZWZsL1BhZ2VMb2FkQ2xpZW50RWZsLmNwcAogICAgIFVJ
UHJvY2Vzcy9lZmwvUGFnZVBvbGljeUNsaWVudEVmbC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggNTBkMzRlZGMzOGZhOWIyNGMwZTFlOWVk
MmM3OGQwNDJiMTc3YjQ5Ni4uYjI1OTU1YzI5NGIzY2M3NWI2ZmM2N2I3OWY2YTQ4NzA4OGY1YjQ5
YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAg
LTc5LDYgKzc5LDEwIEBACiAjaW5jbHVkZSAiVmlicmF0aW9uQ2xpZW50RWZsLmgiCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyNpbmNsdWRlICJOYXZpZ2F0
b3JDb250ZW50VXRpbHNDbGllbnRFZmwuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEZVTExTQ1JF
RU5fQVBJKQogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaCIKICNlbmRpZgpA
QCAtMjc1LDYgKzI3OSw5IEBAIEV3a1ZpZXc6OkV3a1ZpZXcoV0tWaWV3UmVmIHZpZXcsIEV2YXNf
T2JqZWN0KiBldmFzT2JqZWN0KQogICAgICwgbV9jb250ZXh0TWVudUNsaWVudChzdGQ6Om1ha2Vf
dW5pcXVlPENvbnRleHRNZW51Q2xpZW50RWZsPih0aGlzKSkKICAgICAsIG1fZmluZENsaWVudChz
dGQ6Om1ha2VfdW5pcXVlPEZpbmRDbGllbnRFZmw+KHRoaXMpKQogICAgICwgbV9mb3JtQ2xpZW50
KHN0ZDo6bWFrZV91bmlxdWU8Rm9ybUNsaWVudEVmbD4odGhpcykpCisjaWYgRU5BQkxFKE5BVklH
QVRPUl9DT05URU5UX1VUSUxTKQorICAgICwgbV9uYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQo
c3RkOjptYWtlX3VuaXF1ZTxOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw+KHRoaXMpKQor
I2VuZGlmCiAgICAgLCBtX3ZpZXdDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxWaWV3Q2xpZW50RWZs
Pih0aGlzKSkKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogICAgICwgbV92aWJyYXRpb25DbGllbnQo
c3RkOjptYWtlX3VuaXF1ZTxWaWJyYXRpb25DbGllbnRFZmw+KHRoaXMpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IDFjNDgyY2ZhZjhhYzk2OWU5ZjBh
YzViYjQyZGZlMDY0Y2FiZjdkNmYuLmIyY2Y5ZWU1YTMyZDFkMzc4YjZiYTFkZDE5MjdmMjdiM2Jj
YmZjZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1Zp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAg
LTU1LDYgKzU1LDEwIEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKICNpZiBFTkFCTEUoVklCUkFUSU9O
KQogY2xhc3MgVmlicmF0aW9uQ2xpZW50RWZsOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpCitjbGFzcyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmw7
CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjUzLDYgKzI1Nyw5IEBAIHBy
aXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRFZmw+
IG1fY29udGV4dE1lbnVDbGllbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6RmluZENs
aWVudEVmbD4gbV9maW5kQ2xpZW50OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OkZvcm1D
bGllbnRFZmw+IG1fZm9ybUNsaWVudDsKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpCisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50RWZsPiBtX25hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDsKKyNlbmRpZgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJLaXQ6OlZpZXdDbGllbnRFZmw+IG1fdmlld0NsaWVudDsKICNpZiBFTkFC
TEUoVklCUkFUSU9OKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OlZpYnJhdGlvbkNsaWVu
dEVmbD4gbV92aWJyYXRpb25DbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCmluZGV4IDExY2Y2NTI0Yzcy
OThiYjlmODZkMzA3ZDM2YWE5YmZjMTNiN2EzYWIuLjc1ZWI5OGYwYzE1NjhhZWQyYzdhMDUyMzZi
MzI3MDU1NjY0MWMzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCkBAIC01MzIsNiArNTMyLDIzIEBAIHZv
aWQgV2ViVmlldzo6ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2lu
dCwgY29uc3QgSW50U2l6ZSYgc2l6CiAgICAgbV9wYWdlLT5maW5kWm9vbWFibGVBcmVhRm9yUG9p
bnQodHJhbnNmb3JtRnJvbVNjZW5lKCkubWFwUG9pbnQocG9pbnQpLCB0cmFuc2Zvcm1Gcm9tU2Nl
bmUoKS5tYXBTaXplKHNpemUpKTsKIH0KIAorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykKK3ZvaWQgV2ViVmlldzo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5n
JiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKQordm9pZCBXZWJWaWV3Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNv
bnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBXZWJDb3JlOjpVUkwmIGJhc2VVUkwsIGNvbnN0IFdl
YkNvcmU6OlVSTCYpCit7Cit9CisKK1dlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSBXZWJWaWV3Ojppc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVy
ZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29u
c3QgV2ViQ29yZTo6VVJMJikKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6TmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50OjpDdXN0b21IYW5kbGVyc0RlY2xpbmVkOworfQorI2VuZGlmCisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmgKaW5kZXggZGFhYmYxZTQwMTViMGQ5M2NmMDYwYmFmMmU5NjM0OWVm
ZjAyYTU1OS4uYmVhZGFlNjkyNjk1ZWQyMTc3YWU1MjMxN2IwNmM4MDFjNGMzYWNkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dl
YlZpZXcuaApAQCAtMjA2LDYgKzIwNiwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IG5hdmlnYXRpb25HZXN0dXJlRGlkRW5kKGJvb2wsIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKSBv
dmVycmlkZSB7IH07CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZWNvcmROYXZpZ2F0aW9uU25hcHNo
b3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpIG92ZXJyaWRlIHsgfTsKIAorI2lmIEVOQUJMRShO
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVS
TCwgY29uc3QgV2ViQ29yZTo6VVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7Cisj
aWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQgdW5yZWdp
c3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgV2ViQ29yZTo6
VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0
ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0
IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJikgb3ZlcnJpZGU7Cisj
ZW5kaWYKKyNlbmRpZgorCiAgICAgV2ViVmlld0NsaWVudCBtX2NsaWVudDsKICAgICBSZWZQdHI8
V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRGVmYXVsdFVuZG9Db250cm9sbGVyIG1fdW5kb0Nv
bnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBhNjdhZGRj
NGQ1MDA0ZDc0ZGU4NWM4ZDkxYTY5NDg5MWNkNGJkZmI1Li5mNjNhNzI0Mjc5ZGMxZDkzODY4ODA2
MzI4YjEzNmNkODUzY2NhZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
QEAgLTU1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIERyYXdpbmdBcmVh
UHJveHk7CiBjbGFzcyBGaW5kSW5kaWNhdG9yOworY2xhc3MgTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50OwogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudDsKIGNsYXNzIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOwogY2xhc3MgVmlld1NuYXBzaG90OwpAQCAtMjkwLDYgKzI5MSwxMSBA
QCBwdWJsaWM6CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5U
X1VUSUxTKQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmIHNjaGVtZSwgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3Jl
OjpVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHVucmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6
OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJikgPSAwOworICAgIHZpcnR1YWwgV2Vi
Q29yZTo6TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlIGlz
UHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgV2Vi
Q29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmKSA9IDA7CisjZW5kaWYKICAg
ICAvLyBBdXhpbGlhcnkgQ2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIHZpcnR1YWwgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNjcmVl
bk1hbmFnZXJQcm94eUNsaWVudCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggODlhNjBmY2Q1ZGYzMzhlMmE0ZmMzYWMxNWY1M2FiMjVlZTlmZjQ4
Ny4uNzZkMDcxOWJiOThiMzlmMzdiNTU4ZWM5M2E1ZWZlN2E1N2E5YWFhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUxODIsNCArNTE4MiwyMyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6d2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbUZvck1haW5GcmFt
ZSgpCiAgICAgcmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KCk7CiB9CiAKKyNpZiBFTkFCTEUoTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVS
TCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAg
bV9wYWdlQ2xpZW50LnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJs
LCB0aXRsZSk7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQordm9pZCBX
ZWJQYWdlUHJveHk6OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hl
bWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwpCit7CisgICAgbV9wYWdlQ2xp
ZW50LnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmwpOworfQor
CitXZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3Rh
dGUgV2ViUGFnZVByb3h5Ojppc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoY29uc3QgU3RyaW5n
JiBzY2hlbWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwpCit7CisgICAgcmV0
dXJuIG1fcGFnZUNsaWVudC5pc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoc2NoZW1lLCBiYXNl
VVJMLCB1cmwpOworfQorI2VuZGlmCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTY0YjkzNWIxM2JkZGQy
ZDkxM2FjNzlmZWMyNWIxYWJmZWE5ZTgxOS4uOGQxNzM5YmY1OTFiZWMwOTNmMmVjMTAzMDdiZTdl
MDk1OGQ5NjYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
ODUsNiArODUsMTAgQEAKICNpbmNsdWRlICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyNpbmNsdWRlIDxXZWJDb3Jl
L05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShF
RkwpCiAjaW5jbHVkZSAiV0tQYWdlRWZsLmgiCiAjaW5jbHVkZSAiV2ViVUlQb3B1cE1lbnVDbGll
bnQuaCIKQEAgLTkxMyw2ICs5MTcsMTQgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc1Nob3dpbmdO
YXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCkgY29uc3QgeyByZXR1cm4gbV9pc1Nob3dpbmdOYXZp
Z2F0aW9uR2VzdHVyZVNuYXBzaG90OyB9CiAKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpCisgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmLCBj
b25zdCBTdHJpbmcmIHRpdGxlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQor
ICAgIHZvaWQgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwg
Y29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJMLCBjb25zdCBXZWJDb3JlOjpVUkwmKTsKKyAgICBX
ZWJDb3JlOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUg
aXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBX
ZWJDb3JlOjpVUkwmIGJhc2VVUkwsIGNvbnN0IFdlYkNvcmU6OlVSTCYpOworI2VuZGlmCisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQ
cm94eSYsIHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNvbmZpZ3VyYXRpb24mKTsKICAg
ICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTFiYjVkODgzYTRlYTdlYjY2MDhh
M2YwYTZlYWZlYTYxMDZkMzc3Yy4uZTlkMzQ5MDVlMWU2ZjYzNmE3MjY4Y2QyMGNhNzgzZjIyZGI5
Y2I5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC00MDksNCArNDA5LDkgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsK
ICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCiAgICAgQ29udGVudEZpbHRlckRpZEJsb2Nr
TG9hZEZvckZyYW1lKFdlYkNvcmU6OkNvbnRlbnRGaWx0ZXIgY29udGVudEZpbHRlciwgdWludDY0
X3QgZnJhbWVJRCkKICNlbmRpZgorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxT
KQorICAgIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKFN0cmluZyBzY2hlbWUsIFdlYkNvcmU6OlVS
TCBiYXNlVVJMLCBXZWJDb3JlOjpVUkwgdXJsLCBTdHJpbmcgdGl0bGUpCisgICAgVW5yZWdpc3Rl
clByb3RvY29sSGFuZGxlcihTdHJpbmcgc2NoZW1lLCBXZWJDb3JlOjpVUkwgYmFzZVVSTCwgV2Vi
Q29yZTo6VVJMIHVybCkKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9OYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ5ZGM4ZTEwZGM4NzgzZjZhMjlmNTBiODg5NmRiMjM2ZGIzMjcyZTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL05hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudEVmbC5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ29udGVudFV0aWxz
Q2xpZW50RWZsLmgiCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjaW5j
bHVkZSAiRXdrVmlldy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50RWZsOjpOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmwoRXdrVmlldyog
dmlld0ltcGwpCisgICAgOiBtX3ZpZXcodmlld0ltcGwpCit7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudEVmbC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0
NTY3YjI2YTdjMTRmMDgzNzUyNmI4NjNmYjNlMTEzODIxYTZlNzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dEVmbC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgU2Ftc3Vu
ZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmxfaAorI2RlZmluZSBOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnRFZmxfaAorCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQor
CitjbGFzcyBFd2tWaWV3OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50RWZsIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOYXZpZ2F0b3JD
b250ZW50VXRpbHNDbGllbnRFZmwoRXdrVmlldyopOworCitwcml2YXRlOgorICAgIEV3a1ZpZXcq
IG1fdmlldzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKKyNlbmRpZiAv
LyBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnRFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHND
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxYjc5MzM3MjRkNDgy
OWU4ZmY1ZWU4Y2I2MzM4MWVjYjkzMTFlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudC5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBTYW1z
dW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Lmgi
CisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlICJXZWJQ
YWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFVS
TCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKHNjaGVtZSwgYmFzZVVSTCwgdXJsLCB0aXRsZSkpOworfQorCisjaWYgRU5BQkxFKENVU1RP
TV9TQ0hFTUVfSEFORExFUikKK05hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFu
ZGxlcnNTdGF0ZSBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OmlzUHJvdG9jb2xIYW5k
bGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBj
b25zdCBVUkwmIHVybCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGU6OkN1c3RvbUhhbmRs
ZXJzRGVjbGluZWQ7Cit9CisKK3ZvaWQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojp1
bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBVUkwm
IGJhc2VVUkwsIGNvbnN0IFVSTCYgdXJsKQoreworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpVbnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHNjaGVtZSwgYmFzZVVSTCwg
dXJsKSk7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5hdmln
YXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCmluZGV4IDVjMzU3NmRiNDIyNjUzZjcxODFkZGYxZWQ5
YTcxOGE0MmE0MTU0YjAuLjEzZGFjN2U0NmFjYjc3NzFmYzNmYjYyZjFjODU4YjRmNmU5NThjOTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
TmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaApAQCAt
MjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQogCisj
aW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTmF2aWdhdG9yQ29udGVudFV0
aWxzQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM1LDE1
ICszNiwyMSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViTmF2aWdhdG9yQ29udGVu
dFV0aWxzQ2xpZW50IDogcHVibGljIFdlYkNvcmU6Ok5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVu
dCB7CiBwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
KFdlYlBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKHBhZ2UpCisgICAgeworICAgIH0KICAg
ICB2aXJ0dWFsIH5XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQoKSB7IH0KIAotcHJpdmF0
ZToKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5n
JiBzY2hlbWUsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpIG92ZXJyaWRlIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29s
SGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgV2ViQ29yZTo6VVJMJiBiYXNlVVJM
LCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKSBvdmVycmlkZTsKIAog
I2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCi0gICAgdmlydHVhbCBDdXN0b21IYW5k
bGVyc1N0YXRlIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmLCBjb25z
dCBVUkwmLCBjb25zdCBVUkwmKSB7IHJldHVybiBDdXN0b21IYW5kbGVyc0RlY2xpbmVkOyB9Ci0g
ICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiwg
Y29uc3QgVVJMJiwgY29uc3QgVVJMJikgeyB9CisgICAgdmlydHVhbCBOYXZpZ2F0b3JDb250ZW50
VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3RhdGUgaXNQcm90b2NvbEhhbmRsZXJSZWdpc3Rl
cmVkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFdlYkNvcmU6OlVS
TCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYp
IG92ZXJyaWRlOwogI2VuZGlmCisKK3ByaXZhdGU6CisgICAgV2ViUGFnZSogbV9wYWdlOwogfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDA5NmY3NDE2ZjRlMzQwYzZmYWMwNDgxMWMzMjA4MmQ1NmIzMTgzNDcuLjljMWMwNDk2ZGQ2
NmZmZjc3YWJkODg2Y2I2MGMyODA5NGIyYjM5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE3NSw2ICsxNzUsMTAgQEAKICNpbmNsdWRl
ICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE5BVklH
QVRPUl9DT05URU5UX1VUSUxTKQorI2luY2x1ZGUgIldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0Ns
aWVudC5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJQREZQbHVn
aW4uaCIKICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgpAQCAtMzkwLDYg
KzM5NCw5IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZF
TlRTKQogICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZpY2VQcm94aW1pdHlUbyhtX3BhZ2UuZ2V0KCks
IG5ldyBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQodGhpcykpOwogI2VuZGlmCisjaWYgRU5BQkxF
KE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIFdlYkNvcmU6OnByb3ZpZGVOYXZpZ2F0b3JD
b250ZW50VXRpbHNUbyhtX3BhZ2UuZ2V0KCksIHN0ZDo6bWFrZV91bmlxdWU8V2ViTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50Pih0aGlzKSk7CisjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQogICAgIG1fcGFnZS0+c2V0UmVtb3RlSW5zcGVjdGlvbkFsbG93ZWQodHJ1ZSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237490</attachid>
            <date>2014-09-02 09:00:57 -0700</date>
            <delta_ts>2014-09-02 09:00:57 -0700</delta_ts>
            <desc>WIP-3</desc>
            <filename>bug-135559-20140903010046.patch</filename>
            <type>text/plain</type>
            <size>38745</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDUzMjU2ZjkwZGY5MjY3
NTk4YmFhMTgxOWNlNTg4MjZhZGE0NDZlMS4uZDlkMWM0ZjY4ZWJlYzBkMDY2OGMyOTkxM2M0YTQx
MmQxZWQ2NmNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE0LTA5LTAyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgIFtXSzJdIElt
cGxlbWVudCBOYXZpZ2F0b3JDb250ZW50VXRpbHMgZnVuY3Rpb25zCisgICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NTU5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVjdC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdG9yQ29udGVudFV0
aWxzLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaC4KKyAgICAgICAgKFdLTmF2aWdh
dG9yQ29udGVudFV0aWxzR2V0VHlwZUlEKToKKyAgICAgICAgKFdLTmF2aWdhdG9yQ29udGVudFV0
aWxzU2V0UHJvdmlkZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRvckNv
bnRlbnRVdGlscy5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk5hdmlnYXRvckNv
bnRlbnRVdGlsc1Byb3ZpZGVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXI6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0
aWxzUHJvdmlkZXI6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVyOjp1bnJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJv
dmlkZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OnN1cHBsZW1lbnROYW1lKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5OjpXZWJOYXZpZ2F0
b3JDb250ZW50VXRpbHNQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRl
bnRVdGlsc1Byb3h5Ojp+V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkpOgorICAgICAgICAo
V2ViS2l0OjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eTo6aW5pdGlhbGl6ZVByb3ZpZGVy
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OnJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVu
dFV0aWxzUHJveHk6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OnJl
ZldlYkNvbnRleHRTdXBwbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2aWdhdG9yQ29u
dGVudFV0aWxzUHJveHk6OmRlcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eS5oOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkubWVzc2FnZXMuaW46IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29u
dGVudFV0aWxzQ2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRv
ckNvbnRlbnRVdGlsc0NsaWVudDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOgorICAgICAgICAo
V2ViS2l0Ojp0b0N1c3RvbUhhbmRsZXJzU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZp
Z2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6dW5yZWdpc3Rl
clByb3RvY29sSGFuZGxlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojppc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6
OnVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFn
ZSk6CisKIDIwMTQtMDktMDIgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyBidWlsZCBmaXggYWZ0ZXIgcjE3MzE2My4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQKaW5kZXggNGYzOTIzZDQxYjNkM2M0ZTg5MTQ1NWU5ZjhjMGQ3MTgyNDZk
ZTZjMi4uNDM5NzVjYmJkMDA1MDg2ZTQ3MTI5OTU0MDAyYzcwM2JhZDViYWNjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKQEAgLTMzMyw2ICszMzMsOCBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
VUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAogICAgIFVJUHJvY2Vzcy9XZWJLZXlWYWx1
ZVN0b3JhZ2VNYW5hZ2VyLmNwcAogICAgIFVJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5LmNwcAorICAgIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlci5j
cHAKKyAgICBVSVByb2Nlc3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkuY3BwCiAgICAg
VUlQcm9jZXNzL1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuY3BwCiAgICAgVUlQcm9j
ZXNzL1dlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1dlYlBhZ2VD
b250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTM3NSw2ICszNzcsNyBAQCBzZXQoV2ViS2l0Ml9TT1VS
Q0VTCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAKICAg
ICBVSVByb2Nlc3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAKICAgICBVSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YVJlZi5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL0MvV0tOYXZp
Z2F0b3JDb250ZW50VXRpbHMuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9u
LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCiAgICAg
VUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwCkBAIC01
MzEsNiArNTM0LDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViR2VvbG9jYXRpb25DbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5jcHAKICAgICBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAKICAgICBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKICAgICBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsdWdJbkNsaWVudC5jcHAKQEAgLTU4OCw2ICs1OTIsNyBA
QCBzZXQoV2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwogICAgIFVJUHJvY2Vzcy9XZWJJY29uRGF0
YWJhc2UubWVzc2FnZXMuaW4KICAgICBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2Fn
ZXMuaW4KICAgICBVSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5p
bgorICAgIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eS5tZXNzYWdlcy5p
bgogICAgIFVJUHJvY2Vzcy9XZWJPcmlnaW5EYXRhTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAg
ICAgVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgogICAgIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaApp
bmRleCA4ZDFlOTY1ZDVjNGFlMWZhOWU1OWY0NTNkOTYyZjQ4YTJiYmM4Y2Q5Li40ZGMwOGQ0NmQw
YmExNjdmZDQyYTI4MDk4YmMxNDYzNTFhMWJhZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oCkBAIC0xMTIsNiArMTEyLDcgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVl
V0tJbnNwZWN0b3IqIFdLSW5zcGVjdG9yUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVl
V0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWY7CiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS01lZGlhQ2FjaGVNYW5hZ2VyKiBXS01lZGlhQ2Fj
aGVNYW5hZ2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tOYXZpZ2F0aW9uRGF0
YSogV0tOYXZpZ2F0aW9uRGF0YVJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTmF2
aWdhdG9yQ29udGVudFV0aWxzKiBXS05hdmlnYXRvckNvbnRlbnRVdGlsc1JlZjsKIHR5cGVkZWYg
Y29uc3Qgc3RydWN0IE9wYXF1ZVdLTm90aWZpY2F0aW9uKiBXS05vdGlmaWNhdGlvblJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTm90aWZpY2F0aW9uTWFuYWdlciogV0tOb3RpZmlj
YXRpb25NYW5hZ2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdCogV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaAppbmRleCA2ZGY0OTE4M2QyYmM0NjI2NWNjMDlmN2I1
ZDU3NGEwN2IzYzBjNTkyLi45NDQ5ZWQ4MWQ1N2ZlMWNhZTE0NzM1MWE5NTkwYmNkMzBkMmViZjA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5oCkBAIC0xMjAsNiArMTIwLDcgQEAgcHVibGlj
OgogICAgICAgICBLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLAogICAgICAgICBNZWRpYUNhY2hlTWFu
YWdlciwKICAgICAgICAgTmF2aWdhdGlvbkRhdGEsCisgICAgICAgIE5hdmlnYXRvckNvbnRlbnRV
dGlscywKICAgICAgICAgTm90aWZpY2F0aW9uLAogICAgICAgICBOb3RpZmljYXRpb25NYW5hZ2Vy
LAogICAgICAgICBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdCwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCA4MDIyMWE5MWIyZjkxNjM1NTI5OWJj
MjVmMmQwZjFjODAxOTQ3YzJjLi45ZmM3OTEzZGZhZTBmZThhYjQ2ZmMzNWIyNzdmNWJkZTNkNWFl
ZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC04
NSw2ICs4NSw3IEBAIGNsYXNzIFdlYkljb25EYXRhYmFzZTsKIGNsYXNzIFdlYkluc3BlY3RvclBy
b3h5OwogY2xhc3MgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjsKIGNsYXNzIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHk7CitjbGFzcyBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eTsKIGNs
YXNzIFdlYk5vdGlmaWNhdGlvbjsKIGNsYXNzIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOwogY2xh
c3MgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OwpAQCAtMTMwLDYgKzEzMSw3IEBAIFdLX0FE
RF9BUElfTUFQUElORyhXS0ljb25EYXRhYmFzZVJlZiwgV2ViSWNvbkRhdGFiYXNlKQogV0tfQURE
X0FQSV9NQVBQSU5HKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiwgV2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlcikKIFdLX0FERF9BUElfTUFQUElORyhXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmLCBX
ZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTmF2aWdhdGlv
bkRhdGFSZWYsIEFQSTo6TmF2aWdhdGlvbkRhdGEpCitXS19BRERfQVBJX01BUFBJTkcoV0tOYXZp
Z2F0b3JDb250ZW50VXRpbHNSZWYsIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5KQogV0tf
QUREX0FQSV9NQVBQSU5HKFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZiwgV2ViTm90aWZpY2F0aW9u
TWFuYWdlclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RSZWYsIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KQogV0tfQUREX0FQSV9N
QVBQSU5HKFdLTm90aWZpY2F0aW9uUHJvdmlkZXJSZWYsIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAppbmRleCA5
ZWJlYjUzODQxNmNlNmQ2MDE0NDRjNDllMjBiYTdlNTNmNTE4YWZiLi5jNmQ5Y2FkNzM0YjNmMTVi
NDY0OTI3ZDUxNDA3M2FiMDVkMzk3ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmNwcApAQCAtNTUsNiArNTUsOSBAQAogI2lmIEVOQUJMRShCQVRURVJZ
X1NUQVRVUykKICNpbmNsdWRlICJXZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmgiCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjaW5jbHVkZSAiV2ViTmF2aWdhdG9y
Q29udGVudFV0aWxzUHJveHkuaCIKKyNlbmRpZgogCiBuYW1lc3BhY2UgQVBJIHsKIHRlbXBsYXRl
PD4gc3RydWN0IENsaWVudFRyYWl0czxXS0NvbnRleHREb3dubG9hZENsaWVudEJhc2U+IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAppbmRleCBjOGQ1MmE1Yzky
ZTc5YWM0N2M4MmVhN2EzZDc0OTE5NGNjMjU0MTc4Li43OTI2MWQzNjNiNzY2MTEwNmU5MWZhMzk1
YTc1Y2Q0NzVhYjhkYzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5oCkBAIC0xMzksNiArMTM5LDcgQEAgV0tfRVhQT1JUIFdLS2V5VmFsdWVTdG9yYWdlTWFu
YWdlclJlZiBXS0NvbnRleHRHZXRLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKFdLQ29udGUKIFdLX0VY
UE9SVCBXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmIFdLQ29udGV4dEdldE1lZGlhQ2FjaGVNYW5hZ2Vy
KFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIFdLX0VYUE9SVCBXS05vdGlmaWNhdGlvbk1hbmFnZXJS
ZWYgV0tDb250ZXh0R2V0Tm90aWZpY2F0aW9uTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dCk7
CiBXS19FWFBPUlQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0UGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKK1dLX0VYUE9SVCBXS05hdmln
YXRvckNvbnRlbnRVdGlsc1JlZiBXS0NvbnRleHRHZXROYXZpZ2F0b3JDb250ZW50VXRpbHMoV0tD
b250ZXh0UmVmIGNvbnRleHQpOwogV0tfRVhQT1JUIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJSZWYg
V0tDb250ZXh0R2V0UmVzb3VyY2VDYWNoZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHQpOwog
V0tfRVhQT1JUIFdLT3JpZ2luRGF0YU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0T3JpZ2luRGF0YU1h
bmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0b3JDb250ZW50VXRpbHMuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdG9yQ29udGVudFV0aWxzLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMzc5MDkwYzliNTdiZTRlM2M4ZWEwMmNiMjJiMzk3NDliMDJlOThmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdG9yQ29udGVu
dFV0aWxzLmNwcApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIElu
dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tOYXZpZ2F0b3JDb250ZW50VXRpbHMuaCIKKworI2lm
IEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIK
KyNpbmNsdWRlICJXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eS5oIgorCit1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykK
KworV0tUeXBlSUQgV0tOYXZpZ2F0b3JDb250ZW50VXRpbHNHZXRUeXBlSUQoKQoreworI2lmIEVO
QUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyAgICByZXR1cm4gdG9BUEkoV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzUHJveHk6OkFQSVR5cGUpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNl
bmRpZgorfQorCit2b2lkIFdLTmF2aWdhdG9yQ29udGVudFV0aWxzU2V0UHJvdmlkZXIoV0tOYXZp
Z2F0b3JDb250ZW50VXRpbHNSZWYgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJSZWYsIGNvbnN0IFdL
TmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIqIHdrUHJvdmlkZXIpCit7CisjaWYgRU5BQkxF
KE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIHRvSW1wbChyZWdpc3RlclByb3RvY29sSGFu
ZGxlclJlZiktPmluaXRpYWxpemVQcm92aWRlcih3a1Byb3ZpZGVyKTsKKyNlbmRpZgorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdG9yQ29udGVu
dFV0aWxzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0b3JDb250
ZW50VXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmMzNWVlMjliOWJmNWU0MDg1MWI5ZTFkNGE4ZjdkMzM3
YzZkMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTmF2aWdhdG9yQ29udGVudFV0aWxzLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBXS05hdmlnYXRvckNvbnRlbnRVdGlsc19oCisjZGVmaW5lIFdLTmF2
aWdhdG9yQ29udGVudFV0aWxzX2gKKworI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KKworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitlbnVtIHsKKyAgICBrV0tD
dXN0b21IYW5kbGVyc05ldywKKyAgICBrV0tDdXN0b21IYW5kbGVyc1JlZ2lzdGVyZWQsCisgICAg
a1dLQ3VzdG9tSGFuZGxlcnNEZWNsaW5lZAorfTsKK3R5cGVkZWYgdWludDMyX3QgV0tDdXN0b21I
YW5kbGVyc1N0YXRlOworCit0eXBlZGVmIHZvaWQgKCpXS05hdmlnYXRvckNvbnRlbnRVdGlsc1By
b3ZpZGVyUmVnaXN0ZXJQcm90b2NvbENhbGxiYWNrKShXS05hdmlnYXRvckNvbnRlbnRVdGlsc1Jl
ZiByZWdpc3RlclByb3RvY29sSGFuZGxlclJlZiwgV0tTdHJpbmdSZWYgc2NoZW1lLCBXS1N0cmlu
Z1JlZiBiYXNlVVJMLCBXS1N0cmluZ1JlZiB1cmwsIFdLU3RyaW5nUmVmIHRpdGxlLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgV0tDdXN0b21IYW5kbGVyc1N0YXRlICgqV0tOYXZp
Z2F0b3JDb250ZW50VXRpbHNQcm92aWRlcklzUHJvdG9jb2xSZWdpc3RlcmVkQ2FsbGJhY2spKFdL
TmF2aWdhdG9yQ29udGVudFV0aWxzUmVmIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyUmVmLCBXS1N0
cmluZ1JlZiBzY2hlbWUsIFdLU3RyaW5nUmVmIGJhc2VVUkwsIFdLU3RyaW5nUmVmIHVybCwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS05hdmlnYXRvckNvbnRlbnRV
dGlsc1Byb3ZpZGVyVW5yZWdpc3RlclByb3RvY29sQ2FsbGJhY2spKFdLTmF2aWdhdG9yQ29udGVu
dFV0aWxzUmVmIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyUmVmLCBXS1N0cmluZ1JlZiBzY2hlbWUs
IFdLU3RyaW5nUmVmIGJhc2VVUkwsIFdLU3RyaW5nUmVmIHVybCwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CisKK3N0cnVjdCBXS05hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVyIHsKKyAgICBp
bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CisgICAgV0tO
YXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlclJlZ2lzdGVyUHJvdG9jb2xDYWxsYmFjayAgICAg
ICAgICAgICAgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXI7CisgICAgV0tOYXZpZ2F0b3JDb250ZW50
VXRpbHNQcm92aWRlcklzUHJvdG9jb2xSZWdpc3RlcmVkQ2FsbGJhY2sgICAgICAgICAgaXNQcm90
b2NvbEhhbmRsZXJSZWdpc3RlcmVkOworICAgIFdLTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlk
ZXJVbnJlZ2lzdGVyUHJvdG9jb2xDYWxsYmFjayAgICAgICAgICAgIHVucmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXI7Cit9OwordHlwZWRlZiBzdHJ1Y3QgV0tOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92
aWRlciBXS05hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVyOworCitlbnVtIHsga1dLTmF2aWdh
dG9yQ29udGVudFV0aWxzUHJvdmlkZXJDdXJyZW50VmVyc2lvbiA9IDAgfTsKKworV0tfRVhQT1JU
IFdLVHlwZUlEIFdLTmF2aWdhdG9yQ29udGVudFV0aWxzR2V0VHlwZUlEKCk7CisKK1dLX0VYUE9S
VCB2b2lkIFdLTmF2aWdhdG9yQ29udGVudFV0aWxzU2V0UHJvdmlkZXIoV0tOYXZpZ2F0b3JDb250
ZW50VXRpbHNSZWYgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJSZWYsIGNvbnN0IFdLTmF2aWdhdG9y
Q29udGVudFV0aWxzUHJvdmlkZXIqIHByb3ZpZGVyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9
CisjZW5kaWYKKworI2VuZGlmIC8vIFdLTmF2aWdhdG9yQ29udGVudFV0aWxzX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAppbmRleCA2YTI0M2M3YmE4MDg4MTkwY2MyZTdh
NDg4NzA3OTAxOGU4ZDkwNjQwLi5hNWI2ZjAxNTNiMWJkOGUzZjNhMjc2OTBjNjkzODJmYWYyYWFi
OTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC05NSw2ICs5
NSwxMCBAQAogI2luY2x1ZGUgIkN1c3RvbVByb3RvY29sTWFuYWdlck1lc3NhZ2VzLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKKyNpbmNsdWRlICJXZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eS5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4K
ICNlbmRpZgpAQCAtMjAzLDYgKzIwNyw5IEBAIFdlYkNvbnRleHQ6OldlYkNvbnRleHQoV2ViQ29u
dGV4dENvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikKICAgICBhZGRTdXBwbGVtZW50PFdlYkdl
b2xvY2F0aW9uTWFuYWdlclByb3h5PigpOwogICAgIGFkZFN1cHBsZW1lbnQ8V2ViS2V5VmFsdWVT
dG9yYWdlTWFuYWdlcj4oKTsKICAgICBhZGRTdXBwbGVtZW50PFdlYk1lZGlhQ2FjaGVNYW5hZ2Vy
UHJveHk+KCk7CisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorICAgIGFkZFN1
cHBsZW1lbnQ8V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk+KCk7CisjZW5kaWYKICAgICBh
ZGRTdXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eT4oKTsKICAgICBhZGRTdXBw
bGVtZW50PFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk+KCk7CiAjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IDQyNGE2NWJj
NTE1NDcyMDA3YTJjOTc1ZWVkNGRlYTI2NWM5ZjVhMTMuLjQzOTg5NmZlY2JlYmRjNmVhMzFiYjNk
NDY2ZGRjYTNmNTVlY2QzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApA
QCAtODQsNiArODQsMTAgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAg
ICAgCiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxJbW11dGFibGVEaWN0aW9uYXJ5Kj4gRGljdGlv
bmFyeUNhbGxiYWNrOwogCisjaWYgRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorY2xh
c3MgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShO
RVRXT1JLX1BST0NFU1MpCiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0
b3JDb250ZW50VXRpbHNQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhN2NjMmZmNThj
MjkzNjgwNDA0YWZkYzViNDA0YzE4ZTA5ZWRjOTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIuY3BwCkBA
IC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRp
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlci5oIgorCisjaWYgRU5B
QkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisj
aW5jbHVkZSAiV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3ZvaWQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXI6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5KiBwcm94eSwgY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAgaWYgKCFtX2NsaWVudC5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQucmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIodG9BUEkocHJveHkpLCB0b0FQSShzY2hlbWUuaW1wbCgpKSwgdG9BUEko
YmFzZVVSTC5pbXBsKCkpLCB0b0FQSSh1cmwuaW1wbCgpKSwgdG9BUEkodGl0bGUuaW1wbCgpKSwg
bV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKQordm9pZCBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlcjo6aXNQcm90b2NvbEhh
bmRsZXJSZWdpc3RlcmVkKFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5KiBwcm94eSwgY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1
cmwsIHVpbnQzMl90JiByZXN1bHQpCit7CisgICAgaWYgKCFtX2NsaWVudC5pc1Byb3RvY29sSGFu
ZGxlclJlZ2lzdGVyZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHJlc3VsdCA9IG1fY2xpZW50
LmlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZCh0b0FQSShwcm94eSksIHRvQVBJKHNjaGVtZS5p
bXBsKCkpLCB0b0FQSShiYXNlVVJMLmltcGwoKSksIHRvQVBJKHVybC5pbXBsKCkpLCBtX2NsaWVu
dC5jbGllbnRJbmZvKTsKK30KKwordm9pZCBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRl
cjo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94
eSogcHJveHksIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNv
bnN0IFN0cmluZyYgdXJsKQoreworICAgIGlmICghbV9jbGllbnQudW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQudW5yZWdpc3RlclByb3Rv
Y29sSGFuZGxlcih0b0FQSShwcm94eSksIHRvQVBJKHNjaGVtZS5pbXBsKCkpLCB0b0FQSShiYXNl
VVJMLmltcGwoKSksIHRvQVBJKHVybC5pbXBsKCkpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30K
KyNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250ZW50VXRp
bHNQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRvckNvbnRl
bnRVdGlsc1Byb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM4NTZhOTYyMjM0NzlhNjE4NTc2Njc1MGFl
ODBmZDUxZTIzMzZkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlci5oCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlk
ZXJfaAorI2RlZmluZSBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm92aWRlcl9oCisKKyNpZiBF
TkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlICJBUElDbGllbnQuaCIK
KyNpbmNsdWRlICJXS05hdmlnYXRvckNvbnRlbnRVdGlscy5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJOYXZpZ2F0b3JDb250ZW50
VXRpbHNQcm94eTsKKworY2xhc3MgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIgOiBw
dWJsaWMgQVBJQ2xpZW50PFdLTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIsIGtXS05hdmln
YXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVyQ3VycmVudFZlcnNpb24+IHsKK3B1YmxpYzoKKyAgICB2
b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5
KiwgY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworCisjaWYgRU5BQkxFKENVU1RPTV9TQ0hF
TUVfSEFORExFUikKKyAgICB2b2lkIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChXZWJOYXZp
Z2F0b3JDb250ZW50VXRpbHNQcm94eSosIGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCB1aW50MzJfdCYgcmVzdWx0KTsKKyAgICB2
b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJv
eHkqLCBjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBT
dHJpbmcmIHVybCk7CisjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9D
T05URU5UX1VUSUxTKQorI2VuZGlmIC8vIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250
ZW50VXRpbHNQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdG9y
Q29udGVudFV0aWxzUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MDExZWUzOTBjNjNhNDAwNDEwYjNm
MzNmNDljMjg2YjZmMjE3NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkuY3BwCkBAIC0wLDAgKzEsOTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5LmgiCisKKyNpZiBFTkFCTEUoTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpCisKKyNpbmNsdWRlICJXZWJDb250ZXh0LmgiCisjaW5jbHVkZSAi
V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHlNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY29uc3QgY2hhciogV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OnN1cHBs
ZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIldlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5
IjsKK30KKworUGFzc1JlZlB0cjxXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eT4gV2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OmNyZWF0ZShXZWJDb250ZXh0KiBjb250ZXh0KQorewor
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkoY29u
dGV4dCkpOworfQorCitXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eTo6V2ViTmF2aWdhdG9y
Q29udGVudFV0aWxzUHJveHkoV2ViQ29udGV4dCogY29udGV4dCkKKyAgICA6IFdlYkNvbnRleHRT
dXBwbGVtZW50KGNvbnRleHQpCit7CisgICAgV2ViQ29udGV4dFN1cHBsZW1lbnQ6OmNvbnRleHQo
KS0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQ
cm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKK30KKworV2ViTmF2aWdhdG9yQ29u
dGVudFV0aWxzUHJveHk6On5XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eSgpCit7Cit9CisK
K3ZvaWQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OmluaXRpYWxpemVQcm92aWRlcihj
b25zdCBXS05hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3ZpZGVyKiBwcm92aWRlcikKK3sKKyAgICBt
X3Byb3ZpZGVyLmluaXRpYWxpemUocHJvdmlkZXIpOworfQorCit2b2lkIFdlYk5hdmlnYXRvckNv
bnRlbnRVdGlsc1Byb3h5OjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3Ry
aW5nJiB0aXRsZSkKK3sKKyAgICBtX3Byb3ZpZGVyLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKHRo
aXMsIHNjaGVtZSwgYmFzZVVSTCwgdXJsLCB0aXRsZSk7Cit9CisKKyNpZiBFTkFCTEUoQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKQordm9pZCBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eTo6aXNQ
cm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJp
bmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCB1aW50MzJfdCYgcmVzdWx0KQoreworICAg
IG1fcHJvdmlkZXIuaXNQcm90b2NvbEhhbmRsZXJSZWdpc3RlcmVkKHRoaXMsIHNjaGVtZSwgYmFz
ZVVSTCwgdXJsLCByZXN1bHQpOworfQorCit2b2lkIFdlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1By
b3h5Ojp1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25z
dCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIG1fcHJvdmlkZXIu
dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcih0aGlzLCBzY2hlbWUsIGJhc2VVUkwsIHVybCk7Cit9
CisjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKKworLy8gV2ViQ29udGV4
dFN1cHBsZW1lbnQKK3ZvaWQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk6OnJlZldlYkNv
bnRleHRTdXBwbGVtZW50KCkKK3sKKyAgICBBUElPYmplY3Q6OnJlZigpOworfQorCit2b2lkIFdl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5OjpkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkK
K3sKKyAgICBBUElPYmplY3Q6OmRlcmVmKCk7Cit9Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGVjMTA5NjBhODcxNDk1ZjdhNzZkZjYyZGQ5NTM1ZGRhN2QxOTk4ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0b3JDb250
ZW50VXRpbHNQcm94eS5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eV9oCisjZGVmaW5lIFdl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5X2gKKworI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRTdXBwbGVtZW50LmgiCisjaW5jbHVkZSAi
V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFdlYkNvbnRleHQ7CitjbGFzcyBXZWJQcm9jZXNzUHJveHk7CisKK2NsYXNzIFdl
Yk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5IDogcHVibGljIFR5cGVkQVBJT2JqZWN0PEFQSU9i
amVjdDo6VHlwZU5hdmlnYXRvckNvbnRlbnRVdGlscz4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxl
bWVudCwgcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworcHVibGljOgorICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHk+IGNyZWF0ZShXZWJDb250ZXh0Kik7Cisg
ICAgdmlydHVhbCB+V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkoKTsKKworICAgIHZvaWQg
aW5pdGlhbGl6ZVByb3ZpZGVyKGNvbnN0IFdLTmF2aWdhdG9yQ29udGVudFV0aWxzUHJvdmlkZXIq
KTsKKworICAgIHVzaW5nIEFQSU9iamVjdDo6cmVmOworICAgIHVzaW5nIEFQSU9iamVjdDo6ZGVy
ZWY7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJv
eHkoV2ViQ29udGV4dCopOworCisgICAgLy8gV2ViQ29udGV4dFN1cHBsZW1lbnQKKyAgICB2aXJ0
dWFsIHZvaWQgcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpIE9WRVJSSURFOworCisgICAgLy8gQ29y
ZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgT3duUHRyPENvcmVJUEM6Ok1lc3NhZ2VF
bmNvZGVyPiYpIE9WRVJSSURFOworCisgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihj
b25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcm
IHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisjaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFO
RExFUikKKyAgICB2b2lkIGlzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgdWludDMy
X3QmIHJlc3VsdCk7CisgICAgdm9pZCB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0
cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsKTsK
KyNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorCisgICAgV2ViTmF2aWdh
dG9yQ29udGVudFV0aWxzUHJvdmlkZXIgbV9wcm92aWRlcjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQorCisj
ZW5kaWYgLy8gV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHlfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc1Byb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRvckNvbnRlbnRVdGls
c1Byb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZjJkNTNiYThhYTA3N2VlZDJmMWU0MDg5
OGE0NDY1NmEyN2EyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwz
MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNp
ZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisKK21lc3NhZ2VzIC0+IFdlYk5hdmln
YXRvckNvbnRlbnRVdGlsc1Byb3h5IHsKKyAgICBSZWdpc3RlclByb3RvY29sSGFuZGxlcihXVEY6
OlN0cmluZyBzY2hlbWUsIFdURjo6U3RyaW5nIGJhc2VVUkwsIFdURjo6U3RyaW5nIHVybCwgV1RG
OjpTdHJpbmcgdGl0bGUpCisjaWYgRU5BQkxFKENVU1RPTV9TQ0hFTUVfSEFORExFUikKKyAgICBJ
c1Byb3RvY29sSGFuZGxlclJlZ2lzdGVyZWQoV1RGOjpTdHJpbmcgc2NoZW1lLCBXVEY6OlN0cmlu
ZyBiYXNlVVJMLCBXVEY6OlN0cmluZyB1cmwpIC0+ICh1aW50MzJfdCByZXN1bHQpCisgICAgVW5y
ZWdpc3RlclByb3RvY29sSGFuZGxlcihXVEY6OlN0cmluZyBzY2hlbWUsIFdURjo6U3RyaW5nIGJh
c2VVUkwsIFdURjo6U3RyaW5nIHVybCkKKyNlbmRpZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKQorfQorCisjZW5kaWYgLy8gRU5BQkxFKE5BVklHQVRPUl9DT05URU5UX1VUSUxTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE5MWIyYmVlOGMyYzRjZmFmMTczNmFmOGJhNDE5MjM0NTRiYjgxYjAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYk5h
dmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgiCisKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpCisKKyNpbmNsdWRlICJXZWJOYXZpZ2F0b3JDb250ZW50VXRpbHNQcm94eU1lc3Nh
Z2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKK3VzaW5nIG5hbWVzcGFjZSBNZXNzYWdlczo6V2ViTmF2aWdhdG9yQ29udGVudFV0aWxzUHJv
eHk7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYk5hdmlnYXRvckNvbnRlbnRVdGls
c0NsaWVudDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0
bGUpCit7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24o
KS0+c2VuZChSZWdpc3RlclByb3RvY29sSGFuZGxlcihzY2hlbWUsIGJhc2VVUkwsIHVybCwgdGl0
bGUpLCAwKTsKK30KKworI2lmIEVOQUJMRShDVVNUT01fU0NIRU1FX0hBTkRMRVIpCitzdGF0aWMg
aW5saW5lIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNTdGF0ZSB0
b0N1c3RvbUhhbmRsZXJzU3RhdGUoY29uc3QgdWludDMyX3Qgc3RhdGUpCit7CisgICAgc3dpdGNo
IChzdGF0ZSkgeworICAgIGNhc2UgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21I
YW5kbGVyc05ldzoKKyAgICBjYXNlIE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9t
SGFuZGxlcnNSZWdpc3RlcmVkOgorICAgIGNhc2UgTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50
OjpDdXN0b21IYW5kbGVyc0RlY2xpbmVkOgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TmF2
aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50OjpDdXN0b21IYW5kbGVyc1N0YXRlPihzdGF0ZSk7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVy
biBOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzRGVjbGluZWQ7Cisg
ICAgfQorfQorCitOYXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQ6OkN1c3RvbUhhbmRsZXJzU3Rh
dGUgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50Ojppc1Byb3RvY29sSGFuZGxlclJlZ2lz
dGVyZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiB1cmwpCit7CisgICAgdWludDMyX3QgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KE5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudDo6Q3VzdG9tSGFuZGxlcnNOZXcpOworICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRTeW5j
KElzUHJvdG9jb2xIYW5kbGVyUmVnaXN0ZXJlZChzY2hlbWUsIGJhc2VVUkwsIHVybCksIElzUHJv
dG9jb2xIYW5kbGVyUmVnaXN0ZXJlZDo6UmVwbHkocmVzdWx0KSwgMCk7CisgICAgcmV0dXJuIHRv
Q3VzdG9tSGFuZGxlcnNTdGF0ZShyZXN1bHQpOworfQorCit2b2lkIFdlYk5hdmlnYXRvckNvbnRl
bnRVdGlsc0NsaWVudDo6dW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAgICBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKFVucmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoc2NoZW1lLCBiYXNlVVJMLCB1cmwpLCAwKTsKK30KKyNlbmRp
ZiAvLyBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViTmF2aWdhdG9y
Q29udGVudFV0aWxzQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYk5hdmlnYXRvckNvbnRlbnRVdGlsc0NsaWVudC5oCmluZGV4IDVjMzU3NmRiNDIy
NjUzZjcxODFkZGYxZWQ5YTcxOGE0MmE0MTU0YjAuLjY5ZWI5ZTk3MmEwYTcxOGM4MzY0ZGY4ZGEy
YTBhNTYzMjVhN2UyOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJOYXZpZ2F0b3JDb250ZW50VXRp
bHNDbGllbnQuaApAQCAtMzgsMTEgKzM4LDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJO
YXZpZ2F0b3JDb250ZW50VXRpbHNDbGllbnQoKSB7IH0KIAogcHJpdmF0ZToKLSAgICB2aXJ0dWFs
IHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0
IFVSTCYgYmFzZVVSTCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpIG92ZXJy
aWRlIHsgfQorICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmIHNjaGVtZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBjb25zdCBVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUoQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKQotICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJl
Z2lzdGVyZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJikgeyByZXR1cm4g
Q3VzdG9tSGFuZGxlcnNEZWNsaW5lZDsgfQotICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYpIHsgfQor
ICAgIHZpcnR1YWwgQ3VzdG9tSGFuZGxlcnNTdGF0ZSBpc1Byb3RvY29sSGFuZGxlclJlZ2lzdGVy
ZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiwgY29u
c3QgVVJMJiwgY29uc3QgVVJMJikgb3ZlcnJpZGU7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwMDY2MGMyMTNlNjVh
NjQ4ZTM5YzM0OTcwODFjZTZlMzBlZGRiYTRkLi42Zjg4Mjk4NDY2OGI5MDNkYzc5MGZhZDg0MTM1
ODc2ZmY0ODhmMWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0xNjgsNiArMTY4LDEwIEBACiAjaW5jbHVkZSAiV2ViQmF0dGVyeUNsaWVu
dC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpCisjaW5j
bHVkZSAiV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50LmgiCisjZW5kaWYKKwogI2lmIEVO
QUJMRShWSUJSQVRJT04pCiAjaW5jbHVkZSAiV2ViVmlicmF0aW9uQ2xpZW50LmgiCiAjZW5kaWYK
QEAgLTM4Myw2ICszODcsOSBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29u
c3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoTk9U
SUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogICAgIFdlYkNvcmU6
OnByb3ZpZGVOb3RpZmljYXRpb24obV9wYWdlLmdldCgpLCBuZXcgV2ViTm90aWZpY2F0aW9uQ2xp
ZW50KHRoaXMpKTsKICNlbmRpZgorI2lmIEVOQUJMRShOQVZJR0FUT1JfQ09OVEVOVF9VVElMUykK
KyAgICBXZWJDb3JlOjpwcm92aWRlTmF2aWdhdG9yQ29udGVudFV0aWxzVG8obV9wYWdlLmdldCgp
LCBuZXcgV2ViTmF2aWdhdG9yQ29udGVudFV0aWxzQ2xpZW50KTsKKyNlbmRpZgogI2lmIEVOQUJM
RShWSUJSQVRJT04pCiAgICAgV2ViQ29yZTo6cHJvdmlkZVZpYnJhdGlvblRvKG1fcGFnZS5nZXQo
KSwgbmV3IFdlYlZpYnJhdGlvbkNsaWVudCh0aGlzKSk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>