├── .gitignore
├── src
├── bin
│ └── pgrx_embed_pg_render.rs
└── lib.rs
├── .cargo
└── config.toml
├── pg_render.control
├── Makefile
├── Cargo.toml
├── LICENSE
├── test
├── expected
│ └── test.out
└── sql
│ └── test.sql
├── sql
└── pg_render.sql
├── README.md
├── .github
└── workflows
│ └── release.yml
└── Cargo.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea/
3 | /target
4 | *.iml
5 | **/*.rs.bk
--------------------------------------------------------------------------------
/src/bin/pgrx_embed_pg_render.rs:
--------------------------------------------------------------------------------
1 | // https://github.com/pgcentralfoundation/pgrx/issues/1888
2 | ::pgrx::pgrx_embed!();
--------------------------------------------------------------------------------
/.cargo/config.toml:
--------------------------------------------------------------------------------
1 | [target.'cfg(target_os="macos")']
2 | # Postgres symbols won't be available until runtime
3 | rustflags = ["-Clink-arg=-Wl,-undefined,dynamic_lookup"]
4 |
--------------------------------------------------------------------------------
/pg_render.control:
--------------------------------------------------------------------------------
1 | comment = 'pg_render: Created by pgrx'
2 | default_version = '@CARGO_VERSION@'
3 | module_pathname = '$libdir/pg_render'
4 | relocatable = false
5 | superuser = true
6 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | # `cargo pgrx run pg14` to run db w/ extension on :28814
2 | # `make test` to run the tests
3 | .PHONY: test
4 | test:
5 | @psql -d pg_render -h ~/.pgrx -p 28814 -f ./test/sql/test.sql | diff - ./test/expected/test.out || (echo "Test failed" && exit 1) && echo "Test passed"
6 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "pg_render"
3 | version = "0.1.2"
4 | edition = "2021"
5 |
6 | [lib]
7 | crate-type = ["cdylib", "lib"]
8 |
9 | [[bin]]
10 | name = "pgrx_embed_pg_render"
11 | path = "src/bin/pgrx_embed_pg_render.rs"
12 |
13 | [features]
14 | default = ["pg16"]
15 | pg14 = ["pgrx/pg14", "pgrx-tests/pg14" ]
16 | pg15 = ["pgrx/pg15", "pgrx-tests/pg15" ]
17 | pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ]
18 | pg17 = ["pgrx/pg17", "pgrx-tests/pg17" ]
19 | pg_test = []
20 |
21 | [dependencies]
22 | liquid = "0.26.9"
23 | pgrx = "=0.12.8"
24 |
25 | [dev-dependencies]
26 | pgrx-tests = "=0.12.8"
27 |
28 | [profile.dev]
29 | panic = "unwind"
30 |
31 | [profile.release]
32 | panic = "unwind"
33 | opt-level = 3
34 | lto = "fat"
35 | codegen-units = 1
36 |
--------------------------------------------------------------------------------
/src/lib.rs:
--------------------------------------------------------------------------------
1 | use pgrx::prelude::*;
2 | use liquid;
3 |
4 | pgrx::pg_module_magic!();
5 |
6 | // We return a static str because we know it's returned to Postgres-land and lifetime is not an issue in Rust anymore.
7 | // The input is a ref to Postgres memory location. When we return a String, it gets converted to Postgres text type again in pgrx.
8 |
9 | #[pg_extern]
10 | fn pg_render_liquid(template_code: &str, data: pgrx::Json) -> String {
11 | // Panic causes Postgres ERROR, so we can just unwrap here.
12 | // Will cancel the query, not crash the postgres process.
13 | let template = liquid::ParserBuilder::with_stdlib()
14 | .build().unwrap()
15 | .parse(template_code).unwrap();
16 | let input = liquid::to_object(&data).unwrap();
17 | let output = template.render(&input).unwrap();
18 | return output;
19 | }
20 |
21 | use pgrx::extension_sql_file;
22 | extension_sql_file!(
23 | "../sql/pg_render.sql",
24 | );
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2023 Matias Kaskimies
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/test/expected/test.out:
--------------------------------------------------------------------------------
1 | DO
2 | DO
3 | render
4 | --------
5 | 4
6 | (1 row)
7 |
8 | render
9 | ---------
10 | Title 1
11 | (1 row)
12 |
13 | render
14 | ---------------------------
15 | Title 1 Example content 1
16 | (1 row)
17 |
18 | render
19 | --------------------------------------
20 | Title 1 Title 2 Title 3 Title 4
21 | (1 row)
22 |
23 | render
24 | --------------------------------------------------------------------------------------------------------------------------------------------------
25 | Title 1 Example content 1 Author 1 Title 2 Example content 2 Author 2 Title 3 Example content 3 Author 3 Title 4 Example content 4 Author 4
26 | (1 row)
27 |
28 | render_agg
29 | ----------------
30 | Title 1Title 2
31 | (1 row)
32 |
33 | render_agg
34 | ------------------------------------------------------------------------------------------------------
35 | Title 1 Example content 1Title 2 Example content 2Title 3 Example content 3Title 4 Example content 4
36 | (1 row)
37 |
38 | render_agg
39 | ------------------------------------------------------------------------------------------------------
40 | Title 1 Example content 1Title 2 Example content 2Title 3 Example content 3Title 4 Example content 4
41 | (1 row)
42 |
43 | render
44 | --------
45 | 1
46 | (1 row)
47 |
48 | render
49 | --------------------
50 | 922337203685477580
51 | (1 row)
52 |
53 | render
54 | --------
55 | 1
56 | (1 row)
57 |
58 | render
59 | --------
60 | 1.59
61 | (1 row)
62 |
63 | render
64 | --------
65 | 1.59
66 | (1 row)
67 |
68 | render
69 | --------
70 | 1.59
71 | (1 row)
72 |
73 | render
74 | --------
75 | 1
76 | (1 row)
77 |
78 | render
79 | --------
80 | 1
81 | (1 row)
82 |
83 | render
84 | --------
85 | a
86 | (1 row)
87 |
88 | render
89 | --------
90 | a
91 | (1 row)
92 |
93 | render
94 | --------
95 | a
96 | (1 row)
97 |
98 | render
99 | --------
100 | true
101 | (1 row)
102 |
103 | render
104 | ------------
105 | 2024-02-11
106 | (1 row)
107 |
108 | render
109 | ----------
110 | 14:30:00
111 | (1 row)
112 |
113 | render
114 | ---------------------
115 | 2024-02-11T14:30:00
116 | (1 row)
117 |
118 | render
119 | ---------------------------
120 | 2024-02-11T16:30:00+02:00
121 | (1 row)
122 |
123 | render
124 | --------
125 | 1 day
126 | (1 row)
127 |
128 | render
129 | --------------------------------------
130 | 550e8400-e29b-41d4-a716-446655440000
131 | (1 row)
132 |
133 | render
134 | --------------
135 | 192.0.2.0/24
136 | (1 row)
137 |
138 | render
139 | --------
140 | a
141 | (1 row)
142 |
143 | render
144 | --------
145 | a
146 | (1 row)
147 |
148 |
--------------------------------------------------------------------------------
/test/sql/test.sql:
--------------------------------------------------------------------------------
1 | -- check if the extension exists, always output 'DO' to not change the diff result of the test
2 | do $$
3 | begin
4 | drop extension if exists pg_render;
5 | create extension pg_render;
6 | end $$;
7 |
8 | -- only insert test data if the table does not exist
9 | do $$
10 | begin
11 | if not exists (select 1 from information_schema.tables where table_name = 'posts') then
12 | create table posts (id serial primary key, title text not null, text text not null, author text not null);
13 | insert into posts (title, text, author) values
14 | ('Title 1', 'Example content 1', 'Author 1'),
15 | ('Title 2', 'Example content 2', 'Author 2'),
16 | ('Title 3', 'Example content 3', 'Author 3'),
17 | ('Title 4', 'Example content 4', 'Author 4');
18 | end if;
19 | end $$;
20 |
21 | -- render a single value
22 | select render('{{ value }}', (select count(*) from posts));
23 |
24 | -- render a single column from a single row
25 | select render('{{ value }}', (select title as value from posts where id = 1));
26 |
27 | -- render multiple columns from a single row
28 | select render('{{ title }} {{ text }}', (select to_json(props) from (select title, text from posts where id = 1) props));
29 |
30 | -- render array of values by looping in template
31 | select render('{% for value in values %} {{ value }} {% endfor %}', (select array(select title from posts)));
32 |
33 | -- render multiple rows with multiple columns
34 | select
35 | render(
36 | '{% for row in rows %} {{ row.title }} {{ row.text }} {{ row.author }} {% endfor %}',
37 | json_agg(to_json(posts.*))
38 | )
39 | from posts;
40 |
41 | -- render aggregate single column value
42 | select render_agg('{{ value }}', title) from posts where id < 3;
43 |
44 | -- render aggregate using derived table
45 | select render_agg('{{ title }} {{ text }}', props) from (select title, text from posts) as props;
46 |
47 | -- render aggregate using json_build_object
48 | select render_agg('{{ title }} {{ text }}', json_build_object('title', title, 'text', text)) from posts;
49 |
50 | -- render different types of values
51 | select render('{{ value }}', 1::int);
52 | select render('{{ value }}', 922337203685477580::bigint);
53 | select render('{{ value }}', 1::smallint);
54 | select render('{{ value }}', 1.59::float);
55 | select render('{{ value }}', 1.59::decimal);
56 | select render('{{ value }}', 1.59::double precision);
57 | select render('{{ value }}', 1::numeric);
58 | select render('{{ value }}', 1::real);
59 | select render('{{ value }}', 'a'::text);
60 | select render('{{ value }}', 'a'::varchar);
61 | select render('{{ value }}', 'a'::char);
62 | select render('{{ value }}', true::bool);
63 |
64 | select render('{{ value }}', '2024-02-11'::date);
65 | select render('{{ value }}', '14:30:00'::time);
66 | select render('{{ value }}', '2024-02-11 14:30:00'::timestamp);
67 | select render('{{ value }}', '2024-02-11 14:30:00+00'::timestamptz);
68 | select render('{{ value }}', '1 day'::interval);
69 |
70 | select render('{{ value }}', '550e8400-e29b-41d4-a716-446655440000'::uuid);
71 | select render('{{ value }}', '192.0.2.0/24'::inet);
72 |
73 | select render('{{ value }}', '{ "value": "a" }'::json);
74 | select render('{{ value }}', '{ "value": "a" }'::jsonb);
75 |
--------------------------------------------------------------------------------
/sql/pg_render.sql:
--------------------------------------------------------------------------------
1 | create or replace function render_template(template text, json_data json)
2 | returns text as $$
3 | declare
4 | engine text := 'liquid';
5 | result_text text;
6 | begin
7 | result_text := null;
8 | begin
9 | case engine
10 | when 'liquid' then
11 | result_text := pg_render_liquid(template, json_data);
12 | else
13 | result_text := format(template, array(select json_array_elements_text(json_data)));
14 | end case;
15 | exception
16 | when others then
17 | raise exception 'error in render_template function: %', sqlerrm;
18 | end;
19 | return result_text;
20 | end;
21 | $$ language plpgsql stable;
22 |
23 | -- main render function
24 | create or replace function render(template text, input anyelement)
25 | returns text as $$
26 | declare
27 | typeof regtype := pg_typeof(input)::regtype;
28 | json_types regtype[] := array['json'::regtype, 'jsonb'::regtype];
29 | -- single value types
30 | text_types regtype[] := array['text'::regtype, 'varchar'::regtype, 'char'::regtype];
31 | numeric_types regtype[] := array['integer'::regtype, 'double precision'::regtype, 'real'::regtype, 'numeric'::regtype, 'smallint'::regtype, 'bigint'::regtype];
32 | time_types regtype[] := array['time'::regtype, 'timestamp'::regtype, 'timestamptz'::regtype, 'interval'::regtype, 'date'::regtype];
33 | other_types regtype[] := array['bool'::regtype, 'uuid'::regtype, 'inet'::regtype];
34 | begin
35 | case
36 | -- single value
37 | when typeof = any(text_types || numeric_types || time_types || other_types) then
38 | return render_template(template, json_build_object('value', input));
39 | -- array of values
40 | when typeof::text = 'array' or typeof::text LIKE '%[]' then
41 | return render_template(template, json_build_object('values', input));
42 | -- json object
43 | when typeof = any(json_types) then
44 | -- if the json object is an array, wrap it in a 'rows' object
45 | if json_typeof(input::json) = 'array' then
46 | return render_template(template, json_build_object('rows', input));
47 | -- otherwise, just pass the object as json
48 | else
49 | return render_template(template, input::json);
50 | end if;
51 | -- the input type is not supported
52 | else
53 | raise exception 'unsupported input parameter type: %', typeof;
54 | end case;
55 | end;
56 | $$ language plpgsql stable;
57 |
58 | create or replace function render_agg_sfunc(state text, template text, input anyelement)
59 | returns text language plpgsql as $$
60 | declare
61 | typeof regtype := pg_typeof(input)::regtype;
62 | json_input json;
63 | json_types regtype[] := array['json'::regtype, 'jsonb'::regtype];
64 | -- single value types
65 | text_types regtype[] := array['text'::regtype, 'varchar'::regtype, 'char'::regtype];
66 | numeric_types regtype[] := array['integer'::regtype, 'double precision'::regtype, 'real'::regtype, 'numeric'::regtype, 'smallint'::regtype, 'bigint'::regtype];
67 | time_types regtype[] := array['time'::regtype, 'timestamp'::regtype, 'timestamptz'::regtype, 'interval'::regtype, 'date'::regtype];
68 | other_types regtype[] := array['bool'::regtype, 'uuid'::regtype, 'inet'::regtype];
69 | begin
70 | if typeof = any(json_types) then
71 | json_input := input;
72 | elsif typeof = any(text_types || numeric_types || time_types || other_types) then
73 | json_input := json_build_object('value', input);
74 | elsif typeof::text = 'array' or typeof::text LIKE '%[]' then
75 | json_input := json_build_object('values', input);
76 | else
77 | -- convert record to json if it's not already json
78 | json_input := row_to_json(input);
79 | end if;
80 | -- render the template to state
81 | return coalesce(state, '') || render(template, json_input);
82 | end $$;
83 |
84 | create or replace function render_agg_final(state text)
85 | returns text language plpgsql as $$
86 | begin
87 | return coalesce(state, '');
88 | end $$;
89 |
90 | create aggregate render_agg(text, anyelement) (
91 | sfunc = render_agg_sfunc,
92 | stype = text,
93 | finalfunc = render_agg_final,
94 | initcond = ''
95 | );
96 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # pg_render
2 |
3 | Render engine extension for PostgreSQL.
4 |
5 | ```sql
6 | -- PostgreSQL extension
7 | create extension pg_render;
8 | -- Serve /index using postgREST
9 | create function api.index() returns "text/html" as $$
10 | -- Render HTML template with pg_render
11 | select render(
12 | '
13 |
14 | {{ title }}
15 |
16 |
17 | {{ title }}
18 | {{ text }}
19 | {{ author }}
20 |
21 | ',
22 | (select to_json(props) from (select title, text, author from posts where id = 1) props)
23 | )
24 | $$;
25 | ```
26 |
27 | ->
28 |
29 | ```html
30 | # HTTP GET /index
31 |
32 |
33 | Example
34 |
35 |
36 | Example
37 | Example text
38 | Example author
39 |
40 |
41 | ```
42 |
43 | # Installation
44 |
45 | Download from [Releases](https://github.com/mkaski/pg_render/releases).
46 |
47 | ```bash
48 | # On Ubuntu w/ PostgreSQL 16
49 | wget https://github.com/mkaski/pg_render/releases/download/v0.1.2/pg_render-v0.1.2-pg16-amd64-linux-gnu.deb \
50 | && dpkg -i pg_render-v0.1.2-pg16-amd64-linux-gnu.deb \
51 | && apt-get install -f \
52 | && rm -rf pg_render-v0.1.2-pg16-amd64-linux-gnu.deb
53 |
54 | # In PostgreSQL
55 | create extension pg_render;
56 | ```
57 |
58 | # Examples
59 |
60 | See more examples in [pg_render_example](https://github.com/mkaski/pg_render_example/blob/master/sql/02_views.sql) project, and how to use pg_render with [PostgREST](https://postgrest.org).
61 |
62 |
63 | Example Data
64 |
65 | ```sql
66 | create table posts (id serial primary key, title text not null, text text not null, author text not null);
67 | insert into posts (title, text, author) values
68 | ('Title 1', 'Example content 1', 'Author 1'),
69 | ('Title 2', 'Example content 2', 'Author 2'),
70 | ('Title 3', 'Example content 3', 'Author 3');
71 |
72 | create table templates (id text primary key, template text not null);
73 | insert into templates (id, template) values ('example', '{{ text }}');
74 | ```
75 |
76 |
77 |
78 | ## `render(template text, input json | array | single value)`
79 |
80 | Render a template with the query result.
81 |
82 | ```sql
83 | -- render a single value
84 | select render('Total posts: {{ value }}', (select count(*) from posts));
85 |
86 | -- render a single column from a single row
87 | select render('Title: {{ value }}', (select title as value from posts where id = 1));
88 |
89 | -- render multiple columns from a single row
90 | select render('Title: {{ title }}, Text: {{ text }}', (select to_json(props) from (select title, text from posts where id = 1) props));
91 |
92 | -- render array of values by looping in template
93 | select render('{% for value in values %} {{ value }} {% endfor %}', (select array(select title from posts)));
94 |
95 | -- render multiple rows with multiple columns
96 | select
97 | render(
98 | '{% for row in rows %} {{ row.title }} - {{ row.text }} - {{ row.author }} {% endfor %}',
99 | json_agg(to_json(posts.*))
100 | )
101 | from posts;
102 |
103 | -- render from saved template
104 | select render(
105 | (select template from templates where id = 'example'),
106 | (select to_json(props) from (
107 | select title, text
108 | from posts
109 | where title = 'Title 3') props
110 | )
111 | );
112 | ```
113 |
114 | ## `render_agg(template text, input record | json | single value)`
115 |
116 | Render multiple rows with aggregate render function. Eg. render a template for all posts queried.
117 |
118 |
119 | ```sql
120 | -- render aggregate with single column
121 | select render_agg('{{ value }}', title) from posts where id < 3;
122 |
123 | -- render aggregate using derived table
124 | select render_agg('{{ title }} {{ text }}', props) from (select title, text from posts) as props;
125 |
126 | -- render aggregate using json_build_object
127 | select render_agg('{{ title }} {{ text }}', json_build_object('title', title, 'text', text)) from posts;
128 | ```
129 |
130 | ```sql
131 | select render_agg('{{ title }}
{{ text }}
', props)
132 | from (select title, text from posts limit 3) as props;
133 | ```
134 | ->
135 | ```html
136 | Title 1
Content for Post 1
137 | Title 2
Content for Post 2
138 | Title 2
Content for Post 3
139 | ```
140 |
141 | # Development
142 |
143 | Made with
144 |
145 | - [Liquid](https://shopify.github.io/liquid/) templating language via [liquid-rust](https://github.com/cobalt-org/liquid-rust)
146 | - [pgrx](https://github.com/pgcentralfoundation/pgrx) Rust extension framework for PostgreSQL
147 |
148 | ## Build and run locally
149 |
150 | ```bash
151 | # clone this repo
152 | cargo install --locked cargo-pgrx
153 | cargo pgrx init
154 | cargo pgrx run
155 | ```
156 |
157 | ## Test
158 |
159 | ```bash
160 | cargo pgrx run pg14
161 | make test
162 | ```
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | # Copied from https://github.com/supabase/pg_graphql/blob/master/.github/workflows/release.yml
2 | name: Release
3 |
4 |
5 | on:
6 | push:
7 | # Sequence of patterns matched against refs/tags
8 | tags:
9 | - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
10 |
11 | jobs:
12 | release:
13 | name: Create Release
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout code
17 | uses: actions/checkout@v2
18 | - name: Create Release
19 | id: create_release
20 | uses: actions/create-release@v1
21 | env:
22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23 | with:
24 | tag_name: ${{ github.ref }}
25 | release_name: ${{ github.ref }}
26 | body: ''
27 | draft: true
28 | prerelease: false
29 |
30 | build-linux-gnu:
31 | name: release artifacts
32 | needs:
33 | - release
34 | strategy:
35 | matrix:
36 | extension_name:
37 | - pg_render
38 | package_name:
39 | - pg-render
40 | pgrx_version:
41 | - 0.12.8
42 | postgres: [14, 15, 16, 17]
43 | box:
44 | - { runner: ubuntu-20.04, arch: amd64 }
45 | # - { runner: macos-latest, arch: arm64 }
46 | runs-on: ${{ matrix.box.runner }}
47 | timeout-minutes: 90
48 | steps:
49 | - uses: actions/checkout@v3
50 |
51 | - name: build release artifacts
52 | run: |
53 | # Add postgres package repo
54 | sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
55 | wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
56 |
57 | sudo apt-get update
58 | sudo apt-get install -y --no-install-recommends git build-essential libpq-dev curl libreadline6-dev zlib1g-dev pkg-config cmake
59 | sudo apt-get install -y --no-install-recommends libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev libxml2-utils xsltproc ccache
60 | sudo apt-get install -y --no-install-recommends clang libclang-dev gcc tree
61 |
62 | # Install requested postgres version
63 | sudo apt install -y postgresql-${{ matrix.postgres }} postgresql-server-dev-${{ matrix.postgres }} -y
64 |
65 | # Ensure installed pg_config is first on path
66 | export PATH=$PATH:/usr/lib/postgresql/${{ matrix.postgres }}/bin
67 |
68 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal --default-toolchain stable && \
69 | rustup --version && \
70 | rustc --version && \
71 | cargo --version
72 |
73 | # Ensure cargo/rust on path
74 | source "$HOME/.cargo/env"
75 |
76 | cargo install cargo-pgrx --version ${{ matrix.pgrx_version }} --locked
77 | cargo pgrx init --pg${{ matrix.postgres }}=/usr/lib/postgresql/${{ matrix.postgres }}/bin/pg_config
78 |
79 | # selects the pgVer from pg_config on path
80 | # https://github.com/tcdi/pgrx/issues/288
81 | cargo pgrx package --no-default-features --features pg${{ matrix.postgres }}
82 |
83 | # Create installable package
84 | mkdir archive
85 | cp `find target/release -type f -name "${{ matrix.extension_name }}*"` archive
86 |
87 | # name of the package directory before packaging
88 | package_dir=${{ matrix.extension_name }}-${{ github.ref_name }}-pg${{ matrix.postgres }}-${{ matrix.box.arch }}-linux-gnu
89 |
90 | # Copy files into directory structure
91 | mkdir -p ${package_dir}/usr/lib/postgresql/lib
92 | mkdir -p ${package_dir}/var/lib/postgresql/extension
93 | cp archive/*.so ${package_dir}/usr/lib/postgresql/lib
94 | cp archive/*.control ${package_dir}/var/lib/postgresql/extension
95 | cp archive/*.sql ${package_dir}/var/lib/postgresql/extension
96 |
97 | # symlinks to Copy files into directory structure
98 | mkdir -p ${package_dir}/usr/lib/postgresql/${{ matrix.postgres }}/lib
99 | cd ${package_dir}/usr/lib/postgresql/${{ matrix.postgres }}/lib
100 | cp -s ../../lib/*.so .
101 | cd ../../../../../..
102 |
103 | mkdir -p ${package_dir}/usr/share/postgresql/${{ matrix.postgres }}/extension
104 | cd ${package_dir}/usr/share/postgresql/${{ matrix.postgres }}/extension
105 |
106 | cp -s ../../../../../var/lib/postgresql/extension/${{ matrix.extension_name }}.control .
107 | cp -s ../../../../../var/lib/postgresql/extension/${{ matrix.extension_name }}*.sql .
108 | cd ../../../../../..
109 |
110 | # Create install control file
111 | extension_version=${{ github.ref_name }}
112 | # strip the leading v
113 | deb_version=${extension_version:1}
114 |
115 | mkdir -p ${package_dir}/DEBIAN
116 | touch ${package_dir}/DEBIAN/control
117 | echo 'Package: ${{ matrix.package_name }}' >> ${package_dir}/DEBIAN/control
118 | echo 'Version:' ${deb_version} >> ${package_dir}/DEBIAN/control
119 | echo 'Architecture: ${{ matrix.box.arch }}' >> ${package_dir}/DEBIAN/control
120 | echo 'Maintainer: Matias Kaskimies' >> ${package_dir}/DEBIAN/control
121 | echo 'Description: A PostgreSQL extension' >> ${package_dir}/DEBIAN/control
122 |
123 | # Create deb package
124 | sudo chown -R root:root ${package_dir}
125 | sudo chmod -R 00755 ${package_dir}
126 | sudo dpkg-deb --build --root-owner-group ${package_dir}
127 |
128 | - name: Get upload url
129 | run: |
130 | echo "UPLOAD_URL=$(curl --silent -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/${{ github.repository }}/releases | jq '.[] | select(.draft == true) | .upload_url' --raw-output)" >> $GITHUB_ENV
131 |
132 | - name: Upload release asset
133 | uses: actions/upload-release-asset@v1
134 | env:
135 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
136 | with:
137 | upload_url: ${{ env.UPLOAD_URL }}
138 | asset_path: ./${{ matrix.extension_name }}-${{ github.ref_name }}-pg${{ matrix.postgres }}-${{ matrix.box.arch }}-linux-gnu.deb
139 | asset_name: ${{ matrix.extension_name }}-${{ github.ref_name }}-pg${{ matrix.postgres }}-${{ matrix.box.arch }}-linux-gnu.deb
140 | asset_content_type: application/vnd.debian.binary-package
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 3
4 |
5 | [[package]]
6 | name = "addr2line"
7 | version = "0.24.2"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
10 | dependencies = [
11 | "gimli",
12 | ]
13 |
14 | [[package]]
15 | name = "adler2"
16 | version = "2.0.0"
17 | source = "registry+https://github.com/rust-lang/crates.io-index"
18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
19 |
20 | [[package]]
21 | name = "aho-corasick"
22 | version = "1.1.3"
23 | source = "registry+https://github.com/rust-lang/crates.io-index"
24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
25 | dependencies = [
26 | "memchr",
27 | ]
28 |
29 | [[package]]
30 | name = "annotate-snippets"
31 | version = "0.9.2"
32 | source = "registry+https://github.com/rust-lang/crates.io-index"
33 | checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e"
34 | dependencies = [
35 | "unicode-width",
36 | "yansi-term",
37 | ]
38 |
39 | [[package]]
40 | name = "anstyle"
41 | version = "1.0.10"
42 | source = "registry+https://github.com/rust-lang/crates.io-index"
43 | checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
44 |
45 | [[package]]
46 | name = "anyhow"
47 | version = "1.0.93"
48 | source = "registry+https://github.com/rust-lang/crates.io-index"
49 | checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
50 |
51 | [[package]]
52 | name = "anymap2"
53 | version = "0.13.0"
54 | source = "registry+https://github.com/rust-lang/crates.io-index"
55 | checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c"
56 |
57 | [[package]]
58 | name = "async-trait"
59 | version = "0.1.83"
60 | source = "registry+https://github.com/rust-lang/crates.io-index"
61 | checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
62 | dependencies = [
63 | "proc-macro2",
64 | "quote",
65 | "syn",
66 | ]
67 |
68 | [[package]]
69 | name = "atomic-traits"
70 | version = "0.3.0"
71 | source = "registry+https://github.com/rust-lang/crates.io-index"
72 | checksum = "b29ec3788e96fb4fdb275ccb9d62811f2fa903d76c5eb4dd6fe7d09a7ed5871f"
73 | dependencies = [
74 | "cfg-if",
75 | "rustc_version",
76 | ]
77 |
78 | [[package]]
79 | name = "autocfg"
80 | version = "1.4.0"
81 | source = "registry+https://github.com/rust-lang/crates.io-index"
82 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
83 |
84 | [[package]]
85 | name = "backtrace"
86 | version = "0.3.74"
87 | source = "registry+https://github.com/rust-lang/crates.io-index"
88 | checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
89 | dependencies = [
90 | "addr2line",
91 | "cfg-if",
92 | "libc",
93 | "miniz_oxide",
94 | "object",
95 | "rustc-demangle",
96 | "windows-targets",
97 | ]
98 |
99 | [[package]]
100 | name = "base64"
101 | version = "0.22.1"
102 | source = "registry+https://github.com/rust-lang/crates.io-index"
103 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
104 |
105 | [[package]]
106 | name = "bindgen"
107 | version = "0.70.1"
108 | source = "registry+https://github.com/rust-lang/crates.io-index"
109 | checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
110 | dependencies = [
111 | "annotate-snippets",
112 | "bitflags",
113 | "cexpr",
114 | "clang-sys",
115 | "itertools",
116 | "proc-macro2",
117 | "quote",
118 | "regex",
119 | "rustc-hash",
120 | "shlex",
121 | "syn",
122 | ]
123 |
124 | [[package]]
125 | name = "bit-set"
126 | version = "0.5.3"
127 | source = "registry+https://github.com/rust-lang/crates.io-index"
128 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
129 | dependencies = [
130 | "bit-vec",
131 | ]
132 |
133 | [[package]]
134 | name = "bit-vec"
135 | version = "0.6.3"
136 | source = "registry+https://github.com/rust-lang/crates.io-index"
137 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
138 |
139 | [[package]]
140 | name = "bitflags"
141 | version = "2.6.0"
142 | source = "registry+https://github.com/rust-lang/crates.io-index"
143 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
144 |
145 | [[package]]
146 | name = "bitvec"
147 | version = "1.0.1"
148 | source = "registry+https://github.com/rust-lang/crates.io-index"
149 | checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
150 | dependencies = [
151 | "funty",
152 | "radium",
153 | "tap",
154 | "wyz",
155 | ]
156 |
157 | [[package]]
158 | name = "block-buffer"
159 | version = "0.10.4"
160 | source = "registry+https://github.com/rust-lang/crates.io-index"
161 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
162 | dependencies = [
163 | "generic-array",
164 | ]
165 |
166 | [[package]]
167 | name = "bumpalo"
168 | version = "3.16.0"
169 | source = "registry+https://github.com/rust-lang/crates.io-index"
170 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
171 |
172 | [[package]]
173 | name = "byteorder"
174 | version = "1.5.0"
175 | source = "registry+https://github.com/rust-lang/crates.io-index"
176 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
177 |
178 | [[package]]
179 | name = "bytes"
180 | version = "1.8.0"
181 | source = "registry+https://github.com/rust-lang/crates.io-index"
182 | checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
183 |
184 | [[package]]
185 | name = "camino"
186 | version = "1.1.9"
187 | source = "registry+https://github.com/rust-lang/crates.io-index"
188 | checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
189 | dependencies = [
190 | "serde",
191 | ]
192 |
193 | [[package]]
194 | name = "cargo-platform"
195 | version = "0.1.8"
196 | source = "registry+https://github.com/rust-lang/crates.io-index"
197 | checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
198 | dependencies = [
199 | "serde",
200 | ]
201 |
202 | [[package]]
203 | name = "cargo_metadata"
204 | version = "0.18.1"
205 | source = "registry+https://github.com/rust-lang/crates.io-index"
206 | checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
207 | dependencies = [
208 | "camino",
209 | "cargo-platform",
210 | "semver 1.0.23",
211 | "serde",
212 | "serde_json",
213 | "thiserror",
214 | ]
215 |
216 | [[package]]
217 | name = "cargo_toml"
218 | version = "0.19.2"
219 | source = "registry+https://github.com/rust-lang/crates.io-index"
220 | checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be"
221 | dependencies = [
222 | "serde",
223 | "toml",
224 | ]
225 |
226 | [[package]]
227 | name = "cc"
228 | version = "1.2.1"
229 | source = "registry+https://github.com/rust-lang/crates.io-index"
230 | checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47"
231 | dependencies = [
232 | "shlex",
233 | ]
234 |
235 | [[package]]
236 | name = "cee-scape"
237 | version = "0.2.0"
238 | source = "registry+https://github.com/rust-lang/crates.io-index"
239 | checksum = "4d67dfb052149f779f77e9ce089cea126e00657e8f0d11dafc7901fde4291101"
240 | dependencies = [
241 | "cc",
242 | "libc",
243 | ]
244 |
245 | [[package]]
246 | name = "cexpr"
247 | version = "0.6.0"
248 | source = "registry+https://github.com/rust-lang/crates.io-index"
249 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
250 | dependencies = [
251 | "nom",
252 | ]
253 |
254 | [[package]]
255 | name = "cfg-if"
256 | version = "1.0.0"
257 | source = "registry+https://github.com/rust-lang/crates.io-index"
258 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
259 |
260 | [[package]]
261 | name = "clang-sys"
262 | version = "1.8.1"
263 | source = "registry+https://github.com/rust-lang/crates.io-index"
264 | checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
265 | dependencies = [
266 | "glob",
267 | "libc",
268 | "libloading",
269 | ]
270 |
271 | [[package]]
272 | name = "clap"
273 | version = "4.5.21"
274 | source = "registry+https://github.com/rust-lang/crates.io-index"
275 | checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f"
276 | dependencies = [
277 | "clap_builder",
278 | "clap_derive",
279 | ]
280 |
281 | [[package]]
282 | name = "clap-cargo"
283 | version = "0.14.1"
284 | source = "registry+https://github.com/rust-lang/crates.io-index"
285 | checksum = "23b2ea69cefa96b848b73ad516ad1d59a195cdf9263087d977f648a818c8b43e"
286 | dependencies = [
287 | "anstyle",
288 | "cargo_metadata",
289 | "clap",
290 | ]
291 |
292 | [[package]]
293 | name = "clap_builder"
294 | version = "4.5.21"
295 | source = "registry+https://github.com/rust-lang/crates.io-index"
296 | checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec"
297 | dependencies = [
298 | "anstyle",
299 | "clap_lex",
300 | ]
301 |
302 | [[package]]
303 | name = "clap_derive"
304 | version = "4.5.18"
305 | source = "registry+https://github.com/rust-lang/crates.io-index"
306 | checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
307 | dependencies = [
308 | "heck",
309 | "proc-macro2",
310 | "quote",
311 | "syn",
312 | ]
313 |
314 | [[package]]
315 | name = "clap_lex"
316 | version = "0.7.3"
317 | source = "registry+https://github.com/rust-lang/crates.io-index"
318 | checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7"
319 |
320 | [[package]]
321 | name = "convert_case"
322 | version = "0.6.0"
323 | source = "registry+https://github.com/rust-lang/crates.io-index"
324 | checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
325 | dependencies = [
326 | "unicode-segmentation",
327 | ]
328 |
329 | [[package]]
330 | name = "core-foundation-sys"
331 | version = "0.8.7"
332 | source = "registry+https://github.com/rust-lang/crates.io-index"
333 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
334 |
335 | [[package]]
336 | name = "cpufeatures"
337 | version = "0.2.15"
338 | source = "registry+https://github.com/rust-lang/crates.io-index"
339 | checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6"
340 | dependencies = [
341 | "libc",
342 | ]
343 |
344 | [[package]]
345 | name = "crossbeam-deque"
346 | version = "0.8.5"
347 | source = "registry+https://github.com/rust-lang/crates.io-index"
348 | checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
349 | dependencies = [
350 | "crossbeam-epoch",
351 | "crossbeam-utils",
352 | ]
353 |
354 | [[package]]
355 | name = "crossbeam-epoch"
356 | version = "0.9.18"
357 | source = "registry+https://github.com/rust-lang/crates.io-index"
358 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
359 | dependencies = [
360 | "crossbeam-utils",
361 | ]
362 |
363 | [[package]]
364 | name = "crossbeam-utils"
365 | version = "0.8.20"
366 | source = "registry+https://github.com/rust-lang/crates.io-index"
367 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
368 |
369 | [[package]]
370 | name = "crypto-common"
371 | version = "0.1.6"
372 | source = "registry+https://github.com/rust-lang/crates.io-index"
373 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
374 | dependencies = [
375 | "generic-array",
376 | "typenum",
377 | ]
378 |
379 | [[package]]
380 | name = "deranged"
381 | version = "0.3.11"
382 | source = "registry+https://github.com/rust-lang/crates.io-index"
383 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
384 | dependencies = [
385 | "powerfmt",
386 | ]
387 |
388 | [[package]]
389 | name = "digest"
390 | version = "0.10.7"
391 | source = "registry+https://github.com/rust-lang/crates.io-index"
392 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
393 | dependencies = [
394 | "block-buffer",
395 | "crypto-common",
396 | "subtle",
397 | ]
398 |
399 | [[package]]
400 | name = "displaydoc"
401 | version = "0.2.5"
402 | source = "registry+https://github.com/rust-lang/crates.io-index"
403 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
404 | dependencies = [
405 | "proc-macro2",
406 | "quote",
407 | "syn",
408 | ]
409 |
410 | [[package]]
411 | name = "doc-comment"
412 | version = "0.3.3"
413 | source = "registry+https://github.com/rust-lang/crates.io-index"
414 | checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
415 |
416 | [[package]]
417 | name = "either"
418 | version = "1.13.0"
419 | source = "registry+https://github.com/rust-lang/crates.io-index"
420 | checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
421 |
422 | [[package]]
423 | name = "enum-map"
424 | version = "2.7.3"
425 | source = "registry+https://github.com/rust-lang/crates.io-index"
426 | checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9"
427 | dependencies = [
428 | "enum-map-derive",
429 | ]
430 |
431 | [[package]]
432 | name = "enum-map-derive"
433 | version = "0.17.0"
434 | source = "registry+https://github.com/rust-lang/crates.io-index"
435 | checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
436 | dependencies = [
437 | "proc-macro2",
438 | "quote",
439 | "syn",
440 | ]
441 |
442 | [[package]]
443 | name = "equivalent"
444 | version = "1.0.1"
445 | source = "registry+https://github.com/rust-lang/crates.io-index"
446 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
447 |
448 | [[package]]
449 | name = "errno"
450 | version = "0.3.9"
451 | source = "registry+https://github.com/rust-lang/crates.io-index"
452 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
453 | dependencies = [
454 | "libc",
455 | "windows-sys 0.52.0",
456 | ]
457 |
458 | [[package]]
459 | name = "eyre"
460 | version = "0.6.12"
461 | source = "registry+https://github.com/rust-lang/crates.io-index"
462 | checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
463 | dependencies = [
464 | "indenter",
465 | "once_cell",
466 | ]
467 |
468 | [[package]]
469 | name = "fallible-iterator"
470 | version = "0.2.0"
471 | source = "registry+https://github.com/rust-lang/crates.io-index"
472 | checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
473 |
474 | [[package]]
475 | name = "fastrand"
476 | version = "2.2.0"
477 | source = "registry+https://github.com/rust-lang/crates.io-index"
478 | checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4"
479 |
480 | [[package]]
481 | name = "fixedbitset"
482 | version = "0.4.2"
483 | source = "registry+https://github.com/rust-lang/crates.io-index"
484 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
485 |
486 | [[package]]
487 | name = "fnv"
488 | version = "1.0.7"
489 | source = "registry+https://github.com/rust-lang/crates.io-index"
490 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
491 |
492 | [[package]]
493 | name = "form_urlencoded"
494 | version = "1.2.1"
495 | source = "registry+https://github.com/rust-lang/crates.io-index"
496 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
497 | dependencies = [
498 | "percent-encoding",
499 | ]
500 |
501 | [[package]]
502 | name = "funty"
503 | version = "2.0.0"
504 | source = "registry+https://github.com/rust-lang/crates.io-index"
505 | checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
506 |
507 | [[package]]
508 | name = "futures-channel"
509 | version = "0.3.31"
510 | source = "registry+https://github.com/rust-lang/crates.io-index"
511 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
512 | dependencies = [
513 | "futures-core",
514 | "futures-sink",
515 | ]
516 |
517 | [[package]]
518 | name = "futures-core"
519 | version = "0.3.31"
520 | source = "registry+https://github.com/rust-lang/crates.io-index"
521 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
522 |
523 | [[package]]
524 | name = "futures-macro"
525 | version = "0.3.31"
526 | source = "registry+https://github.com/rust-lang/crates.io-index"
527 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
528 | dependencies = [
529 | "proc-macro2",
530 | "quote",
531 | "syn",
532 | ]
533 |
534 | [[package]]
535 | name = "futures-sink"
536 | version = "0.3.31"
537 | source = "registry+https://github.com/rust-lang/crates.io-index"
538 | checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
539 |
540 | [[package]]
541 | name = "futures-task"
542 | version = "0.3.31"
543 | source = "registry+https://github.com/rust-lang/crates.io-index"
544 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
545 |
546 | [[package]]
547 | name = "futures-util"
548 | version = "0.3.31"
549 | source = "registry+https://github.com/rust-lang/crates.io-index"
550 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
551 | dependencies = [
552 | "futures-core",
553 | "futures-macro",
554 | "futures-sink",
555 | "futures-task",
556 | "pin-project-lite",
557 | "pin-utils",
558 | "slab",
559 | ]
560 |
561 | [[package]]
562 | name = "generic-array"
563 | version = "0.14.7"
564 | source = "registry+https://github.com/rust-lang/crates.io-index"
565 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
566 | dependencies = [
567 | "typenum",
568 | "version_check",
569 | ]
570 |
571 | [[package]]
572 | name = "getrandom"
573 | version = "0.2.15"
574 | source = "registry+https://github.com/rust-lang/crates.io-index"
575 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
576 | dependencies = [
577 | "cfg-if",
578 | "libc",
579 | "wasi",
580 | ]
581 |
582 | [[package]]
583 | name = "gimli"
584 | version = "0.31.1"
585 | source = "registry+https://github.com/rust-lang/crates.io-index"
586 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
587 |
588 | [[package]]
589 | name = "glob"
590 | version = "0.3.1"
591 | source = "registry+https://github.com/rust-lang/crates.io-index"
592 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
593 |
594 | [[package]]
595 | name = "half"
596 | version = "1.8.3"
597 | source = "registry+https://github.com/rust-lang/crates.io-index"
598 | checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403"
599 |
600 | [[package]]
601 | name = "hash32"
602 | version = "0.3.1"
603 | source = "registry+https://github.com/rust-lang/crates.io-index"
604 | checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606"
605 | dependencies = [
606 | "byteorder",
607 | ]
608 |
609 | [[package]]
610 | name = "hashbrown"
611 | version = "0.15.1"
612 | source = "registry+https://github.com/rust-lang/crates.io-index"
613 | checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
614 |
615 | [[package]]
616 | name = "heapless"
617 | version = "0.8.0"
618 | source = "registry+https://github.com/rust-lang/crates.io-index"
619 | checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad"
620 | dependencies = [
621 | "hash32",
622 | "stable_deref_trait",
623 | ]
624 |
625 | [[package]]
626 | name = "heck"
627 | version = "0.5.0"
628 | source = "registry+https://github.com/rust-lang/crates.io-index"
629 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
630 |
631 | [[package]]
632 | name = "hermit-abi"
633 | version = "0.3.9"
634 | source = "registry+https://github.com/rust-lang/crates.io-index"
635 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
636 |
637 | [[package]]
638 | name = "hermit-abi"
639 | version = "0.4.0"
640 | source = "registry+https://github.com/rust-lang/crates.io-index"
641 | checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
642 |
643 | [[package]]
644 | name = "hmac"
645 | version = "0.12.1"
646 | source = "registry+https://github.com/rust-lang/crates.io-index"
647 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
648 | dependencies = [
649 | "digest",
650 | ]
651 |
652 | [[package]]
653 | name = "home"
654 | version = "0.5.9"
655 | source = "registry+https://github.com/rust-lang/crates.io-index"
656 | checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
657 | dependencies = [
658 | "windows-sys 0.52.0",
659 | ]
660 |
661 | [[package]]
662 | name = "icu_collections"
663 | version = "1.5.0"
664 | source = "registry+https://github.com/rust-lang/crates.io-index"
665 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
666 | dependencies = [
667 | "displaydoc",
668 | "yoke",
669 | "zerofrom",
670 | "zerovec",
671 | ]
672 |
673 | [[package]]
674 | name = "icu_locid"
675 | version = "1.5.0"
676 | source = "registry+https://github.com/rust-lang/crates.io-index"
677 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
678 | dependencies = [
679 | "displaydoc",
680 | "litemap",
681 | "tinystr",
682 | "writeable",
683 | "zerovec",
684 | ]
685 |
686 | [[package]]
687 | name = "icu_locid_transform"
688 | version = "1.5.0"
689 | source = "registry+https://github.com/rust-lang/crates.io-index"
690 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
691 | dependencies = [
692 | "displaydoc",
693 | "icu_locid",
694 | "icu_locid_transform_data",
695 | "icu_provider",
696 | "tinystr",
697 | "zerovec",
698 | ]
699 |
700 | [[package]]
701 | name = "icu_locid_transform_data"
702 | version = "1.5.0"
703 | source = "registry+https://github.com/rust-lang/crates.io-index"
704 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
705 |
706 | [[package]]
707 | name = "icu_normalizer"
708 | version = "1.5.0"
709 | source = "registry+https://github.com/rust-lang/crates.io-index"
710 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
711 | dependencies = [
712 | "displaydoc",
713 | "icu_collections",
714 | "icu_normalizer_data",
715 | "icu_properties",
716 | "icu_provider",
717 | "smallvec",
718 | "utf16_iter",
719 | "utf8_iter",
720 | "write16",
721 | "zerovec",
722 | ]
723 |
724 | [[package]]
725 | name = "icu_normalizer_data"
726 | version = "1.5.0"
727 | source = "registry+https://github.com/rust-lang/crates.io-index"
728 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
729 |
730 | [[package]]
731 | name = "icu_properties"
732 | version = "1.5.1"
733 | source = "registry+https://github.com/rust-lang/crates.io-index"
734 | checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
735 | dependencies = [
736 | "displaydoc",
737 | "icu_collections",
738 | "icu_locid_transform",
739 | "icu_properties_data",
740 | "icu_provider",
741 | "tinystr",
742 | "zerovec",
743 | ]
744 |
745 | [[package]]
746 | name = "icu_properties_data"
747 | version = "1.5.0"
748 | source = "registry+https://github.com/rust-lang/crates.io-index"
749 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
750 |
751 | [[package]]
752 | name = "icu_provider"
753 | version = "1.5.0"
754 | source = "registry+https://github.com/rust-lang/crates.io-index"
755 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
756 | dependencies = [
757 | "displaydoc",
758 | "icu_locid",
759 | "icu_provider_macros",
760 | "stable_deref_trait",
761 | "tinystr",
762 | "writeable",
763 | "yoke",
764 | "zerofrom",
765 | "zerovec",
766 | ]
767 |
768 | [[package]]
769 | name = "icu_provider_macros"
770 | version = "1.5.0"
771 | source = "registry+https://github.com/rust-lang/crates.io-index"
772 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
773 | dependencies = [
774 | "proc-macro2",
775 | "quote",
776 | "syn",
777 | ]
778 |
779 | [[package]]
780 | name = "idna"
781 | version = "1.0.3"
782 | source = "registry+https://github.com/rust-lang/crates.io-index"
783 | checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
784 | dependencies = [
785 | "idna_adapter",
786 | "smallvec",
787 | "utf8_iter",
788 | ]
789 |
790 | [[package]]
791 | name = "idna_adapter"
792 | version = "1.2.0"
793 | source = "registry+https://github.com/rust-lang/crates.io-index"
794 | checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
795 | dependencies = [
796 | "icu_normalizer",
797 | "icu_properties",
798 | ]
799 |
800 | [[package]]
801 | name = "indenter"
802 | version = "0.3.3"
803 | source = "registry+https://github.com/rust-lang/crates.io-index"
804 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
805 |
806 | [[package]]
807 | name = "indexmap"
808 | version = "2.6.0"
809 | source = "registry+https://github.com/rust-lang/crates.io-index"
810 | checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
811 | dependencies = [
812 | "equivalent",
813 | "hashbrown",
814 | ]
815 |
816 | [[package]]
817 | name = "is-terminal"
818 | version = "0.4.13"
819 | source = "registry+https://github.com/rust-lang/crates.io-index"
820 | checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
821 | dependencies = [
822 | "hermit-abi 0.4.0",
823 | "libc",
824 | "windows-sys 0.52.0",
825 | ]
826 |
827 | [[package]]
828 | name = "is_ci"
829 | version = "1.2.0"
830 | source = "registry+https://github.com/rust-lang/crates.io-index"
831 | checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45"
832 |
833 | [[package]]
834 | name = "itertools"
835 | version = "0.13.0"
836 | source = "registry+https://github.com/rust-lang/crates.io-index"
837 | checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
838 | dependencies = [
839 | "either",
840 | ]
841 |
842 | [[package]]
843 | name = "itoa"
844 | version = "1.0.13"
845 | source = "registry+https://github.com/rust-lang/crates.io-index"
846 | checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2"
847 |
848 | [[package]]
849 | name = "js-sys"
850 | version = "0.3.72"
851 | source = "registry+https://github.com/rust-lang/crates.io-index"
852 | checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
853 | dependencies = [
854 | "wasm-bindgen",
855 | ]
856 |
857 | [[package]]
858 | name = "kstring"
859 | version = "2.0.2"
860 | source = "registry+https://github.com/rust-lang/crates.io-index"
861 | checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1"
862 | dependencies = [
863 | "serde",
864 | "static_assertions",
865 | ]
866 |
867 | [[package]]
868 | name = "lazy_static"
869 | version = "1.5.0"
870 | source = "registry+https://github.com/rust-lang/crates.io-index"
871 | checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
872 |
873 | [[package]]
874 | name = "libc"
875 | version = "0.2.164"
876 | source = "registry+https://github.com/rust-lang/crates.io-index"
877 | checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f"
878 |
879 | [[package]]
880 | name = "libloading"
881 | version = "0.8.5"
882 | source = "registry+https://github.com/rust-lang/crates.io-index"
883 | checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
884 | dependencies = [
885 | "cfg-if",
886 | "windows-targets",
887 | ]
888 |
889 | [[package]]
890 | name = "libm"
891 | version = "0.2.11"
892 | source = "registry+https://github.com/rust-lang/crates.io-index"
893 | checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
894 |
895 | [[package]]
896 | name = "linux-raw-sys"
897 | version = "0.4.14"
898 | source = "registry+https://github.com/rust-lang/crates.io-index"
899 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
900 |
901 | [[package]]
902 | name = "liquid"
903 | version = "0.26.9"
904 | source = "registry+https://github.com/rust-lang/crates.io-index"
905 | checksum = "7cdcc72b82748f47c2933c172313f5a9aea5b2c4eb3fa4c66b4ea55bb60bb4b1"
906 | dependencies = [
907 | "doc-comment",
908 | "liquid-core",
909 | "liquid-derive",
910 | "liquid-lib",
911 | "serde",
912 | ]
913 |
914 | [[package]]
915 | name = "liquid-core"
916 | version = "0.26.9"
917 | source = "registry+https://github.com/rust-lang/crates.io-index"
918 | checksum = "2752e978ffc53670f3f2e8b3ef09f348d6f7b5474a3be3f8a5befe5382e4effb"
919 | dependencies = [
920 | "anymap2",
921 | "itertools",
922 | "kstring",
923 | "liquid-derive",
924 | "num-traits",
925 | "pest",
926 | "pest_derive",
927 | "regex",
928 | "serde",
929 | "time",
930 | ]
931 |
932 | [[package]]
933 | name = "liquid-derive"
934 | version = "0.26.8"
935 | source = "registry+https://github.com/rust-lang/crates.io-index"
936 | checksum = "3b51f1d220e3fa869e24cfd75915efe3164bd09bb11b3165db3f37f57bf673e3"
937 | dependencies = [
938 | "proc-macro2",
939 | "quote",
940 | "syn",
941 | ]
942 |
943 | [[package]]
944 | name = "liquid-lib"
945 | version = "0.26.9"
946 | source = "registry+https://github.com/rust-lang/crates.io-index"
947 | checksum = "59b1a298d3d2287ee5b1e43840d885b8fdfc37d3f4e90d82aacfd04d021618da"
948 | dependencies = [
949 | "itertools",
950 | "liquid-core",
951 | "once_cell",
952 | "percent-encoding",
953 | "regex",
954 | "time",
955 | "unicode-segmentation",
956 | ]
957 |
958 | [[package]]
959 | name = "litemap"
960 | version = "0.7.3"
961 | source = "registry+https://github.com/rust-lang/crates.io-index"
962 | checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
963 |
964 | [[package]]
965 | name = "lock_api"
966 | version = "0.4.12"
967 | source = "registry+https://github.com/rust-lang/crates.io-index"
968 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
969 | dependencies = [
970 | "autocfg",
971 | "scopeguard",
972 | ]
973 |
974 | [[package]]
975 | name = "log"
976 | version = "0.4.22"
977 | source = "registry+https://github.com/rust-lang/crates.io-index"
978 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
979 |
980 | [[package]]
981 | name = "md-5"
982 | version = "0.10.6"
983 | source = "registry+https://github.com/rust-lang/crates.io-index"
984 | checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
985 | dependencies = [
986 | "cfg-if",
987 | "digest",
988 | ]
989 |
990 | [[package]]
991 | name = "memchr"
992 | version = "2.7.4"
993 | source = "registry+https://github.com/rust-lang/crates.io-index"
994 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
995 |
996 | [[package]]
997 | name = "minimal-lexical"
998 | version = "0.2.1"
999 | source = "registry+https://github.com/rust-lang/crates.io-index"
1000 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
1001 |
1002 | [[package]]
1003 | name = "miniz_oxide"
1004 | version = "0.8.0"
1005 | source = "registry+https://github.com/rust-lang/crates.io-index"
1006 | checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
1007 | dependencies = [
1008 | "adler2",
1009 | ]
1010 |
1011 | [[package]]
1012 | name = "mio"
1013 | version = "1.0.2"
1014 | source = "registry+https://github.com/rust-lang/crates.io-index"
1015 | checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
1016 | dependencies = [
1017 | "hermit-abi 0.3.9",
1018 | "libc",
1019 | "wasi",
1020 | "windows-sys 0.52.0",
1021 | ]
1022 |
1023 | [[package]]
1024 | name = "nom"
1025 | version = "7.1.3"
1026 | source = "registry+https://github.com/rust-lang/crates.io-index"
1027 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
1028 | dependencies = [
1029 | "memchr",
1030 | "minimal-lexical",
1031 | ]
1032 |
1033 | [[package]]
1034 | name = "ntapi"
1035 | version = "0.4.1"
1036 | source = "registry+https://github.com/rust-lang/crates.io-index"
1037 | checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
1038 | dependencies = [
1039 | "winapi",
1040 | ]
1041 |
1042 | [[package]]
1043 | name = "num-conv"
1044 | version = "0.1.0"
1045 | source = "registry+https://github.com/rust-lang/crates.io-index"
1046 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
1047 |
1048 | [[package]]
1049 | name = "num-traits"
1050 | version = "0.2.19"
1051 | source = "registry+https://github.com/rust-lang/crates.io-index"
1052 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1053 | dependencies = [
1054 | "autocfg",
1055 | "libm",
1056 | ]
1057 |
1058 | [[package]]
1059 | name = "object"
1060 | version = "0.36.5"
1061 | source = "registry+https://github.com/rust-lang/crates.io-index"
1062 | checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
1063 | dependencies = [
1064 | "memchr",
1065 | ]
1066 |
1067 | [[package]]
1068 | name = "once_cell"
1069 | version = "1.20.2"
1070 | source = "registry+https://github.com/rust-lang/crates.io-index"
1071 | checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
1072 |
1073 | [[package]]
1074 | name = "owo-colors"
1075 | version = "4.1.0"
1076 | source = "registry+https://github.com/rust-lang/crates.io-index"
1077 | checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56"
1078 | dependencies = [
1079 | "supports-color 2.1.0",
1080 | "supports-color 3.0.1",
1081 | ]
1082 |
1083 | [[package]]
1084 | name = "parking_lot"
1085 | version = "0.12.3"
1086 | source = "registry+https://github.com/rust-lang/crates.io-index"
1087 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
1088 | dependencies = [
1089 | "lock_api",
1090 | "parking_lot_core",
1091 | ]
1092 |
1093 | [[package]]
1094 | name = "parking_lot_core"
1095 | version = "0.9.10"
1096 | source = "registry+https://github.com/rust-lang/crates.io-index"
1097 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
1098 | dependencies = [
1099 | "cfg-if",
1100 | "libc",
1101 | "redox_syscall",
1102 | "smallvec",
1103 | "windows-targets",
1104 | ]
1105 |
1106 | [[package]]
1107 | name = "paste"
1108 | version = "1.0.15"
1109 | source = "registry+https://github.com/rust-lang/crates.io-index"
1110 | checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
1111 |
1112 | [[package]]
1113 | name = "pathsearch"
1114 | version = "0.2.0"
1115 | source = "registry+https://github.com/rust-lang/crates.io-index"
1116 | checksum = "da983bc5e582ab17179c190b4b66c7d76c5943a69c6d34df2a2b6bf8a2977b05"
1117 | dependencies = [
1118 | "anyhow",
1119 | "libc",
1120 | ]
1121 |
1122 | [[package]]
1123 | name = "percent-encoding"
1124 | version = "2.3.1"
1125 | source = "registry+https://github.com/rust-lang/crates.io-index"
1126 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1127 |
1128 | [[package]]
1129 | name = "pest"
1130 | version = "2.7.14"
1131 | source = "registry+https://github.com/rust-lang/crates.io-index"
1132 | checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
1133 | dependencies = [
1134 | "memchr",
1135 | "thiserror",
1136 | "ucd-trie",
1137 | ]
1138 |
1139 | [[package]]
1140 | name = "pest_derive"
1141 | version = "2.7.14"
1142 | source = "registry+https://github.com/rust-lang/crates.io-index"
1143 | checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd"
1144 | dependencies = [
1145 | "pest",
1146 | "pest_generator",
1147 | ]
1148 |
1149 | [[package]]
1150 | name = "pest_generator"
1151 | version = "2.7.14"
1152 | source = "registry+https://github.com/rust-lang/crates.io-index"
1153 | checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e"
1154 | dependencies = [
1155 | "pest",
1156 | "pest_meta",
1157 | "proc-macro2",
1158 | "quote",
1159 | "syn",
1160 | ]
1161 |
1162 | [[package]]
1163 | name = "pest_meta"
1164 | version = "2.7.14"
1165 | source = "registry+https://github.com/rust-lang/crates.io-index"
1166 | checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d"
1167 | dependencies = [
1168 | "once_cell",
1169 | "pest",
1170 | "sha2",
1171 | ]
1172 |
1173 | [[package]]
1174 | name = "petgraph"
1175 | version = "0.6.5"
1176 | source = "registry+https://github.com/rust-lang/crates.io-index"
1177 | checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
1178 | dependencies = [
1179 | "fixedbitset",
1180 | "indexmap",
1181 | ]
1182 |
1183 | [[package]]
1184 | name = "pg_render"
1185 | version = "0.1.2"
1186 | dependencies = [
1187 | "liquid",
1188 | "pgrx",
1189 | "pgrx-tests",
1190 | ]
1191 |
1192 | [[package]]
1193 | name = "pgrx"
1194 | version = "0.12.8"
1195 | source = "registry+https://github.com/rust-lang/crates.io-index"
1196 | checksum = "c6468e2a7c4085707209cf7f7e14a7b73c8b7f41fc716283024a09180b620a45"
1197 | dependencies = [
1198 | "atomic-traits",
1199 | "bitflags",
1200 | "bitvec",
1201 | "enum-map",
1202 | "heapless",
1203 | "libc",
1204 | "once_cell",
1205 | "pgrx-macros",
1206 | "pgrx-pg-sys",
1207 | "pgrx-sql-entity-graph",
1208 | "seahash",
1209 | "serde",
1210 | "serde_cbor",
1211 | "serde_json",
1212 | "thiserror",
1213 | "uuid",
1214 | ]
1215 |
1216 | [[package]]
1217 | name = "pgrx-bindgen"
1218 | version = "0.12.8"
1219 | source = "registry+https://github.com/rust-lang/crates.io-index"
1220 | checksum = "04d822012e4919882cb9b1851ae9e4b4b03703ddf2ef4af3522025c8944e9c7d"
1221 | dependencies = [
1222 | "bindgen",
1223 | "cc",
1224 | "clang-sys",
1225 | "eyre",
1226 | "pgrx-pg-config",
1227 | "proc-macro2",
1228 | "quote",
1229 | "shlex",
1230 | "syn",
1231 | "walkdir",
1232 | ]
1233 |
1234 | [[package]]
1235 | name = "pgrx-macros"
1236 | version = "0.12.8"
1237 | source = "registry+https://github.com/rust-lang/crates.io-index"
1238 | checksum = "52ffdb879a3880d3034661b4d19f802029abfcde6b8232299f4d4d2c202680af"
1239 | dependencies = [
1240 | "pgrx-sql-entity-graph",
1241 | "proc-macro2",
1242 | "quote",
1243 | "syn",
1244 | ]
1245 |
1246 | [[package]]
1247 | name = "pgrx-pg-config"
1248 | version = "0.12.8"
1249 | source = "registry+https://github.com/rust-lang/crates.io-index"
1250 | checksum = "945d664e710e4dcccd459628c6e58b3ccbd0495d2ed751b1d6f73996ceca01a2"
1251 | dependencies = [
1252 | "cargo_toml",
1253 | "eyre",
1254 | "home",
1255 | "owo-colors",
1256 | "pathsearch",
1257 | "serde",
1258 | "serde_json",
1259 | "thiserror",
1260 | "toml",
1261 | "url",
1262 | ]
1263 |
1264 | [[package]]
1265 | name = "pgrx-pg-sys"
1266 | version = "0.12.8"
1267 | source = "registry+https://github.com/rust-lang/crates.io-index"
1268 | checksum = "489c96adc8af0b917165f47a11e25f77753e227144aa3790be7e241afab9886c"
1269 | dependencies = [
1270 | "cee-scape",
1271 | "libc",
1272 | "pgrx-bindgen",
1273 | "pgrx-macros",
1274 | "pgrx-sql-entity-graph",
1275 | "serde",
1276 | "sptr",
1277 | ]
1278 |
1279 | [[package]]
1280 | name = "pgrx-sql-entity-graph"
1281 | version = "0.12.8"
1282 | source = "registry+https://github.com/rust-lang/crates.io-index"
1283 | checksum = "de77a74f3dc80283a97322ab4d65f9f81691eb54d0a5b7c37b93686d351c6096"
1284 | dependencies = [
1285 | "convert_case",
1286 | "eyre",
1287 | "petgraph",
1288 | "proc-macro2",
1289 | "quote",
1290 | "syn",
1291 | "thiserror",
1292 | "unescape",
1293 | ]
1294 |
1295 | [[package]]
1296 | name = "pgrx-tests"
1297 | version = "0.12.8"
1298 | source = "registry+https://github.com/rust-lang/crates.io-index"
1299 | checksum = "73cbf89286dda64fb8ee2126794d140de2294d0b8e04604b5ecddd6ee291fbae"
1300 | dependencies = [
1301 | "clap-cargo",
1302 | "eyre",
1303 | "libc",
1304 | "owo-colors",
1305 | "paste",
1306 | "pgrx",
1307 | "pgrx-macros",
1308 | "pgrx-pg-config",
1309 | "postgres",
1310 | "proptest",
1311 | "rand",
1312 | "regex",
1313 | "serde",
1314 | "serde_json",
1315 | "sysinfo",
1316 | "thiserror",
1317 | ]
1318 |
1319 | [[package]]
1320 | name = "phf"
1321 | version = "0.11.2"
1322 | source = "registry+https://github.com/rust-lang/crates.io-index"
1323 | checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
1324 | dependencies = [
1325 | "phf_shared",
1326 | ]
1327 |
1328 | [[package]]
1329 | name = "phf_shared"
1330 | version = "0.11.2"
1331 | source = "registry+https://github.com/rust-lang/crates.io-index"
1332 | checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
1333 | dependencies = [
1334 | "siphasher",
1335 | ]
1336 |
1337 | [[package]]
1338 | name = "pin-project-lite"
1339 | version = "0.2.15"
1340 | source = "registry+https://github.com/rust-lang/crates.io-index"
1341 | checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
1342 |
1343 | [[package]]
1344 | name = "pin-utils"
1345 | version = "0.1.0"
1346 | source = "registry+https://github.com/rust-lang/crates.io-index"
1347 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1348 |
1349 | [[package]]
1350 | name = "postgres"
1351 | version = "0.19.9"
1352 | source = "registry+https://github.com/rust-lang/crates.io-index"
1353 | checksum = "95c918733159f4d55d2ceb262950f00b0aebd6af4aa97b5a47bb0655120475ed"
1354 | dependencies = [
1355 | "bytes",
1356 | "fallible-iterator",
1357 | "futures-util",
1358 | "log",
1359 | "tokio",
1360 | "tokio-postgres",
1361 | ]
1362 |
1363 | [[package]]
1364 | name = "postgres-protocol"
1365 | version = "0.6.7"
1366 | source = "registry+https://github.com/rust-lang/crates.io-index"
1367 | checksum = "acda0ebdebc28befa84bee35e651e4c5f09073d668c7aed4cf7e23c3cda84b23"
1368 | dependencies = [
1369 | "base64",
1370 | "byteorder",
1371 | "bytes",
1372 | "fallible-iterator",
1373 | "hmac",
1374 | "md-5",
1375 | "memchr",
1376 | "rand",
1377 | "sha2",
1378 | "stringprep",
1379 | ]
1380 |
1381 | [[package]]
1382 | name = "postgres-types"
1383 | version = "0.2.8"
1384 | source = "registry+https://github.com/rust-lang/crates.io-index"
1385 | checksum = "f66ea23a2d0e5734297357705193335e0a957696f34bed2f2faefacb2fec336f"
1386 | dependencies = [
1387 | "bytes",
1388 | "fallible-iterator",
1389 | "postgres-protocol",
1390 | ]
1391 |
1392 | [[package]]
1393 | name = "powerfmt"
1394 | version = "0.2.0"
1395 | source = "registry+https://github.com/rust-lang/crates.io-index"
1396 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
1397 |
1398 | [[package]]
1399 | name = "ppv-lite86"
1400 | version = "0.2.20"
1401 | source = "registry+https://github.com/rust-lang/crates.io-index"
1402 | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
1403 | dependencies = [
1404 | "zerocopy",
1405 | ]
1406 |
1407 | [[package]]
1408 | name = "proc-macro2"
1409 | version = "1.0.91"
1410 | source = "registry+https://github.com/rust-lang/crates.io-index"
1411 | checksum = "307e3004becf10f5a6e0d59d20f3cd28231b0e0827a96cd3e0ce6d14bc1e4bb3"
1412 | dependencies = [
1413 | "unicode-ident",
1414 | ]
1415 |
1416 | [[package]]
1417 | name = "proptest"
1418 | version = "1.5.0"
1419 | source = "registry+https://github.com/rust-lang/crates.io-index"
1420 | checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d"
1421 | dependencies = [
1422 | "bit-set",
1423 | "bit-vec",
1424 | "bitflags",
1425 | "lazy_static",
1426 | "num-traits",
1427 | "rand",
1428 | "rand_chacha",
1429 | "rand_xorshift",
1430 | "regex-syntax",
1431 | "rusty-fork",
1432 | "tempfile",
1433 | "unarray",
1434 | ]
1435 |
1436 | [[package]]
1437 | name = "quick-error"
1438 | version = "1.2.3"
1439 | source = "registry+https://github.com/rust-lang/crates.io-index"
1440 | checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
1441 |
1442 | [[package]]
1443 | name = "quote"
1444 | version = "1.0.37"
1445 | source = "registry+https://github.com/rust-lang/crates.io-index"
1446 | checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
1447 | dependencies = [
1448 | "proc-macro2",
1449 | ]
1450 |
1451 | [[package]]
1452 | name = "radium"
1453 | version = "0.7.0"
1454 | source = "registry+https://github.com/rust-lang/crates.io-index"
1455 | checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
1456 |
1457 | [[package]]
1458 | name = "rand"
1459 | version = "0.8.5"
1460 | source = "registry+https://github.com/rust-lang/crates.io-index"
1461 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1462 | dependencies = [
1463 | "libc",
1464 | "rand_chacha",
1465 | "rand_core",
1466 | ]
1467 |
1468 | [[package]]
1469 | name = "rand_chacha"
1470 | version = "0.3.1"
1471 | source = "registry+https://github.com/rust-lang/crates.io-index"
1472 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1473 | dependencies = [
1474 | "ppv-lite86",
1475 | "rand_core",
1476 | ]
1477 |
1478 | [[package]]
1479 | name = "rand_core"
1480 | version = "0.6.4"
1481 | source = "registry+https://github.com/rust-lang/crates.io-index"
1482 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1483 | dependencies = [
1484 | "getrandom",
1485 | ]
1486 |
1487 | [[package]]
1488 | name = "rand_xorshift"
1489 | version = "0.3.0"
1490 | source = "registry+https://github.com/rust-lang/crates.io-index"
1491 | checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
1492 | dependencies = [
1493 | "rand_core",
1494 | ]
1495 |
1496 | [[package]]
1497 | name = "rayon"
1498 | version = "1.10.0"
1499 | source = "registry+https://github.com/rust-lang/crates.io-index"
1500 | checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
1501 | dependencies = [
1502 | "either",
1503 | "rayon-core",
1504 | ]
1505 |
1506 | [[package]]
1507 | name = "rayon-core"
1508 | version = "1.12.1"
1509 | source = "registry+https://github.com/rust-lang/crates.io-index"
1510 | checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
1511 | dependencies = [
1512 | "crossbeam-deque",
1513 | "crossbeam-utils",
1514 | ]
1515 |
1516 | [[package]]
1517 | name = "redox_syscall"
1518 | version = "0.5.7"
1519 | source = "registry+https://github.com/rust-lang/crates.io-index"
1520 | checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
1521 | dependencies = [
1522 | "bitflags",
1523 | ]
1524 |
1525 | [[package]]
1526 | name = "regex"
1527 | version = "1.11.1"
1528 | source = "registry+https://github.com/rust-lang/crates.io-index"
1529 | checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
1530 | dependencies = [
1531 | "aho-corasick",
1532 | "memchr",
1533 | "regex-automata",
1534 | "regex-syntax",
1535 | ]
1536 |
1537 | [[package]]
1538 | name = "regex-automata"
1539 | version = "0.4.9"
1540 | source = "registry+https://github.com/rust-lang/crates.io-index"
1541 | checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
1542 | dependencies = [
1543 | "aho-corasick",
1544 | "memchr",
1545 | "regex-syntax",
1546 | ]
1547 |
1548 | [[package]]
1549 | name = "regex-syntax"
1550 | version = "0.8.5"
1551 | source = "registry+https://github.com/rust-lang/crates.io-index"
1552 | checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
1553 |
1554 | [[package]]
1555 | name = "rustc-demangle"
1556 | version = "0.1.24"
1557 | source = "registry+https://github.com/rust-lang/crates.io-index"
1558 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1559 |
1560 | [[package]]
1561 | name = "rustc-hash"
1562 | version = "1.1.0"
1563 | source = "registry+https://github.com/rust-lang/crates.io-index"
1564 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1565 |
1566 | [[package]]
1567 | name = "rustc_version"
1568 | version = "0.3.3"
1569 | source = "registry+https://github.com/rust-lang/crates.io-index"
1570 | checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
1571 | dependencies = [
1572 | "semver 0.11.0",
1573 | ]
1574 |
1575 | [[package]]
1576 | name = "rustix"
1577 | version = "0.38.41"
1578 | source = "registry+https://github.com/rust-lang/crates.io-index"
1579 | checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6"
1580 | dependencies = [
1581 | "bitflags",
1582 | "errno",
1583 | "libc",
1584 | "linux-raw-sys",
1585 | "windows-sys 0.52.0",
1586 | ]
1587 |
1588 | [[package]]
1589 | name = "rusty-fork"
1590 | version = "0.3.0"
1591 | source = "registry+https://github.com/rust-lang/crates.io-index"
1592 | checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
1593 | dependencies = [
1594 | "fnv",
1595 | "quick-error",
1596 | "tempfile",
1597 | "wait-timeout",
1598 | ]
1599 |
1600 | [[package]]
1601 | name = "ryu"
1602 | version = "1.0.18"
1603 | source = "registry+https://github.com/rust-lang/crates.io-index"
1604 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
1605 |
1606 | [[package]]
1607 | name = "same-file"
1608 | version = "1.0.6"
1609 | source = "registry+https://github.com/rust-lang/crates.io-index"
1610 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
1611 | dependencies = [
1612 | "winapi-util",
1613 | ]
1614 |
1615 | [[package]]
1616 | name = "scopeguard"
1617 | version = "1.2.0"
1618 | source = "registry+https://github.com/rust-lang/crates.io-index"
1619 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1620 |
1621 | [[package]]
1622 | name = "seahash"
1623 | version = "4.1.0"
1624 | source = "registry+https://github.com/rust-lang/crates.io-index"
1625 | checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
1626 |
1627 | [[package]]
1628 | name = "semver"
1629 | version = "0.11.0"
1630 | source = "registry+https://github.com/rust-lang/crates.io-index"
1631 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
1632 | dependencies = [
1633 | "semver-parser",
1634 | ]
1635 |
1636 | [[package]]
1637 | name = "semver"
1638 | version = "1.0.23"
1639 | source = "registry+https://github.com/rust-lang/crates.io-index"
1640 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
1641 | dependencies = [
1642 | "serde",
1643 | ]
1644 |
1645 | [[package]]
1646 | name = "semver-parser"
1647 | version = "0.10.3"
1648 | source = "registry+https://github.com/rust-lang/crates.io-index"
1649 | checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2"
1650 | dependencies = [
1651 | "pest",
1652 | ]
1653 |
1654 | [[package]]
1655 | name = "serde"
1656 | version = "1.0.215"
1657 | source = "registry+https://github.com/rust-lang/crates.io-index"
1658 | checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
1659 | dependencies = [
1660 | "serde_derive",
1661 | ]
1662 |
1663 | [[package]]
1664 | name = "serde_cbor"
1665 | version = "0.11.2"
1666 | source = "registry+https://github.com/rust-lang/crates.io-index"
1667 | checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
1668 | dependencies = [
1669 | "half",
1670 | "serde",
1671 | ]
1672 |
1673 | [[package]]
1674 | name = "serde_derive"
1675 | version = "1.0.215"
1676 | source = "registry+https://github.com/rust-lang/crates.io-index"
1677 | checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
1678 | dependencies = [
1679 | "proc-macro2",
1680 | "quote",
1681 | "syn",
1682 | ]
1683 |
1684 | [[package]]
1685 | name = "serde_json"
1686 | version = "1.0.133"
1687 | source = "registry+https://github.com/rust-lang/crates.io-index"
1688 | checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
1689 | dependencies = [
1690 | "itoa",
1691 | "memchr",
1692 | "ryu",
1693 | "serde",
1694 | ]
1695 |
1696 | [[package]]
1697 | name = "serde_spanned"
1698 | version = "0.6.8"
1699 | source = "registry+https://github.com/rust-lang/crates.io-index"
1700 | checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
1701 | dependencies = [
1702 | "serde",
1703 | ]
1704 |
1705 | [[package]]
1706 | name = "sha2"
1707 | version = "0.10.8"
1708 | source = "registry+https://github.com/rust-lang/crates.io-index"
1709 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
1710 | dependencies = [
1711 | "cfg-if",
1712 | "cpufeatures",
1713 | "digest",
1714 | ]
1715 |
1716 | [[package]]
1717 | name = "shlex"
1718 | version = "1.3.0"
1719 | source = "registry+https://github.com/rust-lang/crates.io-index"
1720 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
1721 |
1722 | [[package]]
1723 | name = "siphasher"
1724 | version = "0.3.11"
1725 | source = "registry+https://github.com/rust-lang/crates.io-index"
1726 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
1727 |
1728 | [[package]]
1729 | name = "slab"
1730 | version = "0.4.9"
1731 | source = "registry+https://github.com/rust-lang/crates.io-index"
1732 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
1733 | dependencies = [
1734 | "autocfg",
1735 | ]
1736 |
1737 | [[package]]
1738 | name = "smallvec"
1739 | version = "1.13.2"
1740 | source = "registry+https://github.com/rust-lang/crates.io-index"
1741 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
1742 |
1743 | [[package]]
1744 | name = "socket2"
1745 | version = "0.5.7"
1746 | source = "registry+https://github.com/rust-lang/crates.io-index"
1747 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
1748 | dependencies = [
1749 | "libc",
1750 | "windows-sys 0.52.0",
1751 | ]
1752 |
1753 | [[package]]
1754 | name = "sptr"
1755 | version = "0.3.2"
1756 | source = "registry+https://github.com/rust-lang/crates.io-index"
1757 | checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
1758 |
1759 | [[package]]
1760 | name = "stable_deref_trait"
1761 | version = "1.2.0"
1762 | source = "registry+https://github.com/rust-lang/crates.io-index"
1763 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1764 |
1765 | [[package]]
1766 | name = "static_assertions"
1767 | version = "1.1.0"
1768 | source = "registry+https://github.com/rust-lang/crates.io-index"
1769 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
1770 |
1771 | [[package]]
1772 | name = "stringprep"
1773 | version = "0.1.5"
1774 | source = "registry+https://github.com/rust-lang/crates.io-index"
1775 | checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
1776 | dependencies = [
1777 | "unicode-bidi",
1778 | "unicode-normalization",
1779 | "unicode-properties",
1780 | ]
1781 |
1782 | [[package]]
1783 | name = "subtle"
1784 | version = "2.6.1"
1785 | source = "registry+https://github.com/rust-lang/crates.io-index"
1786 | checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1787 |
1788 | [[package]]
1789 | name = "supports-color"
1790 | version = "2.1.0"
1791 | source = "registry+https://github.com/rust-lang/crates.io-index"
1792 | checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89"
1793 | dependencies = [
1794 | "is-terminal",
1795 | "is_ci",
1796 | ]
1797 |
1798 | [[package]]
1799 | name = "supports-color"
1800 | version = "3.0.1"
1801 | source = "registry+https://github.com/rust-lang/crates.io-index"
1802 | checksum = "8775305acf21c96926c900ad056abeef436701108518cf890020387236ac5a77"
1803 | dependencies = [
1804 | "is_ci",
1805 | ]
1806 |
1807 | [[package]]
1808 | name = "syn"
1809 | version = "2.0.89"
1810 | source = "registry+https://github.com/rust-lang/crates.io-index"
1811 | checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e"
1812 | dependencies = [
1813 | "proc-macro2",
1814 | "quote",
1815 | "unicode-ident",
1816 | ]
1817 |
1818 | [[package]]
1819 | name = "synstructure"
1820 | version = "0.13.1"
1821 | source = "registry+https://github.com/rust-lang/crates.io-index"
1822 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
1823 | dependencies = [
1824 | "proc-macro2",
1825 | "quote",
1826 | "syn",
1827 | ]
1828 |
1829 | [[package]]
1830 | name = "sysinfo"
1831 | version = "0.30.13"
1832 | source = "registry+https://github.com/rust-lang/crates.io-index"
1833 | checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3"
1834 | dependencies = [
1835 | "cfg-if",
1836 | "core-foundation-sys",
1837 | "libc",
1838 | "ntapi",
1839 | "once_cell",
1840 | "rayon",
1841 | "windows",
1842 | ]
1843 |
1844 | [[package]]
1845 | name = "tap"
1846 | version = "1.0.1"
1847 | source = "registry+https://github.com/rust-lang/crates.io-index"
1848 | checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
1849 |
1850 | [[package]]
1851 | name = "tempfile"
1852 | version = "3.14.0"
1853 | source = "registry+https://github.com/rust-lang/crates.io-index"
1854 | checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"
1855 | dependencies = [
1856 | "cfg-if",
1857 | "fastrand",
1858 | "once_cell",
1859 | "rustix",
1860 | "windows-sys 0.59.0",
1861 | ]
1862 |
1863 | [[package]]
1864 | name = "thiserror"
1865 | version = "1.0.69"
1866 | source = "registry+https://github.com/rust-lang/crates.io-index"
1867 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
1868 | dependencies = [
1869 | "thiserror-impl",
1870 | ]
1871 |
1872 | [[package]]
1873 | name = "thiserror-impl"
1874 | version = "1.0.69"
1875 | source = "registry+https://github.com/rust-lang/crates.io-index"
1876 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
1877 | dependencies = [
1878 | "proc-macro2",
1879 | "quote",
1880 | "syn",
1881 | ]
1882 |
1883 | [[package]]
1884 | name = "time"
1885 | version = "0.3.36"
1886 | source = "registry+https://github.com/rust-lang/crates.io-index"
1887 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
1888 | dependencies = [
1889 | "deranged",
1890 | "itoa",
1891 | "num-conv",
1892 | "powerfmt",
1893 | "serde",
1894 | "time-core",
1895 | "time-macros",
1896 | ]
1897 |
1898 | [[package]]
1899 | name = "time-core"
1900 | version = "0.1.2"
1901 | source = "registry+https://github.com/rust-lang/crates.io-index"
1902 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
1903 |
1904 | [[package]]
1905 | name = "time-macros"
1906 | version = "0.2.18"
1907 | source = "registry+https://github.com/rust-lang/crates.io-index"
1908 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
1909 | dependencies = [
1910 | "num-conv",
1911 | "time-core",
1912 | ]
1913 |
1914 | [[package]]
1915 | name = "tinystr"
1916 | version = "0.7.6"
1917 | source = "registry+https://github.com/rust-lang/crates.io-index"
1918 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
1919 | dependencies = [
1920 | "displaydoc",
1921 | "zerovec",
1922 | ]
1923 |
1924 | [[package]]
1925 | name = "tinyvec"
1926 | version = "1.8.0"
1927 | source = "registry+https://github.com/rust-lang/crates.io-index"
1928 | checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
1929 | dependencies = [
1930 | "tinyvec_macros",
1931 | ]
1932 |
1933 | [[package]]
1934 | name = "tinyvec_macros"
1935 | version = "0.1.1"
1936 | source = "registry+https://github.com/rust-lang/crates.io-index"
1937 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1938 |
1939 | [[package]]
1940 | name = "tokio"
1941 | version = "1.41.1"
1942 | source = "registry+https://github.com/rust-lang/crates.io-index"
1943 | checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
1944 | dependencies = [
1945 | "backtrace",
1946 | "bytes",
1947 | "libc",
1948 | "mio",
1949 | "pin-project-lite",
1950 | "socket2",
1951 | "windows-sys 0.52.0",
1952 | ]
1953 |
1954 | [[package]]
1955 | name = "tokio-postgres"
1956 | version = "0.7.12"
1957 | source = "registry+https://github.com/rust-lang/crates.io-index"
1958 | checksum = "3b5d3742945bc7d7f210693b0c58ae542c6fd47b17adbbda0885f3dcb34a6bdb"
1959 | dependencies = [
1960 | "async-trait",
1961 | "byteorder",
1962 | "bytes",
1963 | "fallible-iterator",
1964 | "futures-channel",
1965 | "futures-util",
1966 | "log",
1967 | "parking_lot",
1968 | "percent-encoding",
1969 | "phf",
1970 | "pin-project-lite",
1971 | "postgres-protocol",
1972 | "postgres-types",
1973 | "rand",
1974 | "socket2",
1975 | "tokio",
1976 | "tokio-util",
1977 | "whoami",
1978 | ]
1979 |
1980 | [[package]]
1981 | name = "tokio-util"
1982 | version = "0.7.12"
1983 | source = "registry+https://github.com/rust-lang/crates.io-index"
1984 | checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
1985 | dependencies = [
1986 | "bytes",
1987 | "futures-core",
1988 | "futures-sink",
1989 | "pin-project-lite",
1990 | "tokio",
1991 | ]
1992 |
1993 | [[package]]
1994 | name = "toml"
1995 | version = "0.8.19"
1996 | source = "registry+https://github.com/rust-lang/crates.io-index"
1997 | checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
1998 | dependencies = [
1999 | "serde",
2000 | "serde_spanned",
2001 | "toml_datetime",
2002 | "toml_edit",
2003 | ]
2004 |
2005 | [[package]]
2006 | name = "toml_datetime"
2007 | version = "0.6.8"
2008 | source = "registry+https://github.com/rust-lang/crates.io-index"
2009 | checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
2010 | dependencies = [
2011 | "serde",
2012 | ]
2013 |
2014 | [[package]]
2015 | name = "toml_edit"
2016 | version = "0.22.22"
2017 | source = "registry+https://github.com/rust-lang/crates.io-index"
2018 | checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
2019 | dependencies = [
2020 | "indexmap",
2021 | "serde",
2022 | "serde_spanned",
2023 | "toml_datetime",
2024 | "winnow",
2025 | ]
2026 |
2027 | [[package]]
2028 | name = "typenum"
2029 | version = "1.17.0"
2030 | source = "registry+https://github.com/rust-lang/crates.io-index"
2031 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
2032 |
2033 | [[package]]
2034 | name = "ucd-trie"
2035 | version = "0.1.7"
2036 | source = "registry+https://github.com/rust-lang/crates.io-index"
2037 | checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
2038 |
2039 | [[package]]
2040 | name = "unarray"
2041 | version = "0.1.4"
2042 | source = "registry+https://github.com/rust-lang/crates.io-index"
2043 | checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
2044 |
2045 | [[package]]
2046 | name = "unescape"
2047 | version = "0.1.0"
2048 | source = "registry+https://github.com/rust-lang/crates.io-index"
2049 | checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e"
2050 |
2051 | [[package]]
2052 | name = "unicode-bidi"
2053 | version = "0.3.17"
2054 | source = "registry+https://github.com/rust-lang/crates.io-index"
2055 | checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
2056 |
2057 | [[package]]
2058 | name = "unicode-ident"
2059 | version = "1.0.14"
2060 | source = "registry+https://github.com/rust-lang/crates.io-index"
2061 | checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
2062 |
2063 | [[package]]
2064 | name = "unicode-normalization"
2065 | version = "0.1.24"
2066 | source = "registry+https://github.com/rust-lang/crates.io-index"
2067 | checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
2068 | dependencies = [
2069 | "tinyvec",
2070 | ]
2071 |
2072 | [[package]]
2073 | name = "unicode-properties"
2074 | version = "0.1.3"
2075 | source = "registry+https://github.com/rust-lang/crates.io-index"
2076 | checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
2077 |
2078 | [[package]]
2079 | name = "unicode-segmentation"
2080 | version = "1.12.0"
2081 | source = "registry+https://github.com/rust-lang/crates.io-index"
2082 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
2083 |
2084 | [[package]]
2085 | name = "unicode-width"
2086 | version = "0.1.14"
2087 | source = "registry+https://github.com/rust-lang/crates.io-index"
2088 | checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
2089 |
2090 | [[package]]
2091 | name = "url"
2092 | version = "2.5.3"
2093 | source = "registry+https://github.com/rust-lang/crates.io-index"
2094 | checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada"
2095 | dependencies = [
2096 | "form_urlencoded",
2097 | "idna",
2098 | "percent-encoding",
2099 | ]
2100 |
2101 | [[package]]
2102 | name = "utf16_iter"
2103 | version = "1.0.5"
2104 | source = "registry+https://github.com/rust-lang/crates.io-index"
2105 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
2106 |
2107 | [[package]]
2108 | name = "utf8_iter"
2109 | version = "1.0.4"
2110 | source = "registry+https://github.com/rust-lang/crates.io-index"
2111 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2112 |
2113 | [[package]]
2114 | name = "uuid"
2115 | version = "1.11.0"
2116 | source = "registry+https://github.com/rust-lang/crates.io-index"
2117 | checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a"
2118 | dependencies = [
2119 | "getrandom",
2120 | ]
2121 |
2122 | [[package]]
2123 | name = "version_check"
2124 | version = "0.9.5"
2125 | source = "registry+https://github.com/rust-lang/crates.io-index"
2126 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2127 |
2128 | [[package]]
2129 | name = "wait-timeout"
2130 | version = "0.2.0"
2131 | source = "registry+https://github.com/rust-lang/crates.io-index"
2132 | checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
2133 | dependencies = [
2134 | "libc",
2135 | ]
2136 |
2137 | [[package]]
2138 | name = "walkdir"
2139 | version = "2.5.0"
2140 | source = "registry+https://github.com/rust-lang/crates.io-index"
2141 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
2142 | dependencies = [
2143 | "same-file",
2144 | "winapi-util",
2145 | ]
2146 |
2147 | [[package]]
2148 | name = "wasi"
2149 | version = "0.11.0+wasi-snapshot-preview1"
2150 | source = "registry+https://github.com/rust-lang/crates.io-index"
2151 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
2152 |
2153 | [[package]]
2154 | name = "wasite"
2155 | version = "0.1.0"
2156 | source = "registry+https://github.com/rust-lang/crates.io-index"
2157 | checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
2158 |
2159 | [[package]]
2160 | name = "wasm-bindgen"
2161 | version = "0.2.95"
2162 | source = "registry+https://github.com/rust-lang/crates.io-index"
2163 | checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
2164 | dependencies = [
2165 | "cfg-if",
2166 | "once_cell",
2167 | "wasm-bindgen-macro",
2168 | ]
2169 |
2170 | [[package]]
2171 | name = "wasm-bindgen-backend"
2172 | version = "0.2.95"
2173 | source = "registry+https://github.com/rust-lang/crates.io-index"
2174 | checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
2175 | dependencies = [
2176 | "bumpalo",
2177 | "log",
2178 | "once_cell",
2179 | "proc-macro2",
2180 | "quote",
2181 | "syn",
2182 | "wasm-bindgen-shared",
2183 | ]
2184 |
2185 | [[package]]
2186 | name = "wasm-bindgen-macro"
2187 | version = "0.2.95"
2188 | source = "registry+https://github.com/rust-lang/crates.io-index"
2189 | checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
2190 | dependencies = [
2191 | "quote",
2192 | "wasm-bindgen-macro-support",
2193 | ]
2194 |
2195 | [[package]]
2196 | name = "wasm-bindgen-macro-support"
2197 | version = "0.2.95"
2198 | source = "registry+https://github.com/rust-lang/crates.io-index"
2199 | checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
2200 | dependencies = [
2201 | "proc-macro2",
2202 | "quote",
2203 | "syn",
2204 | "wasm-bindgen-backend",
2205 | "wasm-bindgen-shared",
2206 | ]
2207 |
2208 | [[package]]
2209 | name = "wasm-bindgen-shared"
2210 | version = "0.2.95"
2211 | source = "registry+https://github.com/rust-lang/crates.io-index"
2212 | checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
2213 |
2214 | [[package]]
2215 | name = "web-sys"
2216 | version = "0.3.72"
2217 | source = "registry+https://github.com/rust-lang/crates.io-index"
2218 | checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
2219 | dependencies = [
2220 | "js-sys",
2221 | "wasm-bindgen",
2222 | ]
2223 |
2224 | [[package]]
2225 | name = "whoami"
2226 | version = "1.5.2"
2227 | source = "registry+https://github.com/rust-lang/crates.io-index"
2228 | checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d"
2229 | dependencies = [
2230 | "redox_syscall",
2231 | "wasite",
2232 | "web-sys",
2233 | ]
2234 |
2235 | [[package]]
2236 | name = "winapi"
2237 | version = "0.3.9"
2238 | source = "registry+https://github.com/rust-lang/crates.io-index"
2239 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
2240 | dependencies = [
2241 | "winapi-i686-pc-windows-gnu",
2242 | "winapi-x86_64-pc-windows-gnu",
2243 | ]
2244 |
2245 | [[package]]
2246 | name = "winapi-i686-pc-windows-gnu"
2247 | version = "0.4.0"
2248 | source = "registry+https://github.com/rust-lang/crates.io-index"
2249 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
2250 |
2251 | [[package]]
2252 | name = "winapi-util"
2253 | version = "0.1.9"
2254 | source = "registry+https://github.com/rust-lang/crates.io-index"
2255 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
2256 | dependencies = [
2257 | "windows-sys 0.59.0",
2258 | ]
2259 |
2260 | [[package]]
2261 | name = "winapi-x86_64-pc-windows-gnu"
2262 | version = "0.4.0"
2263 | source = "registry+https://github.com/rust-lang/crates.io-index"
2264 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2265 |
2266 | [[package]]
2267 | name = "windows"
2268 | version = "0.52.0"
2269 | source = "registry+https://github.com/rust-lang/crates.io-index"
2270 | checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
2271 | dependencies = [
2272 | "windows-core",
2273 | "windows-targets",
2274 | ]
2275 |
2276 | [[package]]
2277 | name = "windows-core"
2278 | version = "0.52.0"
2279 | source = "registry+https://github.com/rust-lang/crates.io-index"
2280 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
2281 | dependencies = [
2282 | "windows-targets",
2283 | ]
2284 |
2285 | [[package]]
2286 | name = "windows-sys"
2287 | version = "0.52.0"
2288 | source = "registry+https://github.com/rust-lang/crates.io-index"
2289 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2290 | dependencies = [
2291 | "windows-targets",
2292 | ]
2293 |
2294 | [[package]]
2295 | name = "windows-sys"
2296 | version = "0.59.0"
2297 | source = "registry+https://github.com/rust-lang/crates.io-index"
2298 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2299 | dependencies = [
2300 | "windows-targets",
2301 | ]
2302 |
2303 | [[package]]
2304 | name = "windows-targets"
2305 | version = "0.52.6"
2306 | source = "registry+https://github.com/rust-lang/crates.io-index"
2307 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2308 | dependencies = [
2309 | "windows_aarch64_gnullvm",
2310 | "windows_aarch64_msvc",
2311 | "windows_i686_gnu",
2312 | "windows_i686_gnullvm",
2313 | "windows_i686_msvc",
2314 | "windows_x86_64_gnu",
2315 | "windows_x86_64_gnullvm",
2316 | "windows_x86_64_msvc",
2317 | ]
2318 |
2319 | [[package]]
2320 | name = "windows_aarch64_gnullvm"
2321 | version = "0.52.6"
2322 | source = "registry+https://github.com/rust-lang/crates.io-index"
2323 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2324 |
2325 | [[package]]
2326 | name = "windows_aarch64_msvc"
2327 | version = "0.52.6"
2328 | source = "registry+https://github.com/rust-lang/crates.io-index"
2329 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2330 |
2331 | [[package]]
2332 | name = "windows_i686_gnu"
2333 | version = "0.52.6"
2334 | source = "registry+https://github.com/rust-lang/crates.io-index"
2335 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2336 |
2337 | [[package]]
2338 | name = "windows_i686_gnullvm"
2339 | version = "0.52.6"
2340 | source = "registry+https://github.com/rust-lang/crates.io-index"
2341 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2342 |
2343 | [[package]]
2344 | name = "windows_i686_msvc"
2345 | version = "0.52.6"
2346 | source = "registry+https://github.com/rust-lang/crates.io-index"
2347 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2348 |
2349 | [[package]]
2350 | name = "windows_x86_64_gnu"
2351 | version = "0.52.6"
2352 | source = "registry+https://github.com/rust-lang/crates.io-index"
2353 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2354 |
2355 | [[package]]
2356 | name = "windows_x86_64_gnullvm"
2357 | version = "0.52.6"
2358 | source = "registry+https://github.com/rust-lang/crates.io-index"
2359 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2360 |
2361 | [[package]]
2362 | name = "windows_x86_64_msvc"
2363 | version = "0.52.6"
2364 | source = "registry+https://github.com/rust-lang/crates.io-index"
2365 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2366 |
2367 | [[package]]
2368 | name = "winnow"
2369 | version = "0.6.20"
2370 | source = "registry+https://github.com/rust-lang/crates.io-index"
2371 | checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
2372 | dependencies = [
2373 | "memchr",
2374 | ]
2375 |
2376 | [[package]]
2377 | name = "write16"
2378 | version = "1.0.0"
2379 | source = "registry+https://github.com/rust-lang/crates.io-index"
2380 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
2381 |
2382 | [[package]]
2383 | name = "writeable"
2384 | version = "0.5.5"
2385 | source = "registry+https://github.com/rust-lang/crates.io-index"
2386 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
2387 |
2388 | [[package]]
2389 | name = "wyz"
2390 | version = "0.5.1"
2391 | source = "registry+https://github.com/rust-lang/crates.io-index"
2392 | checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
2393 | dependencies = [
2394 | "tap",
2395 | ]
2396 |
2397 | [[package]]
2398 | name = "yansi-term"
2399 | version = "0.1.2"
2400 | source = "registry+https://github.com/rust-lang/crates.io-index"
2401 | checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
2402 | dependencies = [
2403 | "winapi",
2404 | ]
2405 |
2406 | [[package]]
2407 | name = "yoke"
2408 | version = "0.7.4"
2409 | source = "registry+https://github.com/rust-lang/crates.io-index"
2410 | checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
2411 | dependencies = [
2412 | "serde",
2413 | "stable_deref_trait",
2414 | "yoke-derive",
2415 | "zerofrom",
2416 | ]
2417 |
2418 | [[package]]
2419 | name = "yoke-derive"
2420 | version = "0.7.4"
2421 | source = "registry+https://github.com/rust-lang/crates.io-index"
2422 | checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
2423 | dependencies = [
2424 | "proc-macro2",
2425 | "quote",
2426 | "syn",
2427 | "synstructure",
2428 | ]
2429 |
2430 | [[package]]
2431 | name = "zerocopy"
2432 | version = "0.7.35"
2433 | source = "registry+https://github.com/rust-lang/crates.io-index"
2434 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
2435 | dependencies = [
2436 | "byteorder",
2437 | "zerocopy-derive",
2438 | ]
2439 |
2440 | [[package]]
2441 | name = "zerocopy-derive"
2442 | version = "0.7.35"
2443 | source = "registry+https://github.com/rust-lang/crates.io-index"
2444 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
2445 | dependencies = [
2446 | "proc-macro2",
2447 | "quote",
2448 | "syn",
2449 | ]
2450 |
2451 | [[package]]
2452 | name = "zerofrom"
2453 | version = "0.1.4"
2454 | source = "registry+https://github.com/rust-lang/crates.io-index"
2455 | checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
2456 | dependencies = [
2457 | "zerofrom-derive",
2458 | ]
2459 |
2460 | [[package]]
2461 | name = "zerofrom-derive"
2462 | version = "0.1.4"
2463 | source = "registry+https://github.com/rust-lang/crates.io-index"
2464 | checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
2465 | dependencies = [
2466 | "proc-macro2",
2467 | "quote",
2468 | "syn",
2469 | "synstructure",
2470 | ]
2471 |
2472 | [[package]]
2473 | name = "zerovec"
2474 | version = "0.10.4"
2475 | source = "registry+https://github.com/rust-lang/crates.io-index"
2476 | checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
2477 | dependencies = [
2478 | "yoke",
2479 | "zerofrom",
2480 | "zerovec-derive",
2481 | ]
2482 |
2483 | [[package]]
2484 | name = "zerovec-derive"
2485 | version = "0.10.3"
2486 | source = "registry+https://github.com/rust-lang/crates.io-index"
2487 | checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
2488 | dependencies = [
2489 | "proc-macro2",
2490 | "quote",
2491 | "syn",
2492 | ]
2493 |
--------------------------------------------------------------------------------