ranarag commited on
Commit
fdde350
·
verified ·
1 Parent(s): 48a8d94

model card upload

Browse files
Files changed (2) hide show
  1. README.md +437 -3
  2. model.sig +1 -1
README.md CHANGED
@@ -1,3 +1,437 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: transformers
4
+ tags:
5
+ - language
6
+ - granite-4.0
7
+ ---
8
+
9
+ # Granite-4.0-1B-Base
10
+
11
+ **Model Summary:**
12
+ Granite-4.0-1B-Base is a lightweight decoder-only language model designed for scenarios where efficiency and speed are critical. They can run on resource-constrained devices such as smartphones or IoT hardware, enabling offline and privacy-preserving applications. It also supports Fill-in-the-Middle (FIM) code completion through the use of specialized prefix and suffix tokens. The model is trained from scratch on approximately 15 trillion tokens following a four-stage training strategy: 10 trillion tokens in the first stage, 2 trillion in the second, another 2 trillion in the third, and 0.5 trillion in the final stage.
13
+
14
+ - **Developers:** Granite Team, IBM
15
+ - **HF Collection:** [Granite 4.0 Nano Language Models HF Collection](https://huggingface.co/collections/ibm-granite/granite-40-nano-language-models-68e5775c80b60e43b72cfa16)
16
+ - **GitHub Repository:** [ibm-granite/granite-4.0-nano-language-models](https://github.com/ibm-granite/granite-4.0-nano-language-models)
17
+ - **Website**: [Granite Docs](https://www.ibm.com/granite/docs/)
18
+ - **Release Date**: October 23, 2025
19
+ - **License:** [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)
20
+
21
+ **Supported Languages:**
22
+ English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. Users may fine-tune Granite 4.0 Nano models to support languages beyond those included in this list.
23
+
24
+ **Intended Use:**
25
+ Prominent use cases of LLMs in text-to-text generation include summarization, text classification, extraction, question-answering and code-completion (including FIM) tasks. Moreover, these lightweight models can serve as baseline to create task-sepcific models for different applications.
26
+
27
+ **Generation:**
28
+ This is a simple example of how to use Granite-4.0-1B-Base model.
29
+
30
+ Install the following libraries:
31
+
32
+ ```shell
33
+ pip install torch torchvision torchaudio
34
+ pip install accelerate
35
+ pip install transformers
36
+ ```
37
+ Then, copy the code snippet below to run the example.
38
+
39
+ ```python
40
+ from transformers import AutoModelForCausalLM, AutoTokenizer
41
+ device = "cuda"
42
+
43
+ model_path = "ibm-granite/granite-4.0-1b-base"
44
+
45
+ tokenizer = AutoTokenizer.from_pretrained(model_path)
46
+ # drop device_map if running on CPU
47
+ model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
48
+ model.eval()
49
+ # change input text as desired
50
+ input_text = "The capital of France is"
51
+ # tokenize the text
52
+ input_tokens = tokenizer(input_text, return_tensors="pt").to(device)
53
+ # generate output tokens
54
+ output = model.generate(**input_tokens, max_length=10)
55
+ # decode output tokens into text
56
+ output = tokenizer.batch_decode(output)
57
+ # print output
58
+ print(output[0])
59
+ ```
60
+
61
+ Expected output:
62
+ ```shell
63
+ The capital of France is Paris.
64
+ ```
65
+
66
+ **Evaluation Results:**
67
+
68
+ <table>
69
+ <thead>
70
+ <tr>
71
+ <th style="text-align:left; background-color: #001d6c; color: white;">Benchmarks</th>
72
+ <th style="text-align:left; background-color: #001d6c; color: white;">Metric</th>
73
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
74
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
75
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
76
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
77
+ </tr>
78
+ </thead>
79
+ <tbody>
80
+ <tr>
81
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
82
+ General Tasks
83
+ </td>
84
+ </tr>
85
+ <tr>
86
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMLU</td>
87
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
88
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">33.08</td>
89
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">36.07</td>
90
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">59.82</td>
91
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">58.71</td>
92
+ </tr>
93
+ <tr>
94
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMLU-Pro</td>
95
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot,CoT</td>
96
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">11.29</td>
97
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">10.08</td>
98
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">29.96</td>
99
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">23.45</td>
100
+ </tr>
101
+ <tr>
102
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">BBH</td>
103
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">3-shot, CoT</td>
104
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">32.19</td>
105
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.96</td>
106
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">57.73</td>
107
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">48.45</td>
108
+ </tr>
109
+ <tr>
110
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">AGI EVAL</td>
111
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">3-shot</td>
112
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">28.97</td>
113
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.2</td>
114
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">48.95</td>
115
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">47.46</td>
116
+ </tr>
117
+ <tr>
118
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">DROP</td>
119
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
120
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.77</td>
121
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">28.56</td>
122
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">58.18</td>
123
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57.18</td>
124
+ </tr>
125
+ <tr>
126
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
127
+ Math Tasks
128
+ </td>
129
+ </tr>
130
+ <tr>
131
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">GSM8K</td>
132
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">8-shot</td>
133
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">24.11</td>
134
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">24.41</td>
135
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">62.4</td>
136
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57.39</td>
137
+ </tr>
138
+ <tr>
139
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">Minerva Math</td>
140
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">4-shot</td>
141
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">9.96</td>
142
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">11.5</td>
143
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">30.3</td>
144
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">21.3</td>
145
+ </tr>
146
+ <tr>
147
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
148
+ Code Tasks
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval</td>
153
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1 [StarCoder Prompt]</td>
154
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">34.6</td>
155
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">35.61</td>
156
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">68.08</td>
157
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">68.26</td>
158
+ </tr>
159
+ <tr>
160
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval</td>
161
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
162
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">32</td>
163
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">34</td>
164
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">60</td>
165
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">59</td>
166
+ </tr>
167
+ <tr>
168
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval+</td>
169
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
170
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29</td>
171
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29</td>
172
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">57</td>
173
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">56</td>
174
+ </tr>
175
+ <tr>
176
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MBPP</td>
177
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
178
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">45</td>
179
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">17</td>
180
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">72</td>
181
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">65</td>
182
+ </tr>
183
+ <tr>
184
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MBPP+</td>
185
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
186
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">38</td>
187
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">16</td>
188
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">60</td>
189
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">54</td>
190
+ </tr>
191
+ <tr>
192
+ <td colspan="10" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
193
+ Multilingual Tasks
194
+ </td>
195
+ </tr>
196
+ <tr>
197
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMMLU</td>
198
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
199
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">30.93</td>
200
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">31.02</td>
201
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">46.73</td>
202
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">48.55</td>
203
+ </tr>
204
+ <tr>
205
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">INCLUDE</td>
206
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
207
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">27.32</td>
208
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.26</td>
209
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">42.6</td>
210
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">43.8</td>
211
+ </tr>
212
+ <tr>
213
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MGSM</td>
214
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">8-shot</td>
215
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">13.92</td>
216
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">15.12</td>
217
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">46.96</td>
218
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">41.52</td>
219
+ </tr>
220
+ </tbody></table>
221
+
222
+ <table>
223
+ <caption><b>Multilingual Benchmarks and thr included languages:</b></caption>
224
+ <thead>
225
+ <tr>
226
+ <th style="text-align:left; background-color: #001d6c; color: white;">Benchmarks</th>
227
+ <th style="text-align:left; background-color: #001d6c; color: white;"># Langs</th>
228
+ <th style="text-align:center; background-color: #001d6c; color: white;">Languages</th>
229
+ </tr>
230
+ </thead>
231
+ <tbody>
232
+ <tr>
233
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMMLU</td>
234
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">11</td>
235
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">ar, de, en, es, fr, ja, ko, pt, zh, bn, hi</td>
236
+ </tr>
237
+ <tr>
238
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">INCLUDE</td>
239
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">14</td>
240
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">hi, bn, ta, te, ar, de, es, fr, it, ja, ko, nl, pt, zh</td>
241
+ </tr>
242
+ <tr>
243
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MGSM</td>
244
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">5</td>
245
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">en, es, fr, ja, zh</td>
246
+ </tr>
247
+ </tbody>
248
+ </table>
249
+
250
+ **Model Architecture:**
251
+ <!-- TO DO: #DAE8FF -->
252
+ Granite-4.0-1B-Base is based on a decoder-only dense transformer architecture. Core components of this architecture are: GQA, MLP with SwiGLU, RMSNorm, and shared input/output embeddings.
253
+
254
+ <table>
255
+ <thead>
256
+ <tr>
257
+ <th style="text-align:left; background-color: #001d6c; color: white;">Model</th>
258
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
259
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
260
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
261
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
262
+ </tr></thead>
263
+ <tbody>
264
+ <tr>
265
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Embedding size</td>
266
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1024</td>
267
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">768</td>
268
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">2048</td>
269
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1536</td>
270
+ </tr>
271
+ <tr>
272
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of layers</td>
273
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">28 attention</td>
274
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4 attention / 28 Mamba2</td>
275
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">40 attention</td>
276
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4 attention / 36 Mamba2</td>
277
+ </tr>
278
+ <tr>
279
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Attention head size</td>
280
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">64</td>
281
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">64</td>
282
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">128</td>
283
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
284
+ </tr>
285
+ <tr>
286
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of attention heads</td>
287
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">16</td>
288
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">12</td>
289
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">16</td>
290
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">12</td>
291
+ </tr>
292
+ <tr>
293
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of KV heads</td>
294
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
295
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
296
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">4</td>
297
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
298
+ </tr>
299
+ <tr>
300
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Mamba2 state size</td>
301
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
302
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
303
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
304
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
305
+ </tr>
306
+ <tr>
307
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of Mamba2 heads</td>
308
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
309
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">48</td>
310
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
311
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">48</td>
312
+ </tr>
313
+
314
+ <tr>
315
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">MLP / Shared expert hidden size</td>
316
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2048</td>
317
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2048</td>
318
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">4096</td>
319
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4096</td>
320
+ </tr>
321
+ <tr>
322
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Num. Experts</td>
323
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
324
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
325
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
326
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
327
+ </tr>
328
+ <tr>
329
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Num. active Experts</td>
330
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
331
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
332
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
333
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
334
+ </tr>
335
+ <tr>
336
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Expert hidden size</td>
337
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
338
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
339
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
340
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
341
+ </tr>
342
+ <tr>
343
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">MLP activation</td>
344
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
345
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
346
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">SwiGLU</td>
347
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
348
+ </tr>
349
+
350
+ <tr>
351
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Sequence length</td>
352
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">32K</td>
353
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">32K</td>
354
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">128K</td>
355
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128K</td>
356
+ </tr>
357
+ <tr>
358
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Position embedding</td>
359
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">RoPE</td>
360
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">NoPE</td>
361
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">RoPE</td>
362
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">NoPE</td>
363
+ </tr>
364
+ <tr>
365
+ <td style="text-align:left; background-color: #FFFFFF; color: black;"># Parameters</td>
366
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">350M</td>
367
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">340M</td>
368
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">1.6B</td>
369
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.5B</td>
370
+ </tr>
371
+ <tr>
372
+ <td style="text-align:left; background-color: #FFFFFF; color: black;"># Active parameters</td>
373
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">350M</td>
374
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">340M</td>
375
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">1.6B</td>
376
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.5B</td>
377
+ </tr>
378
+ </tbody></table>
379
+
380
+
381
+ **Training Data:** This model is trained on a mix of open source and proprietary data following a four-stage training strategy.
382
+
383
+ <table>
384
+ <thead>
385
+ <tr>
386
+ <th style="text-align:left; background-color: #001d6c; color: white;">Stage</th>
387
+ <th style="text-align:left; background-color: #001d6c; color: white;">Characteristics</th>
388
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
389
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
390
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
391
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
392
+ </tr></thead>
393
+ <tbody>
394
+ <tr>
395
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">I</td>
396
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">General mixture of training data, warmup, and power scheduler for learning rate.</td>
397
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
398
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
399
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
400
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
401
+ </tr>
402
+ <tr>
403
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">II</td>
404
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">General mixture of training data with higher percentages of code and math with power scheduler for learning rate.</td>
405
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
406
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
407
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
408
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
409
+ </tr>
410
+ <tr>
411
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">III</td>
412
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">High quality training data, exponential decay of learning rate.</td>
413
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
414
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
415
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
416
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
417
+ </tr>
418
+ <tr>
419
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">IV</td>
420
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">High quality training data, linear decay to zero for learning rate.</td>
421
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
422
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
423
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
424
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
425
+ </tr>
426
+ </tbody></table>
427
+
428
+ **Infrastructure:**
429
+ We trained the Granite 4.0 Nano Language Models utilizing an NVIDIA GB200 NVL72 cluster hosted in CoreWeave. Intra-rack communication occurs via the 72-GPU NVLink domain, and a non-blocking, full Fat-Tree NDR 400 Gb/s InfiniBand network provides inter-rack communication. This cluster provides a scalable and efficient infrastructure for training our models over thousands of GPUs.
430
+
431
+ **Ethical Considerations and Limitations:**
432
+ The use of Large Language Models involves risks and ethical considerations people must be aware of, including but not limited to: bias and fairness, misinformation, and autonomous decision-making. Granite-4.0-1B-Base model is not the exception in this regard. Even though this model is suited for multiple generative AI tasks, it has not undergone any safety alignment, there it may produce problematic outputs. Additionally, it remains uncertain whether smaller models might exhibit increased susceptibility to hallucination in generation scenarios by copying text verbatim from the training dataset due to their reduced sizes and memorization capacities. This aspect is currently an active area of research, and we anticipate more rigorous exploration, comprehension, and mitigations in this domain. Regarding ethics, a latent risk associated with all Large Language Models is their malicious utilization. We urge the community to use Granite-4.0-1B-Base model with ethical intentions and in a responsible way.
433
+
434
+ **Resources**
435
+ - ⭐️ Learn about the latest updates with Granite: https://www.ibm.com/granite
436
+ - 📄 Get started with tutorials, best practices, and prompt engineering advice: https://www.ibm.com/granite/docs/
437
+ - 💡 Learn about the latest Granite learning resources: https://github.com/ibm-granite-community/
model.sig CHANGED
@@ -1 +1 @@
1
- {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIC5jCCAmugAwIBAgIUcsgQ/F74hgNwJFuyEOlB4UG5Vw4wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUxMDE0MTgyNjE3WhcNMjUxMDE0MTgzNjE3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWxjq8o1+Nz5nLLPYyQqDiGI+cERrtgI25RZfi2OMXf9jocJarcz+nGejboykB/QLIetgJk2/iE82HseS1zuq6aOCAYowggGGMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUtm9FaZANvnNASS1YPsBbM+M3ZgIwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wJAYDVR0RAQH/BBowGIEWR3Jhbml0ZS12ZXJpZnlAaWJtLmNvbTA0BgorBgEEAYO/MAEBBCZodHRwczovL3NpZ3N0b3JlLnZlcmlmeS5pYm0uY29tL29hdXRoMjA2BgorBgEEAYO/MAEIBCgMJmh0dHBzOi8vc2lnc3RvcmUudmVyaWZ5LmlibS5jb20vb2F1dGgyMIGKBgorBgEEAdZ5AgQCBHwEegB4AHYA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGZ4/kbFgAABAMARzBFAiBFojdNRcaETFDoIGemsle9WILom3eBm1IOqHQwk2N9igIhAPZwwfaMiPUSYITXOQVqPylu8SZgLtV2UyG6AvJQUZWfMAoGCCqGSM49BAMDA2kAMGYCMQD+FMaIVUoJzu+TExfkYKM4GxPmlsvubRT+M/Iz5cOA9ZXLl4TOlX+lgTtFhExD8QACMQCWKiNnBTPKhNfF9H9a9wUh5Gt9fBx7Q6MKFTwoiesSn2S1DYHlZN25NLdyKeFvRy0="},"tlogEntries":[{"logIndex":"606053579","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"dsse","version":"0.0.1"},"integratedTime":"1760466377","inclusionPromise":{"signedEntryTimestamp":"MEUCICYU8aIzmh1QRaH5YWmExrCiRorCePjiYGfLqUps2EV9AiEAm7UtpE8tseiHFsZEozvRLqeRmcWUpyLg3msOmXpY7Lo="},"inclusionProof":{"logIndex":"484149317","rootHash":"9XB7YhXBwuFdtl8+iyBJ5rlyIVI1ladRtw6yCpqzqDM=","treeSize":"484149320","hashes":["1xuctg9j3Ctm/llYhfrqIKBaXgCeW72ljv/gHdvKDwY=","oNNRYtUpsCvnM/33HF5jEhb9l9jmwHFqB65VFwj3U/A=","XU9N44c5w0ZjYd2fg0PWZB5iFBMa3V86UEVV83Xn9og=","UiII4se6hVChKcBZhKIWhGkWrvPQIvMBgAaOfiGpx50=","Xaybl4Kg8uibmzD6X9L30dHZyjr6D0kZTzUYsX1f+sI=","CGefNeMJTCypKZHRi0+emJqYMg3lnuVLySC6WPH3CyU=","FCUArrW/nO/hAQzI7iiHtjoGrsL91mwOOxU4M6cMEO0=","RmSrQKXyr5YyI8R/gSBKogg5Egc5EtWPxIyo03CZ+ek=","/Kugvj2mis6h9KZfZqcetCPGOlkrUnBLnPyZ3HFf+tk=","inrOYOb+roitD1EYWHmRPy8aJnjhSAhp5cHXbXVlxU4=","8nCds1SUzxGg2Xoa+M1tOFTwx+1BGtp8TDMSS4P54xQ=","V5lOdefY1WOOt4iQp7tZoyj1beBDVi24KsEMcgsqZds=","2Wv4GiithwNukRKV06clevnQQYCzXmSS/+/OJtXgsXQ=","1mfy94KpcItqshH9+gwqV6jccupcaMpVsF28New8zDY=","vS7O4ozHIQZJWBiov+mkpI27GE8zAmVCEkRcP3NDyNE="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n484149320\n9XB7YhXBwuFdtl8+iyBJ5rlyIVI1ladRtw6yCpqzqDM=\n\n— rekor.sigstore.dev wNI9ajBGAiEAtR7hBaHw8R+uo0M+t9N0jy4lkTzY7ULfLGfk2aV+F4kCIQDlAtoEAdL71tzHzdkgGh64AUmn5qPFKNxQeF5SZfpH4w==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiMTA4ZGFkZTZkZDQ3YWZjM2FlMjI2YzZmNjc4YjE0OWMwZWYzZGEzMGI4ZDE0MTdiODcwNzVhMTdhNDkzNDY4ZCJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjMxZGYzM2M4M2M0Njg4N2M5YTZmYWNmMmUyN2Q0NWE2MTk4OWUxZWQwNTRiNTYwNDU2NWNkYjcyOGY1NTEzZDQifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVVQ0lRQzJaV1VHWDZZR095bE5taTVBeWlFRXRaYXFBZXVjRHlZUEY1b3JtQWZnd0FJZ2I1WTdGajhHcC9VUGpQdit0bnQ3enBuUUx3TjUyZ3NON2I0MHRZY1dGZVU9IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VNMWFrTkRRVzExWjBGM1NVSkJaMGxWWTNOblVTOUdOelJvWjA1M1NrWjFlVVZQYkVJMFZVYzFWbmMwZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwVmVFMUVSVEJOVkdkNVRtcEZNMWRvWTA1TmFsVjRUVVJGTUUxVVozcE9ha1V6VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVlhlR3B4T0c4eEswNTZOVzVNVEZCWmVWRnhSR2xIU1N0alJWSnlkR2RKTWpWU1dtWUthVEpQVFZobU9XcHZZMHBoY21ONksyNUhaV3BpYjNsclFpOVJURWxsZEdkS2F6SXZhVVU0TWtoelpWTXhlblZ4Tm1GUFEwRlpiM2RuWjBkSFRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVjBiVGxHQ21GYVFVNTJiazVCVTFNeFdWQnpRbUpOSzAweldtZEpkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMHBCV1VSV1VqQlNRVkZJTDBKQ2IzZEhTVVZYVWpOS2FHSnRiREJhVXpFeVdsaEtjRnB1YkVGaFYwcDBURzFPZG1KVVFUQkNaMjl5UW1kRlJRcEJXVTh2VFVGRlFrSkRXbTlrU0ZKM1kzcHZka3d6VG5CYU0wNHdZak5LYkV4dVdteGpiV3h0WlZNMWNGbHRNSFZaTWpsMFRESTVhR1JZVW05TmFrRXlDa0puYjNKQ1owVkZRVmxQTDAxQlJVbENRMmROU20xb01HUklRbnBQYVRoMll6SnNibU16VW5aamJWVjFaRzFXZVdGWFdqVk1iV3hwWWxNMWFtSXlNSFlLWWpKR01XUkhaM2xOU1VkTFFtZHZja0puUlVWQlpGbzFRV2RSUTBKSWQwVmxaMEkwUVVoWlFUTlVNSGRoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLU3dwWWNtcGxVRXN6TDJnMGNIbG5Remh3TjI4MFFVRkJSMW8wTDJ0aVJtZEJRVUpCVFVGU2VrSkdRV2xDUm05cVpFNVNZMkZGVkVaRWIwbEhaVzF6YkdVNUNsZEpURzl0TTJWQ2JURkpUM0ZJVVhkck1rNDVhV2RKYUVGUVduZDNabUZOYVZCVlUxbEpWRmhQVVZaeFVIbHNkVGhUV21kTWRGWXlWWGxITmtGMlNsRUtWVnBYWmsxQmIwZERRM0ZIVTAwME9VSkJUVVJCTW10QlRVZFpRMDFSUkN0R1RXRkpWbFZ2U25wMUsxUkZlR1pyV1V0Tk5FZDRVRzFzYzNaMVlsSlVLd3BOTDBsNk5XTlBRVGxhV0V4c05GUlBiRmdyYkdkVWRFWm9SWGhFT0ZGQlEwMVJRMWRMYVU1dVFsUlFTMmhPWmtZNVNEbGhPWGRWYURWSGREbG1RbmczQ2xFMlRVdEdWSGR2YVdWelUyNHlVekZFV1Voc1drNHlOVTVNWkhsTFpVWjJVbmt3UFFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PSJ9XX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6jADAgEAMIIE4QYJKoZIhvcNAQcCoIIE0jCCBM4CAQMxDTALBglghkgBZQMEAgEwgcEGCyqGSIb3DQEJEAEEoIGxBIGuMIGrAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgv7+52QLZ3QD7vxfU7yyTexmU0QKLkmCuiaoRGRbte8gCFBaVS2VkZ3CEFBkwE6yjo4Y438m7GA8yMDI1MTAxNDE4MjYxN1owAwIBAQIILvrjCcgSACygMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoIICFDCCAhAwggGWoAMCAQICFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMDMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQwHhcNMjUwNDA4MDY1OTQzWhcNMzUwNDA2MDY1OTQzWjAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYTB2MBAGByqGSM49AgEGBSuBBAAiA2IABOK2tmfISjYoNk/ZBYwgE6Bht9I5MvlkL9wcy/pir4dUijUf1MLsLHzQoOLK8qGAHfBOorKL1QNzOGqDXZvUA4udGfJ0xMr6oHwz7UyMFyLX4lvwBX9Ve7sJG5AKI9McXKNqMGgwDgYDVR0PAQH/BAQDAgeAMB0GA1UdDgQWBBSJ/XlDh8/QZUbDAkbHLHNbfbTrAzAfBgNVHSMEGDAWgBSY7AHvf7tR/9SVHm+KiJhTB4nOvzAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAKBggqhkjOPQQDAwNoADBlAjA7abFf+imjtKshf1DLF9mklFykBXaBk6bUBnNH7atXLLpRzxhunbJsjDXdyQfhtxECMQDmo7wXI6SZim+Db/tk2qI/FHOfm+ooehVwgiq2kqrqXtO86rMDHFyU3tXBMbx775cxggHcMIIB2AIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI1MTAxNDE4MjYxN1owLwYJKoZIhvcNAQkEMSIEIDMMWvNbOb1lHJg60vsJ/TNGVLtGakSPXY35GfGm6kxsMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRoMGYCMQDL0MrMolFPEOyRLysegAbo1Vbc9j1xKDO1FD+FArsFmqY4HHJoSS3JBqCnZ6BaCvgCMQCXMoA2sUhkgIYFtNBBgoH8D29erIWMdKpiIZ4CUlD0u9o3kAc99IVOSueE3pf/U3o="}]}},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ3Jhbml0ZS00LjAtbmFuby0xYi1iYXNlIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5YjRlM2RlNDM1MDI2YmU5ZmVkMGFhYzgzMmQyNzEyMGI3ZTc0ZTIyNGY5OWJhYmJkM2RlYjg1ODViZWE0MTciCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIsCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlLAogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiLAogICAgICAgICJtb2RlbC5zaWciLAogICAgICAgICIuZ2l0aWdub3JlIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0KICAgIH0sCiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNTMxMzg3MmY4MTEwMmU2MjYxN2U2MzhmOGJlNTQxZWU2OGYxNGRlZDFhZTQ4NGE4OTI2NDViNWM1YTEwYWVhOSIsCiAgICAgICAgIm5hbWUiOiAiY29uZmlnLmpzb24iCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI3YzA0Y2I5ZDJiYTc3MWY3NTI4ZmJhNWE3MTA0OTk5Y2RhZjc1NjZkMDJiNWZiZDU4NDcyODI5ZjYyNzE2MTc3IiwKICAgICAgICAibmFtZSI6ICJnZW5lcmF0aW9uX2NvbmZpZy5qc29uIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYjZmZTQyNGUzMzQ5MDNmN2ZiODRkM2ExMDZkOTczMDQ1NWY0NzQ0YjlmZTNjMjFlZTEzNmQ5N2EwMGU3MjUwMiIsCiAgICAgICAgIm5hbWUiOiAibWVyZ2VzLnR4dCIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImFiMGRmZDk2ODFlNjdmNDBmYjVhZTA2NDFmZGZhNDU0NWE5MTkxYjlkNzY1Y2E1NGI4ODdkYjFkZTljNDVjYTgiLAogICAgICAgICJuYW1lIjogIm1vZGVsLnNhZmV0ZW5zb3JzIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiZjY0ZTlkNDJiZGE2MmZmYmU1YzZmMDE0OTBmZmI0Y2U5MjIxZTgxZjg2OWQzOWI2MTIzYzIyMzFkNDJjOWJhNiIsCiAgICAgICAgIm5hbWUiOiAibW9kZWwuc2FmZXRlbnNvcnMuaW5kZXguanNvbiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImMwODY3NmM0OWZkNzk2OWEzMTMwZjcyYmU2ZDRiZjM0ZGE2NmFhNDg0YTZlMjFkZmZlMzU5ODkzYTFiZDVmMmUiLAogICAgICAgICJuYW1lIjogInNwZWNpYWxfdG9rZW5zX21hcC5qc29uIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiZTJiYWQ2NjQzOTUzOGNiNGQ1YTc1ODA2ODA5MzI0MzJlZDllY2U5ZDNiODU3N2U2NzU1MTJiZGYxMTU5OTI1MyIsCiAgICAgICAgIm5hbWUiOiAidG9rZW5pemVyLmpzb24iCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJhNWVjNWRhYWIxMmJhMDkwYTkwZjNkZDE2OWM4ZjljMjc1NTU3MDEzYTg3YjljMTI1OGRjN2NiNDk3YTM1Yzg2IiwKICAgICAgICAibmFtZSI6ICJ0b2tlbml6ZXJfY29uZmlnLmpzb24iCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4YWY3MTA3NmRlOGIwYjYyNmVlZDBmNGM5ODRmYWYwYTdjMDYyNDc5MTY0YjJhMzEzMDhhOTQ4NTI0ZDRmNjljIiwKICAgICAgICAibmFtZSI6ICJ2b2NhYi5qc29uIgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEUCIQC2ZWUGX6YGOylNmi5AyiEEtZaqAeucDyYPF5ormAfgwAIgb5Y7Fj8Gp/UPjPv+tnt7zpnQLwN52gsN7b40tYcWFeU="}]}}
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIC5DCCAmqgAwIBAgIUY5dgjK+6gqrz4L72bguPzuXaBlUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUxMDIwMTEwMDMzWhcNMjUxMDIwMTExMDMzWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOFccMTGxJcbCMB3NMPAUzWV088Ie8cSRAW1fMcgzd94t5twNiK1FCZ1Cd2CDQsDRgxxFsReHFdRfSYVImBLNqqOCAYkwggGFMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUpIa1pIa9wphMHoUswqGwUdJEhScwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wJAYDVR0RAQH/BBowGIEWR3Jhbml0ZS12ZXJpZnlAaWJtLmNvbTA0BgorBgEEAYO/MAEBBCZodHRwczovL3NpZ3N0b3JlLnZlcmlmeS5pYm0uY29tL29hdXRoMjA2BgorBgEEAYO/MAEIBCgMJmh0dHBzOi8vc2lnc3RvcmUudmVyaWZ5LmlibS5jb20vb2F1dGgyMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGaAUcvHgAABAMARjBEAiAyqud9q2rbM+J39Rd1lmuIHe3gteARMiX6qXAwPVyXOQIgK7L23ZXYX2+njTJU3+0n9BCQMXKwFWrYS3B+CJN7vowwCgYIKoZIzj0EAwMDaAAwZQIwItacbBM7wo6w1vS/Gv07XElQEumRM4J9aWPLc2zBQitk+P3a4c3AnnEDeSYAOghnAjEAwo1KNE7g8arPoLwOEpKlL+qG0VYWCevxSHa6e6Dh9Bl+7cElMEwVyoo4RARfoe9m"},"tlogEntries":[{"logIndex":"622895614","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"dsse","version":"0.0.1"},"integratedTime":"1760958033","inclusionPromise":{"signedEntryTimestamp":"MEQCIHsaHMlb1flJEuaVoTK2FfNZeoFY0zEfdOpCzh09DjOPAiAXvBgteGhggJJyb3aT1QqPq90BFSprsGurqMAmCD4JWA=="},"inclusionProof":{"logIndex":"500991352","rootHash":"nPOLO/jUXkegHxeqcekAZHkK5CUhnOqAXPe9wA0qXK0=","treeSize":"500991353","hashes":["X849tOmSoLOVe9drvFWt2TrDnE9axo+HZBf5ESsrvYI=","AGXRNKtqJL4sY3u6Wp1OGHlpOrwY8Ga/TVLoyWBCDys=","QBmEa8ls3G8Y1VLLMoLn9B2i0BW9vK2y54aRzbT65bc=","LDq3aGYmnlkefyfVZkQ9jY6CSAEbV8t+dBg4+iXFzUE=","FwScX8tbCOgC9O6ybe9Al5P6wXKCHmIm99B2PxMq48A=","g7KpVVREYNIYCMJqtMfEHfMw9qJFaU9HZHK6Rhdgyqo=","sZz8mjhiYp9OEs0f1dQyfPRcCGwvwMhxb69tbtxYGhA=","IEfBUPr/rhNZzb8B9lMr45R1g8+4y8KbM+K61qt/yEY=","zz0u1VmttTdodFw2vwldBHWAinT4XoiUwP6qLYf3ldE=","ignBbwyLkAXSQfQoWjGMZ2m2p9d7dDqWaXW4XAlV30g=","Uh9lxATVI904AWJn3ydpTnpBfb8dfuOMpPBBb10+kv4=","vCYQZqPwuKPvCNeCqAVIBfGK0xps0RT3XAe3bs7RKyM=","eGvIh/2VuASWOIw2cAlggnhHIj5WniQ0TmehEpx+ZbU=","2Wv4GiithwNukRKV06clevnQQYCzXmSS/+/OJtXgsXQ=","1mfy94KpcItqshH9+gwqV6jccupcaMpVsF28New8zDY=","vS7O4ozHIQZJWBiov+mkpI27GE8zAmVCEkRcP3NDyNE="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n500991353\nnPOLO/jUXkegHxeqcekAZHkK5CUhnOqAXPe9wA0qXK0=\n\n— rekor.sigstore.dev wNI9ajBFAiBlfGaSOjPsBTjtOXk9FiCmdsL+ER81bEAnqkS+YaiIIwIhAJq1Hpuyai98zVjDFqBPENgouJkk6qdyzvck+7N9ud01\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiNTA0ODJjYzM4MmYxOWU4YTgwZjY0YjE1OTE2NzRiM2M5NGI2ODY1MTYyMzAzYzUwNGJkM2NkYWRhMDRmNTdkYSJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjM1MWI2MGFjZTNiYmU4MTEzNmJiM2RjNjU4ZTNmNTZjNWIxZGIzYmU2ZjE5Yzk4YTljZjI3ZTA3NjU4NGMwYmMifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVZQ0lRQ2Z6Smx2enczT0Z1TDZqM2hEY1llazhxMmQzQktsUEtLU05ZbDdPalFGK2dJaEFMUEM1cVRVQkVUMGRBOHBzbExqZnpjQWVlTzdRT05wZXZsMC9USHVFdzNxIiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VNMVJFTkRRVzF4WjBGM1NVSkJaMGxWV1RWa1oycExLelpuY1hKNk5FdzNNbUpuZFZCNmRWaGhRbXhWZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwVmVFMUVTWGROVkVWM1RVUk5lbGRvWTA1TmFsVjRUVVJKZDAxVVJYaE5SRTE2VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVlBSbU5qVFZSSGVFcGpZa05OUWpOT1RWQkJWWHBYVmpBNE9FbGxPR05UVWtGWE1XWUtUV05uZW1RNU5IUTFkSGRPYVVzeFJrTmFNVU5rTWtORVVYTkVVbWQ0ZUVaelVtVklSbVJTWmxOWlZrbHRRa3hPY1hGUFEwRlphM2RuWjBkR1RVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVndTV0V4Q25CSllUbDNjR2hOU0c5VmMzZHhSM2RWWkVwRmFGTmpkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMHBCV1VSV1VqQlNRVkZJTDBKQ2IzZEhTVVZYVWpOS2FHSnRiREJhVXpFeVdsaEtjRnB1YkVGaFYwcDBURzFPZG1KVVFUQkNaMjl5UW1kRlJRcEJXVTh2VFVGRlFrSkRXbTlrU0ZKM1kzcHZka3d6VG5CYU0wNHdZak5LYkV4dVdteGpiV3h0WlZNMWNGbHRNSFZaTWpsMFRESTVhR1JZVW05TmFrRXlDa0puYjNKQ1owVkZRVmxQTDAxQlJVbENRMmROU20xb01HUklRbnBQYVRoMll6SnNibU16VW5aamJWVjFaRzFXZVdGWFdqVk1iV3hwWWxNMWFtSXlNSFlLWWpKR01XUkhaM2xOU1VkS1FtZHZja0puUlVWQlpGbzFRV2RSUTBKSWMwVmxVVUl6UVVoVlFUTlVNSGRoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLU3dwWWNtcGxVRXN6TDJnMGNIbG5Remh3TjI4MFFVRkJSMkZCVldOMlNHZEJRVUpCVFVGU2FrSkZRV2xCZVhGMVpEbHhNbkppVFN0S016bFNaREZzYlhWSkNraGxNMmQwWlVGU1RXbFlObkZZUVhkUVZubFlUMUZKWjBzM1RESXpXbGhaV0RJcmJtcFVTbFV6S3pCdU9VSkRVVTFZUzNkR1YzSlpVek5DSzBOS1RqY0tkbTkzZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkpkMGwwWVdOaVFrMDNkMjgyZHpGMlV5OUhkakEzV0VWc1VVVjFiVkpOTkVvNVlWZFFUQXBqTW5wQ1VXbDBheXRRTTJFMFl6TkJibTVGUkdWVFdVRlBaMmh1UVdwRlFYZHZNVXRPUlRkbk9HRnlVRzlNZDA5RmNFdHNUQ3R4UnpCV1dWZERaWFo0Q2xOSVlUWmxOa1JvT1VKc0t6ZGpSV3hOUlhkV2VXOXZORkpCVW1adlpUbHRDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifV19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6jADAgEAMIIE4QYJKoZIhvcNAQcCoIIE0jCCBM4CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgVW1GVHUY3wp6eZ+UPle9bEmlir958CFFdNVGXfKPFmICFQCidhDdOO53maZDAVGOJ49mJIgd3hgPMjAyNTEwMjAxMTAwMzNaMAMCAQECCGSbpBCyLjVaoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYIKoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2zCCAdcCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNTEwMjAxMTAwMzNaMC8GCSqGSIb3DQEJBDEiBCBpsyTBP0mbmz1twf7ZVfKZCyriKIXut07GEWC/gsa4NjCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pDswOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZzBlAjEA44zAvZAbnEEVO3HdZnZdW5ch0VpKWlc6Rk6PA7rrtT8HcZBc3cV3lECdCvvRJjZJAjAvcPRwNcAz+aqgTCKKPJ7jpAxO0di/Fc+c+P/NGyl5SwiHArm529B2i2jvBCxPvL0="}]}},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ3Jhbml0ZS00LjAtMWItYmFzZSIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhY2I0ODY2MDE0YWYzYjBmMjY2MThiZmJmYTBiMjVhMjg0NTk5MWM4NzdmYWEzMGJjNjI3ZDkyOTNlMWVlNDA1IgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgIm5hbWUiOiAiUkVBRE1FLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjBlYzlkMjVkZGFiNGNlMmYyYjA1YTA4ZmIxYjk1NjA4YWQ2YTdlNmU5ZWYzNzYxZTNkM2UzMmRhZTlhYWJiMzYiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiY29uZmlnLmpzb24iLAogICAgICAgICJkaWdlc3QiOiAiNTMxMzg3MmY4MTEwMmU2MjYxN2U2MzhmOGJlNTQxZWU2OGYxNGRlZDFhZTQ4NGE4OTI2NDViNWM1YTEwYWVhOSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJnZW5lcmF0aW9uX2NvbmZpZy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogIjdjMDRjYjlkMmJhNzcxZjc1MjhmYmE1YTcxMDQ5OTljZGFmNzU2NmQwMmI1ZmJkNTg0NzI4MjlmNjI3MTYxNzciLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibWVyZ2VzLnR4dCIsCiAgICAgICAgImRpZ2VzdCI6ICJiNmZlNDI0ZTMzNDkwM2Y3ZmI4NGQzYTEwNmQ5NzMwNDU1ZjQ3NDRiOWZlM2MyMWVlMTM2ZDk3YTAwZTcyNTAyIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm1vZGVsLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiZGlnZXN0IjogImFiMGRmZDk2ODFlNjdmNDBmYjVhZTA2NDFmZGZhNDU0NWE5MTkxYjlkNzY1Y2E1NGI4ODdkYjFkZTljNDVjYTgiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibW9kZWwuc2FmZXRlbnNvcnMuaW5kZXguanNvbiIsCiAgICAgICAgImRpZ2VzdCI6ICJmNjRlOWQ0MmJkYTYyZmZiZTVjNmYwMTQ5MGZmYjRjZTkyMjFlODFmODY5ZDM5YjYxMjNjMjIzMWQ0MmM5YmE2IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInNwZWNpYWxfdG9rZW5zX21hcC5qc29uIiwKICAgICAgICAiZGlnZXN0IjogImMwODY3NmM0OWZkNzk2OWEzMTMwZjcyYmU2ZDRiZjM0ZGE2NmFhNDg0YTZlMjFkZmZlMzU5ODkzYTFiZDVmMmUiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAidG9rZW5pemVyLmpzb24iLAogICAgICAgICJkaWdlc3QiOiAiZTJiYWQ2NjQzOTUzOGNiNGQ1YTc1ODA2ODA5MzI0MzJlZDllY2U5ZDNiODU3N2U2NzU1MTJiZGYxMTU5OTI1MyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ0b2tlbml6ZXJfY29uZmlnLmpzb24iLAogICAgICAgICJkaWdlc3QiOiAiYTVlYzVkYWFiMTJiYTA5MGE5MGYzZGQxNjljOGY5YzI3NTU1NzAxM2E4N2I5YzEyNThkYzdjYjQ5N2EzNWM4NiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ2b2NhYi5qc29uIiwKICAgICAgICAiZGlnZXN0IjogIjhhZjcxMDc2ZGU4YjBiNjI2ZWVkMGY0Yzk4NGZhZjBhN2MwNjI0NzkxNjRiMmEzMTMwOGE5NDg1MjRkNGY2OWMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9CiAgICBdLAogICAgInNlcmlhbGl6YXRpb24iOiB7CiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IiwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAibW9kZWwuc2lnIiwKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0aHViIiwKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiCiAgICAgIF0sCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlLAogICAgICAibWV0aG9kIjogImZpbGVzIgogICAgfQogIH0KfQ==","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEYCIQCfzJlvzw3OFuL6j3hDcYek8q2d3BKlPKKSNYl7OjQF+gIhALPC5qTUBET0dA8pslLjfzcAeeO7QONpevl0/THuEw3q"}]}}