diff --git a/package.json b/package.json index 871468d..991b36a 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "prettier": "3.3.3", "typescript": "^5.5.4" }, - "packageManager": "pnpm@9.12.1", + "packageManager": "pnpm@9.12.2", "prettier": { "printWidth": 140, "singleQuote": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c607852..925ba27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,13 +13,13 @@ importers: devDependencies: '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 prettier: specifier: 3.3.3 version: 3.3.3 typescript: specifier: ^5.5.4 - version: 5.6.2 + version: 5.6.3 packages/image-proxy: devDependencies: @@ -28,19 +28,19 @@ importers: version: link:../utils '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 '@oxc-node/core': specifier: ^0.0.15 version: 0.0.15 '@types/node': specifier: ^20.10.5 - version: 20.16.10 + version: 20.16.13 tldts: specifier: ^6.1.38 - version: 6.1.50 + version: 6.1.52 typescript: specifier: ^5.5.4 - version: 5.6.2 + version: 5.6.3 packages/link-preview: devDependencies: @@ -49,43 +49,43 @@ importers: version: link:../utils '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 '@types/node': specifier: ^20.10.5 - version: 20.16.10 + version: 20.16.13 typescript: specifier: ^5.5.4 - version: 5.6.2 + version: 5.6.3 packages/telemetry: devDependencies: '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 '@customerio/cdp-analytics-node': specifier: ^0.2.0 - version: 0.2.0 + version: 0.2.1 typescript: specifier: ^5.5.2 - version: 5.6.2 + version: 5.6.3 wrangler: specifier: ^3.60.3 - version: 3.80.0(@cloudflare/workers-types@4.20241004.0) + version: 3.81.0(@cloudflare/workers-types@4.20241018.0) packages/utils: devDependencies: '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 '@types/node': specifier: ^20.10.5 - version: 20.16.10 + version: 20.16.13 tldts: specifier: ^6.1.38 - version: 6.1.50 + version: 6.1.52 typescript: specifier: ^5.5.4 - version: 5.6.2 + version: 5.6.3 packages/worker: devDependencies: @@ -100,22 +100,22 @@ importers: version: link:../utils '@cloudflare/workers-types': specifier: ^4.20231218.0 - version: 4.20241004.0 + version: 4.20241018.0 '@types/node': specifier: ^20.10.5 - version: 20.16.10 + version: 20.16.13 itty-router: specifier: ^5.0.0 version: 5.0.18 tldts: specifier: ^6.1.38 - version: 6.1.50 + version: 6.1.52 typescript: specifier: ^5.5.4 - version: 5.6.2 + version: 5.6.3 wrangler: specifier: ^3.22.1 - version: 3.80.0(@cloudflare/workers-types@4.20241004.0) + version: 3.81.0(@cloudflare/workers-types@4.20241018.0) packages: @@ -123,52 +123,52 @@ packages: resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} - '@cloudflare/workerd-darwin-64@1.20240925.0': - resolution: {integrity: sha512-KdLnSXuzB65CbqZPm+qYzk+zkQ1tUNPaaRGYVd/jPYAxwwtfTUQdQ+ahDPwVVs2tmQELKy7ZjQjf2apqSWUfjw==} + '@cloudflare/workerd-darwin-64@1.20241011.1': + resolution: {integrity: sha512-gZ2PrMCQ4WdDCB+V6vsB2U2SyYcmgaGMEa3GGjcUfC79L/8so3Vp/bO0eCoLmvttRs39wascZ+JiWL0HpcZUgA==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20240925.0': - resolution: {integrity: sha512-MiQ6uUmCXjsXgWNV+Ock2tp2/tYqNJGzjuaH6jFioeRF+//mz7Tv7J7EczOL4zq+TH8QFOh0/PUsLyazIWVGng==} + '@cloudflare/workerd-darwin-arm64@1.20241011.1': + resolution: {integrity: sha512-c26TYtS0e3WZ09nL/a8YaEqveCsTlgDm12ehPMNua9u68sh1KzETMl2G45O934m8UrI3Rhpv2TTecO0S5b9exA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20240925.0': - resolution: {integrity: sha512-Rjix8jsJMfsInmq3Hm3fmiRQ+rwzuWRPV1pg/OWhMSfNP7Qp2RCU+RGkhgeR9Z5eNAje0Sn2BMrFq4RvF9/yRA==} + '@cloudflare/workerd-linux-64@1.20241011.1': + resolution: {integrity: sha512-pl4xvHNXnm3cYh5GwHadOTQRWt4Ih/gzCOb6RW4n78oNQQydFvpwqYAjbYk32y485feLhdTKXut/MgZAyWnKyQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20240925.0': - resolution: {integrity: sha512-VYIPeMHQRtbwQoIjUwS/zULlywPxyDvo46XkTpIW5MScEChfqHvAYviQ7TzYGx6Q+gmZmN+DUB2KOMx+MEpCxA==} + '@cloudflare/workerd-linux-arm64@1.20241011.1': + resolution: {integrity: sha512-I4HAF2Qe8xgIjAdE53viT2fDdHXkrb3Be0L3eWeeP5SEkOtQ4cHLqsOV7yhUWOJpHiI1XCDcf+wdfn0PB/EngQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20240925.0': - resolution: {integrity: sha512-C8peGvaU5R51bIySi1VbyfRgwNSSRknqoFSnSbSBI3uTN3THTB3UnmRKy7GXJDmyjgXuT9Pcs1IgaWNubLtNtw==} + '@cloudflare/workerd-windows-64@1.20241011.1': + resolution: {integrity: sha512-oVr1Cb7NkDpukd7v68FdxOH8vaHRSzHkX9uE/IttHd2yPK6mwOS220nIxK9UMcx5CwZmrgphRwtZwSYVk/lREQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.5.4': - resolution: {integrity: sha512-PNL/0TjKRdUHa1kwgVdqUNJVZ9ez4kacsi8omz+gv859EvJmsVuGiMAClY2YfJnC9LVKhKCcjqmFgKNXG9/IXA==} + '@cloudflare/workers-shared@0.6.0': + resolution: {integrity: sha512-rfUCvb3hx4AsvdUZsxgk9lmgEnQehqV3jdtXLP/Xr0+P56n11T/0nXNMzmn7Nnv+IJFOV6X9NmFhuMz4sBPw7w==} engines: {node: '>=16.7.0'} - '@cloudflare/workers-types@4.20241004.0': - resolution: {integrity: sha512-3LrPvtecs4umknOF1bTPNLHUG/ZjeSE6PYBQ/tbO7lwaVhjZTaTugiaCny2byrZupBlVNuubQVktcAgMfw0C1A==} + '@cloudflare/workers-types@4.20241018.0': + resolution: {integrity: sha512-gGWumpaaqnjN/G6SI7CZQ13G4SpIUV+EM8QqvuN2D3cGDF6mKIm+ov7H4x7V/c+AdY90v0FCc8B5nmEEt90MvQ==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@customerio/cdp-analytics-core@0.2.0': - resolution: {integrity: sha512-kOdH7h5KQ1sylcZtK4zyu0PP0Alw1mY/yzkxgwyue+JYgwXfy8wigaR7QxmqmjUZPsig7YILATPZ9pcL/8urdA==} + '@customerio/cdp-analytics-core@0.2.1': + resolution: {integrity: sha512-Lu4poVTeIkVhNNi/v2eE2OM2dyOiacXBAg9a42NkYFHEarxJMJJ/Y7s3ZQ9ag/G9seToNe/dSdangnT64pThsg==} - '@customerio/cdp-analytics-node@0.2.0': - resolution: {integrity: sha512-ISBlCN/9urbL3U/c6nLMOMq89Zfzk7XPHVzJBZPwIGCHDpU+HsRUFIgmYOekRc82tjYF6OTYqCXc10hXBfjxvg==} + '@customerio/cdp-analytics-node@0.2.1': + resolution: {integrity: sha512-FYRgj+fa5tpuK1fFqnwml1LrBmyAllSX7WDnlfbd/uGqWAhfdMYe/+QwCgY1ml4mU4sIXSJ6hPXiQTDeibrVuA==} engines: {node: '>=14'} '@emnapi/core@1.2.0': @@ -436,18 +436,18 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@20.16.10': - resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} + '@types/node@20.16.13': + resolution: {integrity: sha512-GjQ7im10B0labo8ZGXDGROUl9k0BNyDgzfGpb4g/cl+4yYDWVKcozANF4FGr4/p0O/rAkQClM6Wiwkije++1Tg==} - '@types/node@22.7.4': - resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} + '@types/node@22.7.7': + resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.13.0: + resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} engines: {node: '>=0.4.0'} hasBin: true @@ -581,8 +581,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - miniflare@3.20240925.0: - resolution: {integrity: sha512-2LmQbKHf0n6ertUKhT+Iltixi53giqDH7P71+wCir3OnGyXIODqYwOECx1mSDNhYThpxM2dav8UdPn6SQiMoXw==} + miniflare@3.20241011.0: + resolution: {integrity: sha512-Mb3U9+QvKgIUl9LgHwBxEz8WajMRYqO5mMHRtO8yHjNCLGh24I6Ts9z13zRAYGPDd1xBQ1o983fHT9S+tn6r+A==} engines: {node: '>=16.13'} hasBin: true @@ -684,11 +684,11 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tldts-core@6.1.50: - resolution: {integrity: sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw==} + tldts-core@6.1.52: + resolution: {integrity: sha512-j4OxQI5rc1Ve/4m/9o2WhWSC4jGc4uVbCINdOEJRAraCi0YqTqgMcxUx7DbmuP0G3PCixoof/RZB0Q5Kh9tagw==} - tldts@6.1.50: - resolution: {integrity: sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA==} + tldts@6.1.52: + resolution: {integrity: sha512-fgrDJXDjbAverY6XnIt0lNfv8A0cf7maTEaZxNykLGsLG7XP+5xhjBTrt/ieAsFjAlZ+G5nmXomLcZDkxXnDzw==} hasBin: true to-regex-range@5.0.1: @@ -701,8 +701,11 @@ packages: tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + tslib@2.8.0: + resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -716,8 +719,8 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - unenv-nightly@2.0.0-20240919-125358-9a64854: - resolution: {integrity: sha512-XjsgUTrTHR7iw+k/SRTNjh6EQgwpC9voygnoCJo5kh4hKqsSDHUW84MhL9EsHTNfLctvVBHaSw8e2k3R2fKXsQ==} + unenv-nightly@2.0.0-20241009-125958-e8ea22f: + resolution: {integrity: sha512-hRxmKz1iSVRmuFx/vBdPsx7rX4o7Cas9vdjDNeUeWpQTK2LzU3Xy3Jz0zbo7MJX0bpqo/LEFCA+GPwsbl6zKEQ==} uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} @@ -729,17 +732,17 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - workerd@1.20240925.0: - resolution: {integrity: sha512-/Jj6+yLwfieZGEt3Kx4+5MoufuC3g/8iFaIh4MPBNGJOGYmdSKXvgCqz09m2+tVCYnysRfbq2zcbVxJRBfOCqQ==} + workerd@1.20241011.1: + resolution: {integrity: sha512-ORobT1XDkE+p+36yk6Szyw68bWuGSmuwIlDnAeUOfnYunb/Txt0jg7ydzfwr4UIsof7AH5F1nqZms5PWLu05yw==} engines: {node: '>=16'} hasBin: true - wrangler@3.80.0: - resolution: {integrity: sha512-c9aN7Buf7XgTPpQkw1d0VjNRI4qg3m35PTg70Tg4mOeHwHGjsd74PAsP1G8BjpdqDjfWtsua7tj1g4M3/5dYNQ==} + wrangler@3.81.0: + resolution: {integrity: sha512-sa5dhLJAMmYtl/dJWDJ92sdnKj0VUC0DYBfGqbhd5xn7CDdn1oGhICDXtx2E6BNhQ1L+4d9oAcP/oQvOs5gKLA==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20240925.0 + '@cloudflare/workers-types': ^4.20241011.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -771,45 +774,45 @@ snapshots: dependencies: mime: 3.0.0 - '@cloudflare/workerd-darwin-64@1.20240925.0': + '@cloudflare/workerd-darwin-64@1.20241011.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20240925.0': + '@cloudflare/workerd-darwin-arm64@1.20241011.1': optional: true - '@cloudflare/workerd-linux-64@1.20240925.0': + '@cloudflare/workerd-linux-64@1.20241011.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20240925.0': + '@cloudflare/workerd-linux-arm64@1.20241011.1': optional: true - '@cloudflare/workerd-windows-64@1.20240925.0': + '@cloudflare/workerd-windows-64@1.20241011.1': optional: true - '@cloudflare/workers-shared@0.5.4': + '@cloudflare/workers-shared@0.6.0': dependencies: mime: 3.0.0 zod: 3.23.8 - '@cloudflare/workers-types@4.20241004.0': {} + '@cloudflare/workers-types@4.20241018.0': {} '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@customerio/cdp-analytics-core@0.2.0': + '@customerio/cdp-analytics-core@0.2.1': dependencies: '@lukeed/uuid': 2.0.1 dset: 3.1.4 - tslib: 2.7.0 + tslib: 2.8.0 - '@customerio/cdp-analytics-node@0.2.0': + '@customerio/cdp-analytics-node@0.2.1': dependencies: - '@customerio/cdp-analytics-core': 0.2.0 + '@customerio/cdp-analytics-core': 0.2.1 '@lukeed/uuid': 2.0.1 buffer: 6.0.3 node-fetch: 2.7.0 - tslib: 2.7.0 + tslib: 2.8.0 uuid: 9.0.1 transitivePeerDependencies: - encoding @@ -1006,21 +1009,21 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.7.4 + '@types/node': 22.7.7 - '@types/node@20.16.10': + '@types/node@20.16.13': dependencies: undici-types: 6.19.8 - '@types/node@22.7.4': + '@types/node@22.7.7': dependencies: undici-types: 6.19.8 acorn-walk@8.3.4: dependencies: - acorn: 8.12.1 + acorn: 8.13.0 - acorn@8.12.1: {} + acorn@8.13.0: {} anymatch@3.1.3: dependencies: @@ -1049,7 +1052,7 @@ snapshots: capnp-ts@0.7.0: dependencies: debug: 4.3.7 - tslib: 2.7.0 + tslib: 2.8.0 transitivePeerDependencies: - supports-color @@ -1158,17 +1161,17 @@ snapshots: mime@3.0.0: {} - miniflare@3.20240925.0: + miniflare@3.20241011.0: dependencies: '@cspotcode/source-map-support': 0.8.1 - acorn: 8.12.1 + acorn: 8.13.0 acorn-walk: 8.3.4 capnp-ts: 0.7.0 exit-hook: 2.2.1 glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20240925.0 + workerd: 1.20241011.1 ws: 8.18.0 youch: 3.3.4 zod: 3.23.8 @@ -1249,11 +1252,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tldts-core@6.1.50: {} + tldts-core@6.1.52: {} - tldts@6.1.50: + tldts@6.1.52: dependencies: - tldts-core: 6.1.50 + tldts-core: 6.1.52 to-regex-range@5.0.1: dependencies: @@ -1261,9 +1264,12 @@ snapshots: tr46@0.0.3: {} - tslib@2.7.0: {} + tslib@2.7.0: + optional: true + + tslib@2.8.0: {} - typescript@5.6.2: {} + typescript@5.6.3: {} ufo@1.5.4: {} @@ -1273,7 +1279,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - unenv-nightly@2.0.0-20240919-125358-9a64854: + unenv-nightly@2.0.0-20241009-125958-e8ea22f: dependencies: defu: 6.1.4 ohash: 1.1.4 @@ -1289,35 +1295,35 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - workerd@1.20240925.0: + workerd@1.20241011.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240925.0 - '@cloudflare/workerd-darwin-arm64': 1.20240925.0 - '@cloudflare/workerd-linux-64': 1.20240925.0 - '@cloudflare/workerd-linux-arm64': 1.20240925.0 - '@cloudflare/workerd-windows-64': 1.20240925.0 + '@cloudflare/workerd-darwin-64': 1.20241011.1 + '@cloudflare/workerd-darwin-arm64': 1.20241011.1 + '@cloudflare/workerd-linux-64': 1.20241011.1 + '@cloudflare/workerd-linux-arm64': 1.20241011.1 + '@cloudflare/workerd-windows-64': 1.20241011.1 - wrangler@3.80.0(@cloudflare/workers-types@4.20241004.0): + wrangler@3.81.0(@cloudflare/workers-types@4.20241018.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.5.4 + '@cloudflare/workers-shared': 0.6.0 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 chokidar: 3.6.0 esbuild: 0.17.19 - miniflare: 3.20240925.0 + miniflare: 3.20241011.0 nanoid: 3.3.7 path-to-regexp: 6.3.0 resolve: 1.22.8 resolve.exports: 2.0.2 selfsigned: 2.4.1 source-map: 0.6.1 - unenv: unenv-nightly@2.0.0-20240919-125358-9a64854 - workerd: 1.20240925.0 + unenv: unenv-nightly@2.0.0-20241009-125958-e8ea22f + workerd: 1.20241011.1 xxhash-wasm: 1.0.2 optionalDependencies: - '@cloudflare/workers-types': 4.20241004.0 + '@cloudflare/workers-types': 4.20241018.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil