Ingonyama Blog

Activities
Cryptography
ZK Applications
ZK Landscape
December 3, 2024

ZK Accelerate Bangkok: Videos, Photos & Recap

ZKA provided an ideal platform for learning, offering direct engagement with teams and companies in the ZK space, while also fostering business development and networking. With nearly 3,000 signups to participate or access event content, and roughly 800 attendees, the event showcased the growing momentum and widespread interest in ZK products and engineering.

Read article

Cryptography
Developer Tools
Ethereum
Product Updates
ZK Applications
November 6, 2024

ICICLE v3.1: More Passion, More Energy, More ZK Performance

In this blog post we share insights from our work with early adopters of ICICLE v3, introduce the new features in v3.1, and provide a detailed look at what’s included in this release. To conclude, we provide information about the next release.

Read article

Developer Tools
ZK Applications
ZK Landscape
Ethereum
October 31, 2024

How ICICLE Helps Grow the zkWASM Ecosystem

Discover how ICICLE accelerates the zkWASM ecosystem, empowering developers with high-performance, privacy-preserving solutions. DelphinusLab integrates Ingonyama’s ICICLE library to enhance zkWASM's proving capabilities, bridging Web2 and Web3 through optimized zero-knowledge proof performance for blockchain and decentralized applications.

Read article

Cryptography
Ethereum
Research Papers
ZK Applications
ZK Hardware
October 11, 2024

Why You Should Pay Attention to RC-STARKs

This article provides a friendly exposition to our new paper: “Really Complex Codes with Application to STARKs” by Yuval Domb. Yuval is the lead author of our textbook on NTTs. His paper doesn’t present a novel idea; instead, it constructs an FFT based on concepts that have been known for decades. Essentially, the paper presents an FFT over the complex field. The main breakthrough is identifying the right symmetry in the problem.

Read article

Cryptography
Developer Tools
ZK Applications
ZK Hardware
September 22, 2024

Solving Reproducibility Challenges in Deep Learning and LLMs: Our Journey

Reproducibility in deep learning is challenging due to floating-point arithmetic and hardware differences. Efforts like using reproducibility flags and quantization help but don’t fully solve the issue. A key breakthrough came from rewriting matrix multiplication kernels, ensuring consistent results across different hardware.

Read article

Cryptography
Developer Tools
Research Papers
ZK Applications
ZK Landscape
September 11, 2024

Provable Watermark Extraction

zkDL++ is a novel framework designed for provable AI. Leveraging zkDL++, we address a key challenge in generative AI watermarking: Maintaining privacy while ensuring provability. By enhancing the watermarking system developed by Meta, zkDL++ solves the problem of needing to keep watermark extractors private to avoid attacks, offering a more secure solution. Beyond watermarking, zkDL++ proves the integrity of any deep neural network (DNN) with high efficiency.

Read article

Cryptography
Developer Tools
Product Updates
ZK Applications
ZK Hardware
September 3, 2024

ICICLE v3: Going multi-platform

‍ICICLE is a cryptography library designed to accelerate Zero-Knowledge Proofs (ZKPs).We are excited to announce the release of ICICLE v3, a major update that introduces robust multi-platform support. Our latest version includes a powerful CPU backend, extending ICICLE’s exceptional performance and user-friendly polynomial API to standard processors, enabling greater flexibility and accessibility.

Read article

ZK Landscape
ZK Applications
Developer Tools
August 27, 2024

ICICLE Case Study: Accelerating ZK Proofs with Brevis

A case study focused on Brevis use of Ingonyama's ICICLE ZK acceleration library. Brevis integrated ICICLE into its operations in early 2023. As Brevis relies on Gnark’s Groth16 for ZK proofs, ICICLE was integrated into the Gnark codebase to accelerate proof calculations. ICICLE plays a critical role in speeding up operations such as Multi-Scalar Multiplication (MSM) and Number Theoretic Transform (NTT), both of which are essential in the Groth16 proving process.

Read article

Developer Tools
Ethereum
ZK Applications
ZK Hardware
August 14, 2024

ICICLE Case Study: Accelerating ZK Proofs with Kroma Network

A case study on how Kroma Network leveraged Ingonyama's ICICLE acceleration library by integrating it with Tachyon, a high-performance, general-purpose, open-source ZK Proof library designed for seamless GPU interoperability. Tachyon is intended as a drop-in replacement for current Halo2 backends, significantly reducing proof generation time and costs.

Read article

Activities
Developer Tools
ZK Hardware
ZK Landscape
August 5, 2024

RFP: ICICLE Tutorials

Announcing an opportunity for those who are passionate about sharing knowledge and helping others. We’re looking to expand our collection of ICICLE tutorials, and who better to create them than the talented members of our community.

Read article

ZK Landscape
ZK Hardware
ZK Applications
Developer Tools
Ethereum
August 1, 2024

Ingonyama x Starknet Strategic Partnership

As of today, Stwo prover holds the world record for prover speed with a whopping 620,000 Poseidon2 hashes proven per second on an M3 laptop. We aim to break this world record by running Stwo end-to-end on an NVIDIA GPU using ICICLE.

Read article

Developer Tools
Product Updates
ZK Applications
ZK Hardware
ZK Landscape
July 23, 2024

ZaKi Usecase: Prover Infrastructure for Prover markets

Technical details on our partnership with Twinstake, an institutional staking company

Read article

Cryptography
Developer Tools
Research Papers
ZK Hardware
July 3, 2024

Sumcheck and Open-Binius

In this blog, we explain the motivation behind our work and how our algorithms can improve the sumcheck protocol over binary fields.

Read article

ZK Landscape
ZK Hardware
Product Updates
Cryptography
Developer Tools
May 9, 2024

Partnership Announcement: Accseal X Ingonyama

The partnership between Accseal and Ingonyama introduces the Leo ZK-ASIC in ICICLE v3, significantly enhancing computational performance and energy efficiency for zero-knowledge proof technology.

Read article

ZK Landscape
ZK Hardware
Product Updates
ZK Applications
May 8, 2024

Introducing ZaKi

We are launching a new, vertically integrated ZK hosting service. ZaKi software is based on ICICLE with hardware optimally configured to run accelerated ZK workloads. It delivers unparalleled cost-performance advantages in ZK computation.

Read article

Activities
ZK Landscape
ZK Applications
Developer Tools
Cryptography
April 25, 2024

ZK Accelerate Athens: RECAP & link hub

On April 11, 2024 Ingonyama hosted ZK Accelerate Athens, a full day of content focused on ZK engineering and product. ZKAA was sponsored by no fewer than 17 teams focused on ZK innovation and preceded by ZKSummit11, which took place at a nearby venue the previous day.

Read article

ZK Hardware
Developer Tools
Cryptography
Activities
April 24, 2024

Deep dive into the Latest MSM Hardware Implementation

The 2023 ZPrize competition (Prize 1A) challenged participants to accelerate MSMs on either NVIDIA GPUs or AMD FPGAs. The work described in this blog post was a collaboration between ZPrize 2022 winner Niall Emmart of Yrrid Software and Ingonyama’s Tony Wu. Niall was the architect of the project and Tony was in charge of the implementation.

Read article

Ethereum
ZK Landscape
Developer Tools
ZK Applications
April 15, 2024

Partnership announcement: Aligned X Ingonyama

Partnership announcement: we are joining forces with Aligned Layer to create a full-stack ZK infrastructure platform,, bridging the gap between Provers and Verifiers for enhanced scalability and innovation.

Read article

Cryptography
ZK Landscape
ZK Applications
Research Papers
March 28, 2024

Cryptographic Fog of War

Discover the groundbreaking game mechanic revolutionizing online gaming in Dark Forest, featuring PvP without a trusted party, hidden information, and deterministic state enabled by ZK and MPC cryptography. Learn about the innovative Oblivious KZG and bidirectional VOT for a secure, immersive experience.

Read article

Developer Tools
Product Updates
ZK Hardware
ZK Landscape
ZK Applications
March 26, 2024

Product Announcement: Aleo IP Core

A ZK Hardware case study. Our next-generation IP features a parameterized design, achieving state-of-the-art performance. With a miner manager and customizable Aleo cores, it marks a strategic pivot towards IP Core development, reflecting the dynamic nature of ZK technology

Read article

ZK Hardware
Research Papers
Cryptography
March 11, 2024

Sumcheck 201, Chapter 2: Checkfold - Folding Sumcheck Instances

In this chapter, we construct a knowledge-reduction argument for the sumcheck protocol that reduces the proving of a large-sized sum-check to the proving of a folded small-sized sum-check.

Read article

Product Updates
Developer Tools
ZK Hardware
ZK Landscape
March 3, 2024

Product Update: ICICLE V1.6.0

ICICLE introduces new Golang bindings, multi-GPU support, and improvements in vector operations, Grumpkin curve support, NTT, and MSM, enhancing ZK acceleration with CUDA-enabled GPUs for various cryptographic applications.

Read article

Developer Tools
ZK Hardware
ZK Landscape
Product Updates
February 9, 2024

Product Update: ICICLE V1.2.0

Product update to ICICLE, including support for Poseidon hash accompanied by a dedicated tree builder, support for a new NTT algorithm, improved MSM design with support for G2 and batched MSM, Rust bindings now supports Windows, and fixed overflow in large coset NTTs

Read article

Research Papers
ZK Hardware
February 2, 2024

Sumcheck 201

In this chapter, we explore sum-check protocols from the point of view of parallelizable computation in devices such as GPUs. We explore algorithmic modifications to the sum-check protocol, for products of Multi-Linear Extensions (MLE) to improve parallel compute and address memory bottlenecks.

Read article

Research Papers
ZK Hardware
Cryptography
January 29, 2024

Application of Graph Methods for Efficient Quotient Polynomial Evaluation in Halo2

In this paper we present our research on applications of graph methods to parallelize the quotient polynomial in the Halo2 Zero-Knowledge Proof (ZKP) system.

Read article

ZK Applications
ZK Hardware
ZK Landscape
January 23, 2024

Ingonyama Seed Funding Announcement

Our seed round totalled $21M in funding and was led by IOSG Ventures, Walden Catalyst Ventures and Geometry, with the participation of many other valuable partners. We are excited to introduce our incredible investors and their role in our story.

Read article

Developer Tools
ZK Applications
ZK Hardware
ZK Landscape
December 5, 2023

ICICLE for Researchers: Grants & Challenges

We invite researchers and practitioners to advance ZK acceleration together with Ingonyama. For this purpose we are allocating $100,000 to be distributed as grants.

Read article

Developer Tools
ZK Applications
ZK Hardware
ZK Landscape
November 30, 2023

ZK Benchmark Toolkit

All our benchmarking data is, from now on, publicly available. In this blogpost we use a new open source FPGA accelerator for Grøstl hash to demonstrate how to work with our database. This is a follow up work to our ZK-Score proposal.

Read article

Activities
ZK Applications
ZK Hardware
ZK Landscape
November 24, 2023

ZK Accelerate Istanbul: RECAP & Link Hub

The success of ZK Accelerate was testament to the growing interest and development in the ZK space. As a hardware company, Ingonyama strives to set new benchmarks for the Zero-Knowledge community, and ZK Accelerate was no exception.

Read article

Developer Tools
Ethereum
ZK Applications
ZK Hardware
ZK Landscape
November 10, 2023

Product Announcement: ZK-Containers

Ingonyama is the developer of ICICLE, which is the equivalent of PyTorch for AI, but for ZK proof generation. We are offering a new set of tools alongside ICICLE. Let us introduce the ZKDC framework, a set of secure and optimized ZK Containers for ICICLE applications and a set of scripts for deploying basic ZK datacenters.

Read article

Cryptography
ZK Applications
ZK Landscape
November 8, 2023

ZKPs, SIGINT and Psychological Warfare

One of the major escalation patterns we are witnessing in modern warfare is the amplification of acts allegedly done in violation of international treaties. This logic is generally based on gathered intelligence, which is often too sensitive to expose. ZKPs provide a way to maintain the confidentiality of gathered intelligence, while still allowing for disputes of false claims.

Read article

Developer Tools
ZK Hardware
ZK Applications
November 7, 2023

AMD XDNA: Meet 2023 ZK Acceleration King

As the computational demand for AI inference increases at the edge and in the data-center, manufacturers are integrating power-efficient AI engines into their devices. AMD’s new AI-Engine architecture, called XDNA is one such example, and are currently available in select Versal FPGAs and laptop CPUs. What’s interesting for us, in the context of ZK acceleration, is their excellent integer multiply performance.

Read article

