Text Generation
Transformers
Safetensors
mistral
conversational
text-generation-inference
8-bit precision
gptq
Instructions to use DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq") model = AutoModelForMultimodalLM.from_pretrained("DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq
- SGLang
How to use DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq with Docker Model Runner:
docker model run hf.co/DigitalLearningGmbH/educa-ai-nemo-dpo-8bit-gptq
| layer,module,loss,damp,time | |
| 0,self_attn.k_proj,0.00176,0.01000,1.938 | |
| 0,self_attn.v_proj,0.00002,0.01000,1.357 | |
| 0,self_attn.q_proj,0.00347,0.01000,1.451 | |
| 0,self_attn.o_proj,0.00000,0.01000,1.221 | |
| 0,mlp.up_proj,0.00216,0.01000,1.778 | |
| 0,mlp.gate_proj,0.00237,0.01000,1.765 | |
| 0,mlp.down_proj,0.00040,0.01000,4.346 | |
| 1,self_attn.k_proj,0.00332,0.01000,1.410 | |
| 1,self_attn.v_proj,0.00035,0.01000,1.375 | |
| 1,self_attn.q_proj,0.00654,0.01000,1.473 | |
| 1,self_attn.o_proj,0.00001,0.01000,1.162 | |
| 1,mlp.up_proj,0.00423,0.01000,1.847 | |
| 1,mlp.gate_proj,0.00478,0.01000,1.833 | |
| 1,mlp.down_proj,0.00004,0.01000,4.554 | |
| 2,self_attn.k_proj,0.00335,0.01000,1.372 | |
| 2,self_attn.v_proj,0.00056,0.01000,1.343 | |
| 2,self_attn.q_proj,0.00709,0.01000,1.513 | |
| 2,self_attn.o_proj,0.00002,0.01000,1.157 | |
| 2,mlp.up_proj,0.00896,0.01000,1.853 | |
| 2,mlp.gate_proj,0.01071,0.01000,1.832 | |
| 2,mlp.down_proj,0.00130,0.01000,4.471 | |
| 3,self_attn.k_proj,0.00766,0.01000,1.375 | |
| 3,self_attn.v_proj,0.00101,0.01000,1.340 | |
| 3,self_attn.q_proj,0.01888,0.01000,1.441 | |
| 3,self_attn.o_proj,0.00003,0.01000,1.170 | |
| 3,mlp.up_proj,0.01185,0.01000,1.833 | |
| 3,mlp.gate_proj,0.01516,0.01000,1.825 | |
| 3,mlp.down_proj,0.00016,0.01000,4.451 | |
| 4,self_attn.k_proj,0.00572,0.01000,1.368 | |
| 4,self_attn.v_proj,0.00131,0.01000,1.333 | |
| 4,self_attn.q_proj,0.01360,0.01000,1.428 | |
| 4,self_attn.o_proj,0.00006,0.01000,1.166 | |
| 4,mlp.up_proj,0.01477,0.01000,1.754 | |
| 4,mlp.gate_proj,0.01976,0.01000,1.727 | |
| 4,mlp.down_proj,0.00025,0.01000,4.420 | |
| 5,self_attn.k_proj,0.00733,0.01000,1.374 | |
| 5,self_attn.v_proj,0.00132,0.01000,1.334 | |
| 5,self_attn.q_proj,0.01834,0.01000,1.453 | |
| 5,self_attn.o_proj,0.00008,0.01000,1.210 | |
| 5,mlp.up_proj,0.01906,0.01000,1.795 | |
| 5,mlp.gate_proj,0.02441,0.01000,1.776 | |
| 5,mlp.down_proj,0.00038,0.01000,4.400 | |
| 6,self_attn.k_proj,0.00815,0.01000,1.371 | |
| 6,self_attn.v_proj,0.00126,0.01000,1.339 | |
| 6,self_attn.q_proj,0.01894,0.01000,1.450 | |
| 6,self_attn.o_proj,0.00015,0.01000,1.186 | |
| 6,mlp.up_proj,0.02276,0.01000,1.743 | |
| 6,mlp.gate_proj,0.02967,0.01000,1.731 | |
| 6,mlp.down_proj,0.00054,0.01000,4.309 | |
| 7,self_attn.k_proj,0.00880,0.01000,1.381 | |
| 7,self_attn.v_proj,0.00212,0.01000,1.355 | |
| 7,self_attn.q_proj,0.02210,0.01000,1.459 | |
| 7,self_attn.o_proj,0.00024,0.01000,1.192 | |
| 7,mlp.up_proj,0.02617,0.01000,1.814 | |
| 7,mlp.gate_proj,0.03219,0.01000,1.790 | |
| 7,mlp.down_proj,0.00063,0.01000,4.474 | |
| 8,self_attn.k_proj,0.00895,0.01000,1.369 | |
| 8,self_attn.v_proj,0.00212,0.01000,1.337 | |
| 8,self_attn.q_proj,0.02235,0.01000,1.444 | |
| 8,self_attn.o_proj,0.00028,0.01000,1.203 | |
| 8,mlp.up_proj,0.02953,0.01000,1.813 | |
| 8,mlp.gate_proj,0.03355,0.01000,1.792 | |
| 8,mlp.down_proj,0.00072,0.01000,4.370 | |
| 9,self_attn.k_proj,0.01022,0.01000,1.368 | |
| 9,self_attn.v_proj,0.00321,0.01000,1.336 | |
| 9,self_attn.q_proj,0.02527,0.01000,1.448 | |
| 9,self_attn.o_proj,0.00046,0.01000,1.196 | |
| 9,mlp.up_proj,0.03172,0.01000,1.828 | |
| 9,mlp.gate_proj,0.03367,0.01000,1.834 | |
| 9,mlp.down_proj,0.00086,0.01000,4.418 | |
| 10,self_attn.k_proj,0.00950,0.01000,1.368 | |
| 10,self_attn.v_proj,0.00294,0.01000,1.341 | |
| 10,self_attn.q_proj,0.02435,0.01000,1.445 | |
| 10,self_attn.o_proj,0.00048,0.01000,1.688 | |
| 10,mlp.up_proj,0.03401,0.01000,1.755 | |
| 10,mlp.gate_proj,0.03460,0.01000,1.723 | |
| 10,mlp.down_proj,0.00095,0.01000,4.318 | |
| 11,self_attn.k_proj,0.01188,0.01000,1.370 | |
| 11,self_attn.v_proj,0.00327,0.01000,1.327 | |
| 11,self_attn.q_proj,0.02966,0.01000,1.441 | |
| 11,self_attn.o_proj,0.00053,0.01000,1.189 | |
| 11,mlp.up_proj,0.03762,0.01000,1.742 | |
| 11,mlp.gate_proj,0.04139,0.01000,1.722 | |
| 11,mlp.down_proj,0.00100,0.01000,4.333 | |
| 12,self_attn.k_proj,0.01147,0.01000,1.377 | |
| 12,self_attn.v_proj,0.00418,0.01000,1.329 | |
| 12,self_attn.q_proj,0.02905,0.01000,1.459 | |
| 12,self_attn.o_proj,0.00054,0.01000,1.189 | |
| 12,mlp.up_proj,0.04046,0.01000,1.739 | |
| 12,mlp.gate_proj,0.04427,0.01000,1.721 | |
| 12,mlp.down_proj,0.00105,0.01000,4.338 | |
| 13,self_attn.k_proj,0.01456,0.01000,1.364 | |
| 13,self_attn.v_proj,0.00442,0.01000,1.321 | |
| 13,self_attn.q_proj,0.03715,0.01000,1.435 | |
| 13,self_attn.o_proj,0.00061,0.01000,1.194 | |
| 13,mlp.up_proj,0.04208,0.01000,1.849 | |
| 13,mlp.gate_proj,0.04424,0.01000,1.909 | |
| 13,mlp.down_proj,0.00117,0.01000,4.464 | |
| 14,self_attn.k_proj,0.01500,0.01000,1.369 | |
| 14,self_attn.v_proj,0.00473,0.01000,1.334 | |
| 14,self_attn.q_proj,0.03944,0.01000,1.441 | |
| 14,self_attn.o_proj,0.00054,0.01000,1.193 | |
| 14,mlp.up_proj,0.04508,0.01000,1.858 | |
| 14,mlp.gate_proj,0.04457,0.01000,1.835 | |
| 14,mlp.down_proj,0.00123,0.01000,4.617 | |
| 15,self_attn.k_proj,0.01339,0.01000,1.373 | |
| 15,self_attn.v_proj,0.00428,0.01000,1.341 | |
| 15,self_attn.q_proj,0.03164,0.01000,1.486 | |
| 15,self_attn.o_proj,0.00060,0.01000,1.203 | |
| 15,mlp.up_proj,0.04513,0.01000,1.861 | |
| 15,mlp.gate_proj,0.04189,0.01000,1.841 | |
| 15,mlp.down_proj,0.00133,0.01000,4.625 | |
| 16,self_attn.k_proj,0.01387,0.01000,1.372 | |
| 16,self_attn.v_proj,0.00511,0.01000,1.326 | |
| 16,self_attn.q_proj,0.03275,0.01000,1.451 | |
| 16,self_attn.o_proj,0.00073,0.01000,1.191 | |
| 16,mlp.up_proj,0.04740,0.01000,1.767 | |
| 16,mlp.gate_proj,0.04257,0.01000,1.859 | |
| 16,mlp.down_proj,0.00159,0.01000,4.707 | |
| 17,self_attn.k_proj,0.01298,0.01000,1.375 | |
| 17,self_attn.v_proj,0.00609,0.01000,1.329 | |
| 17,self_attn.q_proj,0.03331,0.01000,1.453 | |
| 17,self_attn.o_proj,0.00100,0.01000,1.200 | |
| 17,mlp.up_proj,0.05164,0.01000,1.832 | |
| 17,mlp.gate_proj,0.04529,0.01000,1.813 | |
| 17,mlp.down_proj,0.00205,0.01000,4.430 | |
| 18,self_attn.k_proj,0.01493,0.01000,1.368 | |
| 18,self_attn.v_proj,0.00583,0.01000,1.331 | |
| 18,self_attn.q_proj,0.03684,0.01000,1.453 | |
| 18,self_attn.o_proj,0.00099,0.01000,1.207 | |
| 18,mlp.up_proj,0.05543,0.01000,1.849 | |
| 18,mlp.gate_proj,0.05103,0.01000,1.824 | |
| 18,mlp.down_proj,0.00252,0.01000,4.456 | |
| 19,self_attn.k_proj,0.01495,0.01000,1.376 | |
| 19,self_attn.v_proj,0.00843,0.01000,1.331 | |
| 19,self_attn.q_proj,0.04287,0.01000,1.445 | |
| 19,self_attn.o_proj,0.00090,0.01000,1.191 | |
| 19,mlp.up_proj,0.05739,0.01000,1.826 | |
| 19,mlp.gate_proj,0.05421,0.01000,1.810 | |
| 19,mlp.down_proj,0.00279,0.01000,4.415 | |
| 20,self_attn.k_proj,0.01524,0.01000,1.367 | |
| 20,self_attn.v_proj,0.00754,0.01000,1.345 | |
| 20,self_attn.q_proj,0.04341,0.01000,1.460 | |
| 20,self_attn.o_proj,0.00076,0.01000,1.199 | |
| 20,mlp.up_proj,0.06215,0.01000,1.852 | |
| 20,mlp.gate_proj,0.06257,0.01000,1.828 | |
| 20,mlp.down_proj,0.00314,0.01000,4.462 | |
| 21,self_attn.k_proj,0.01427,0.01000,1.379 | |
| 21,self_attn.v_proj,0.00640,0.01000,1.326 | |
| 21,self_attn.q_proj,0.03950,0.01000,1.442 | |
| 21,self_attn.o_proj,0.00057,0.01000,1.189 | |
| 21,mlp.up_proj,0.06711,0.01000,1.833 | |
| 21,mlp.gate_proj,0.07015,0.01000,1.815 | |
| 21,mlp.down_proj,0.00343,0.01000,4.419 | |
| 22,self_attn.k_proj,0.01374,0.01000,1.376 | |
| 22,self_attn.v_proj,0.00873,0.01000,1.336 | |
| 22,self_attn.q_proj,0.04107,0.01000,1.463 | |
| 22,self_attn.o_proj,0.00081,0.01000,1.202 | |
| 22,mlp.up_proj,0.07495,0.01000,1.787 | |
| 22,mlp.gate_proj,0.08021,0.01000,1.765 | |
| 22,mlp.down_proj,0.00410,0.01000,4.349 | |
| 23,self_attn.k_proj,0.01533,0.01000,1.373 | |
| 23,self_attn.v_proj,0.00896,0.01000,1.326 | |
| 23,self_attn.q_proj,0.04321,0.01000,1.437 | |
| 23,self_attn.o_proj,0.00066,0.01000,1.195 | |
| 23,mlp.up_proj,0.08032,0.01000,1.764 | |
| 23,mlp.gate_proj,0.08501,0.01000,1.747 | |
| 23,mlp.down_proj,0.00500,0.01000,4.320 | |
| 24,self_attn.k_proj,0.01676,0.01000,1.354 | |
| 24,self_attn.v_proj,0.00923,0.01000,1.339 | |
| 24,self_attn.q_proj,0.04753,0.01000,1.442 | |
| 24,self_attn.o_proj,0.00083,0.01000,1.183 | |
| 24,mlp.up_proj,0.08577,0.01000,1.739 | |
| 24,mlp.gate_proj,0.09270,0.01000,1.723 | |
| 24,mlp.down_proj,0.00543,0.01000,4.407 | |
| 25,self_attn.k_proj,0.01751,0.01000,1.370 | |
| 25,self_attn.v_proj,0.00982,0.01000,1.376 | |
| 25,self_attn.q_proj,0.04867,0.01000,1.446 | |
| 25,self_attn.o_proj,0.00068,0.01000,1.186 | |
| 25,mlp.up_proj,0.09107,0.01000,1.740 | |
| 25,mlp.gate_proj,0.10017,0.01000,1.708 | |
| 25,mlp.down_proj,0.00587,0.01000,4.334 | |
| 26,self_attn.k_proj,0.01754,0.01000,1.427 | |
| 26,self_attn.v_proj,0.01148,0.01000,1.337 | |
| 26,self_attn.q_proj,0.04842,0.01000,1.463 | |
| 26,self_attn.o_proj,0.00071,0.01000,1.208 | |
| 26,mlp.up_proj,0.09882,0.01000,1.751 | |
| 26,mlp.gate_proj,0.11080,0.01000,1.725 | |
| 26,mlp.down_proj,0.00629,0.01000,4.374 | |
| 27,self_attn.k_proj,0.01778,0.01000,1.376 | |
| 27,self_attn.v_proj,0.01296,0.01000,1.329 | |
| 27,self_attn.q_proj,0.05199,0.01000,1.456 | |
| 27,self_attn.o_proj,0.00053,0.01000,1.182 | |
| 27,mlp.up_proj,0.10583,0.01000,1.749 | |
| 27,mlp.gate_proj,0.12038,0.01000,1.716 | |
| 27,mlp.down_proj,0.00686,0.01000,4.426 | |
| 28,self_attn.k_proj,0.01917,0.01000,1.366 | |
| 28,self_attn.v_proj,0.01387,0.01000,1.328 | |
| 28,self_attn.q_proj,0.05423,0.01000,1.432 | |
| 28,self_attn.o_proj,0.00119,0.01000,1.180 | |
| 28,mlp.up_proj,0.11404,0.01000,1.960 | |
| 28,mlp.gate_proj,0.12816,0.01000,1.792 | |
| 28,mlp.down_proj,0.00786,0.01000,4.419 | |
| 29,self_attn.k_proj,0.01879,0.01000,1.380 | |
| 29,self_attn.v_proj,0.01851,0.01000,1.341 | |
| 29,self_attn.q_proj,0.05502,0.01000,1.463 | |
| 29,self_attn.o_proj,0.00141,0.01000,1.191 | |
| 29,mlp.up_proj,0.12264,0.01000,1.857 | |
| 29,mlp.gate_proj,0.13857,0.01000,1.839 | |
| 29,mlp.down_proj,0.00885,0.01000,4.512 | |
| 30,self_attn.k_proj,0.01997,0.01000,1.369 | |
| 30,self_attn.v_proj,0.01553,0.01000,1.326 | |
| 30,self_attn.q_proj,0.05603,0.01000,1.446 | |
| 30,self_attn.o_proj,0.00099,0.01000,1.206 | |
| 30,mlp.up_proj,0.13286,0.01000,1.861 | |
| 30,mlp.gate_proj,0.15043,0.01000,1.831 | |
| 30,mlp.down_proj,0.01039,0.01000,4.432 | |
| 31,self_attn.k_proj,0.01802,0.01000,1.361 | |
| 31,self_attn.v_proj,0.01566,0.01000,1.328 | |
| 31,self_attn.q_proj,0.05123,0.01000,1.443 | |
| 31,self_attn.o_proj,0.00157,0.01000,1.189 | |
| 31,mlp.up_proj,0.14314,0.01000,1.830 | |
| 31,mlp.gate_proj,0.15822,0.01000,1.813 | |
| 31,mlp.down_proj,0.01311,0.01000,4.397 | |
| 32,self_attn.k_proj,0.01811,0.01000,1.368 | |
| 32,self_attn.v_proj,0.02172,0.01000,1.330 | |
| 32,self_attn.q_proj,0.05560,0.01000,1.540 | |
| 32,self_attn.o_proj,0.00167,0.01000,1.204 | |
| 32,mlp.up_proj,0.15112,0.01000,1.909 | |
| 32,mlp.gate_proj,0.16387,0.01000,1.875 | |
| 32,mlp.down_proj,0.01599,0.01000,4.637 | |
| 33,self_attn.k_proj,0.01898,0.01000,1.372 | |
| 33,self_attn.v_proj,0.01674,0.01000,1.332 | |
| 33,self_attn.q_proj,0.05740,0.01000,1.442 | |
| 33,self_attn.o_proj,0.00200,0.01000,1.182 | |
| 33,mlp.up_proj,0.15806,0.01000,1.860 | |
| 33,mlp.gate_proj,0.16537,0.01000,1.851 | |
| 33,mlp.down_proj,0.02209,0.01000,4.458 | |
| 34,self_attn.k_proj,0.01745,0.01000,1.384 | |
| 34,self_attn.v_proj,0.03603,0.01000,1.337 | |
| 34,self_attn.q_proj,0.05621,0.01000,1.444 | |
| 34,self_attn.o_proj,0.00431,0.01000,1.184 | |
| 34,mlp.up_proj,0.16884,0.01000,1.778 | |
| 34,mlp.gate_proj,0.17436,0.01000,1.766 | |
| 34,mlp.down_proj,0.02582,0.01000,4.397 | |
| 35,self_attn.k_proj,0.01771,0.01000,1.367 | |
| 35,self_attn.v_proj,0.03159,0.01000,1.323 | |
| 35,self_attn.q_proj,0.05751,0.01000,1.449 | |
| 35,self_attn.o_proj,0.00328,0.01000,1.190 | |
| 35,mlp.up_proj,0.18525,0.01000,1.837 | |
| 35,mlp.gate_proj,0.18747,0.01000,1.811 | |
| 35,mlp.down_proj,0.03426,0.01000,4.399 | |
| 36,self_attn.k_proj,0.01672,0.01000,1.377 | |
| 36,self_attn.v_proj,0.03806,0.01000,1.329 | |
| 36,self_attn.q_proj,0.05680,0.01000,1.450 | |
| 36,self_attn.o_proj,0.00542,0.01000,1.207 | |
| 36,mlp.up_proj,0.19882,0.01000,1.845 | |
| 36,mlp.gate_proj,0.19482,0.01000,1.825 | |
| 36,mlp.down_proj,0.04701,0.01000,4.416 | |
| 37,self_attn.k_proj,0.01430,0.01000,1.369 | |
| 37,self_attn.v_proj,0.04299,0.01000,1.325 | |
| 37,self_attn.q_proj,0.05684,0.01000,1.468 | |
| 37,self_attn.o_proj,0.01425,0.01000,1.209 | |
| 37,mlp.up_proj,0.20894,0.01000,1.854 | |
| 37,mlp.gate_proj,0.20694,0.01000,1.839 | |
| 37,mlp.down_proj,0.07068,0.01000,4.447 | |
| 38,self_attn.k_proj,0.01878,0.01000,1.375 | |
| 38,self_attn.v_proj,0.06692,0.01000,1.321 | |
| 38,self_attn.q_proj,0.06871,0.01000,1.446 | |
| 38,self_attn.o_proj,0.01242,0.01000,1.199 | |
| 38,mlp.up_proj,0.22886,0.01000,1.849 | |
| 38,mlp.gate_proj,0.23130,0.01000,1.827 | |
| 38,mlp.down_proj,0.12355,0.01000,4.395 | |
| 39,self_attn.k_proj,0.01506,0.01000,1.378 | |
| 39,self_attn.v_proj,0.03752,0.01000,1.329 | |
| 39,self_attn.q_proj,0.05483,0.01000,1.461 | |
| 39,self_attn.o_proj,0.01155,0.01000,1.195 | |
| 39,mlp.up_proj,0.26283,0.01000,1.816 | |
| 39,mlp.gate_proj,0.27279,0.01000,1.811 | |
| 39,mlp.down_proj,0.27392,0.01000,4.558 | |