Cryptography
Developer Tools
ZK Hardware
ZK Landscape
ZK Applications
October 23, 2023

ZK Score - ZK hardware ranking standard

There is importance in having a clear framework for comparing different ZK tech stacks. We argue that a good first step would be to use ZK Score: upper-bounding the proofs-per-Joule at the hardware level.

Read article

ZK Applications
ZK Hardware
ZK Landscape
Cryptography
Activities
September 18, 2023

Revisiting Paradigm “Hardware Acceleration for Zero Knowledge Proofs”

In April 2022, Paradigm.xyz released a blog post about ZK hardware acceleration. We go back to this piece with the goal of setting the record straight given certain inaccuracies in their analysis as well as presenting some new data points and arguments to enrich the original text based on our experience working in the field.

Read article

Developer Tools
ZK Hardware
ZK Applications
ZK Landscape
August 23, 2023

Accelerating Filecoin’s PC2 Processing with FPGA on W3BCloud

We present design and implementation details of an alternative Filecoin PC2 accelerator based on FPGAs (Field-Programmable Gate Array), utilizing their low power compared to GPUs, thereby significantly improving the overall performance of PC2.

Read article

ZK Applications
Activities
August 22, 2023

The Z Games: Pushing ZK Provers to the Extreme

A competition for accelerating real-world ZK provers, inspired by ZPRIZE and the X Games. Aleo is a blockchain for privacy-preserving applications, powered by Zero Knowledge.

Read article

Developer Tools
ZK Hardware
ZK Applications
ZK Landscape
August 18, 2023

Diving Deeper into Blaze: NTT Module

Introducing a new module for working with NTT on BLAZE - a Rust library for ZK acceleration on Xilinx FPGAs.

Read article

ZK Landscape
ZK Hardware
ZK Applications
August 15, 2023

ZK Movie: Behind The Scenes

Behind the scenes of our short film showcasing the realm of Zero-Knowledge Proofs set in a medieval fantasy world.

Read article

Cryptography
ZK Applications
ZK Landscape
August 10, 2023

Solving LLM Privacy with FHE

With the latest advancements, the best existing implementation of FHE can execute an arithmetic operation in just 35 microseconds.

Read article

Developer Tools
Ethereum
ZK Hardware
Cryptography
ZK Applications
August 1, 2023

User Guide: ZK Acceleration of Gnark using ICICLE

In this blogpost we present the motivations, background, architecture, integration, and performance of ZK acceleration of Gnark using ICICLE.

Read article

Cryptography
ZK Applications
ZK Landscape
July 28, 2023

How to Beat Deep Fakes (Part 1)

Realistic Deep Fakes reached a tipping point in 2020, crossing the uncanny valley into dangerous territory. The application of Zero-Knowledge Proofs (ZKPs) can address these vulnerabilities and enhance the security and reliability of the editing process.

Read article

Developer Tools
ZK Hardware
Cryptography
July 3, 2023

ZPU: The Zero-Knowledge Processing Unit

In this blog we propose the Zero Knowledge Processing Unit (ZPU), a versatile and programmable hardware accelerator, designed to address the emerging needs of ZKP processing. We introduce the ZPU architecture and design considerations. We explain the design choices behind the different parts of the ZPU ecosystem: ISA, data-flow, memory and processing element (PE) internal structure. Finally, we compare to state-of-the-art ASIC architectures for ZK and Fully Homomorphic Encryption (FHE).

Read article

Cryptography
Developer Tools
Ethereum
ZK Hardware
May 30, 2023

Fast Danksharding Video & Slides

Fast Danksharding video & slides presented by Tomer Solberg of Ingonyama at The Pit by Jump Crypto

Read article

Developer Tools
ZK Hardware
May 15, 2023

Introducing Blaze: ZK Acceleration for FPGA

Blaze is a Rust library for ZK Acceleration on FPGA. It makes FPGA integration into ZK projects seamless and easy. With Blaze, any engineer can instantly start working with FPGAs.

Read article

ZK Applications
ZK Hardware
ZK Landscape
May 4, 2023

Hardware Review: GPUs , FPGAs and Zero Knowledge Proofs

Hardware Review: GPUs , FPGAs and Zero Knowledge Proofs. An Overview of the Power of ZKP in Decentralized Systems, from scaling Ethereum to private Layer 1s, decentralized cloud, gaming, and more.

Read article

Research Papers
Cryptography
Developer Tools
ZK Hardware
April 25, 2023

RISC Zero Prover Protocol & Analysis

A companion work to the Risc Zero white paper, this is the Risc Zero Prover Protocol and Analysis

Read article

ZK Hardware
Developer Tools
April 20, 2023

ZK Hardware Table Stakes part 1 -MSM

MSM designs are table stakes for zk hardware acceleration. We expect that following the lead of ZPrize, new ideas and implementations will be brought to the open-source, public stage where they can be shaped, re-shaped and adjusted by users, among them ZK hardware companies, to solve real world ZK infrastructure problems.

Read article

Research Papers
Ethereum
March 20, 2023

Unleashing Secure AI

Privacy concerns have long been a barrier to fully unlocking AI’s potential in sensitive industries. The addition of privacy-preserving technologies to AI systems will unlock generative algorithm’s greatest potential to humankind.

Read article

ZK Applications
Developer Tools
March 8, 2023

Introducing ICICLE: An Open-Source GPU Library for Zero Knowledge Acceleration

Like earlier game-changing technologies in history, the road to mass adoption and scale goes through hardware. Today we are releasing ICICLE, a new CUDA-based GPU library, to support ZK acceleration for applications like Aleo and many others. As an example application, we also present “Fast Danksharding”, our Rust implementation of a Danksharding Builder.

Read article

ZK Applications
Cryptography
Research Papers
March 8, 2023

Fast Danksharding using ICICLE

In this blog we provide technical details on our Danksharding CUDA implementation. Using ICICLE, we have implemented a flow that can run entirely in the GPU, with only the relevant outputs to be sent to a host machine and populated on the Ethereum network.

Read article

Cryptography
Research Papers
February 22, 2023

A Brief History of Lookup Arguments

Includes uses of lookup protocols, Plookup, Cq (like you have never seen before), and the evolution from Plookup to Cq. zk-SNARKs have evolved in recent years focusing mostly on making them more succinct and lowering prover and verifier time. However most SNARKs are still limited to arithmetic operations that can easily be converted to polynomials.

Read article

ZK Applications
Activities
February 13, 2023

How Zero-Knowledge Proofs Will Change Gaming Forever

Zero-Knowledge Proofs (ZKPs) will transform the gaming industry. They can be implemented in two key ways: multiplayer gaming architecture and gameplay.

Read article

Cryptography
ZK Landscape
Research Papers
February 8, 2023

Intro to ECNTT, presented at Starkware Sessions 2023

Intro to ECNTT from Starkware Sessions 2023

Read article

Cryptography
ZK Hardware
Developer Tools
January 15, 2023

Multi-Precision Fast Modular Multiplication

Improving modular multiplication, even by a little bit, can result in significant acceleration…So obviously, we at Ingonyama are obsessed with this problem.

Read article

Cryptography
ZK Hardware
Research Papers
December 28, 2022

Hardware-friendliness of HyperPlonk

In this note we provide the hardware perspective on HyperPlonk. We focus on the main building block, the Multivariate SumCheck protocol and compare its computational and memory complexity to that of an NTT (Number Theoretic Transform).

Read article

ZK Applications
Activities
December 22, 2022

Zero Knowledge Proofs and the Metaverse

In the first week of December, 2022, the term “Metaverse” placed second in the Oxford English Dictionary’s competition for Word of the Year, a vote cast by over 300k people signifying a word or expression believed to have lasting cultural significance reflecting the ethos and moods of the past twelve months.

Read article

Cryptography
ZK Hardware
Developer Tools
December 13, 2022

Goldilocks NTT Trick

Polynomial arithmetic is at the heart of modern Zero Knowledge Proving (ZKP) systems. The Number Theoretic Transform (NTT) is a crucial tool in facilitating efficient computational complexity over large polynomials encountered in ZKPs.

Read article

Developer Tools
December 4, 2022

Down the Rabbit Hole: Optimizing AWS F1 Direct Memory Access (DMA)

When implementing a system involving both software and hardware components, unforeseen issues always seem to occur at the interfaces.

Read article

Developer Tools
ZK Hardware
November 23, 2022

Sparkworks - Native Hardware Acceleration in Arkworks

We demonstrate integration of our cloud-ZK FPGA acceleration by running Arkworks Groth16 over the BN254 curve This work can easily be extended to support other primitives in the Arkworks framework and various System/HW configurations

Read article

Cryptography
ZK Hardware
Research Papers
November 15, 2022

“Pushing the Limits on NTT Computation”

We report on the Winograd-based implementation for the Number Theoretical Transform. It uses less multiplications than the better-known Cooley-Tuckey alternative. This optimization is important for very high order finite-fields.

Read article

ZK Applications
Cryptography
Research Papers
October 25, 2022

Marlin & Me: A Deep Dive into the Heart of the Marlin ZK Protocol

In this article, we dive deep into the heart of the Marlin protocol introduced in [1]. The goal of the document is to provide intuition in the various technical steps involved in the protocol with necessary explanation wherever possible. We will assume some familiarity with protocols such as Groth16

Read article

Cryptography
ZK Hardware
Research Papers
October 3, 2022

Systemization of Knowledge: ZK-Friendly Hash Functions

In this article we present a systematization of knowledge (SoK) on the usage of hash functions in Zero Knowledge Proofs (ZKP’s). Since ZKP’s operate on finite fields, traditional time-tested hash functions like SHA256 are unsuitable due to overhead in proving and verification of large number of bitwise operations.

Read article

ZK Applications
Ethereum
Activities
October 3, 2022

Bridging the Multichain Universe with Zero Knowledge Proofs

Bridges are communication protocols that facilitate the transfer of information such as messages, funds or other data between blockchains. While useful, building bridges is a risky business. Some of the most expensive hacks in blockchain history have targeted bridges alone.

Read article

ZK Applications
Developer Tools
September 4, 2022

Cloud-ZK: A Toolkit for Developing ZKP Acceleration in the Cloud

Zero Knowledge (ZK) technology is a fundamental building block for decentralized computing. Its two main applications are privacy-preserving computation and verifiable computation. For specific types of ZK such as SNARK and STARK-based systems, additional properties include public verifiability...

Read article

Ethereum
August 18, 2022

Polygon’s zkEVM Fun Facts

We spotted an opportunity to share some interesting data points on their zkEVM. zkEVM Prover is the most complex part of the code. zkEVM is mostly written in Go (Prover in C++) with some utilities in Javascript / Typescript.

Read article

Cryptography
ZK Hardware
ZK Applications
Developer Tools
August 18, 2022

Ingopedia: A Repo for all things ZK

A curated collection of: Resources, Articles, Lecture, Videos, Tutorials . Contribute to ingonyama-zk/ingopedia development by creating an account

Read article

Cryptography
ZK Hardware
Developer Tools
August 18, 2022

Poseidon-Hash Repository

Poseidon is a hash function designed to minimize prover and verifier complexities when zero-knowledge proofs are generated and validated. Until recently, developers using the Python programming language weren’t able to utilize Poseidon Hash, a ZK friendly hashing algorithm.

Read article

Cryptography
Developer Tools
August 18, 2022

Fast Modular Multiplication

Modular multiplication is arguably the most computationally-dominant arithmetic primitive in any cryptographic system. This note presents an efficient, hardware-friendly algorithm that, to the best of the author’s knowledge, outperforms existing algorithms to date.

Read article

ZK Hardware
Developer Tools
August 18, 2022

PipeMSM: Hardware Acceleration for Multi-Scalar Multiplication

In this paper we present a new hardware design for MSM and implement it on FPGA. We conduct the first-ever comparison between FPGA and GPU.

Read article

ZK Applications
Cryptography
Research Papers
Ethereum
August 18, 2022

A Mathematical Theory of Danksharding

Danksharding is the new sharding design proposed for the Ethereum 2.0 blockchain, which introduces significant simplifications compared to previous designs. In Danksharding, the Beacon block is a periodic data structure, constructed by a Builder, whose primary concern is to enable Validators to verify the correctness and availability of its data, using constant-time sampling and verification.

Read article

ZK Applications
Developer Tools
August 7, 2022

Introducing Ingonyama - Lowering the Barrier of Entry to ZKP

We are a next-generation semiconductor collective, designing accelerators for advanced cryptography. Our mission is to lead the pack, forging the bedrock upon which applications requiring Zero Knowledge Proof performance can be built at greater speed and scale.

Read article

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.