Code Monkey home page Code Monkey logo

grants-program's People

Contributors

tsivarev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grants-program's Issues

Grants for engaging new bunch of users in TON.

Hello!

We are building fantasy-football game based on TON and we need to invest a lot of time and money to engage football fans to use TON and create new wallets to play our game. We would be grateful to get a grant for reaching a new bunch of users for TON comunity (as football fans) in different chanels.

So do you have any grant for which we can apply?

Thank you very much in advance!

Eldar

Adjustments to sponsorship application

Summary

'TON events in Georgia' sponsorship application adjustments:

  1. We aim to attract international developers and run frequent, every 2 week, community meetups (besides the fact the country was fled by relocated companies and their employees, we have international miners and traders groups who have audience outside Georgia /mostly EU/ and can help us to attract more developers from their inner circles).
  2. Via TON NFT exhibitions we plan to attract TON ambassadors and NFT artists from different countries (EU, Great Britain, UAE, Turkey, Azerbaijan, Armenia, etc).

Budget estimation

15000 TON for 1 year — for frequent, every 2 weeks TON developers meetups (international + locals). 7000 TON — for an international TON NFT exhibition (offline in Tbilisi, online — worldwide via Telegram channels).

Context

In our region and nearby there is a lack of systematic TON events and community meetups.

KPI

  1. For every 2 weeks meetups for 1 year: reach total of 5,000 international community members (TON developers / ambassadors)

  2. For 1 TON NFT exhibition: 1,500 international and local attendees (developers, NFT artists, TON ambassadors, etc).

Suggested form of support

Funding and some introductions to TON media resources will be much appreciated.

TON Svet , TON CON

Summary

IMG_20220603_101151_831
We are helping to make TON global adoptive method of communication. We are making it in educational way: Peer-to-Peer, in groups, online and offline (life).

TON CON: 300-500 bew people for TON ecosystem, new registrred wallets in 2 days. Total 1000+ people (businesmen, social workes, artists, politicians)
https://toncon.space

TON Education: weekly 10-40 people learn further about blockchain, create new teams, learn blockchain terminology in English.
https://tonsvet.org

Results:
26 weekly life events with >40 people on each
400+ people learned about TON in life events
200+ new registered TON wallets
4 new ecosystem and media projects successfully launched (TON Banking, CryptoLeto, Evening TON, TON CON)
1 huge brand agency is already launching new international clothes brand on TON and has alredy presented in Arabic online forum and will present it in Dubai summit this Autumn after our Evening TON stream, where we invite such people.
TON Svet.pdf

Budget estimation

10000

Context

We need to keep educating people personally to get mass adoption effect. For most people its difficult to understand even telegram mechanics not even speaking about TON ecosystem.

We also need to communicate to international communities: Turkey and Iran a re most likely to be involved into common event as TON CON We can make it yearly as a symbol of unity of Eurasia contries: Turkey, Iran, Kazakstan, Russia, Belarus etc.

KPI

TON CON:
1000+ participants from differents countries: enterpreners, politicians, artists, businessmen, developers meet each other on it and make global projects together on TON.

TON Education:
40-160 weekly people, who learn English blockhain topics, learn TON ecosystem, launch statups on TON

Suggested form of support

We need funding to pay developers and mediators work, to fix rental spents.

What the grant for DeFi projects, such as DEX, will depend on

After all, I am sure that several experienced teams are working on projects for TON that can make a good product, write excellent SC, but at the same time they will not have liquidity and volumes on the exchange. And also if there is a minimum of liquidity in TON itself, some projects with tokens that will be traded on the DEX, what to do in this case.

Now I see such a problem, there are many projects / teams / developers who are ready to create projects, develop products. But long-term consideration in the grant and investment program significantly slows down the process.

We also have developers who are working on other businesses, and objectively, we would have already accelerated many times over if support was carried out faster. After all, time is money. And it is spent not only on development, creation, search for vulnerabilities, but also on marketing.

Perhaps it would make sense to do a little early (minimal) support to speed up development at an early stage. What do you think?

additions to the application

Good afternoon! I have applied for a grant and would like to submit it again with additional information. How do I find my past application?

A bunch of comments

1. Should bridges and DEXs be in the same contest?
A whale bringing a BTC bridge can, in one fell swoop, bring in 100M$ whereas a DEX will have a more of a challenge creating this type of liquidity from one project in the TON ecosystem as it stands today

2. The cliff and vesting
Perhaps an example will help better understand - "Once you reach a TVL goal, you are awarded the Toncoin but in a vested manner. For example: Upon reaching 50M TVL, you are entitled to 650k, but you will receive it only after 6 months of the first date of getting to theTVL, at which point you will receive 50% (325K). After that you will receive ~54k (650/12) monthly."

3. First come first serve
If a single project reaches all the milestones first, will they and gets all 14 million, or is there a cap per project? A numeric example could help better understand

5. Additional guidelines
If these are examples of factors, perhaps the text should be: "...Here are some examples of factors ..."

6. Active users (typo :"users").

7. "Liquidity of the locked values"
What doe "Liquidity of the locked values" means? Is this the depth of the pools? The reputability of the Jettons? Something else?

8. Terms
It's implied from the text that the rewards will be given in TON, not fiat, but it should be explicitly stated.

9. 1-year window with fixed TON price ($1.00)
Not clear what is meant here. Same for the rest of the clauses in the terms section. Giving numeric examples will help everyone better understand.

10. Conditions
"Initial approval by TON Society and pre-determined start date" (typo)

NIT - a smart contracts builder.

Summary

New Information Technologies will bring to TON ecosystem simple and user-friendly DAO builder with programmable digital statute and smart contracts, tools to write and read information to blockchain.

More information - https://github.com/nitnetwork/NIT-Documentation/blob/main/NIT_WhitePaper_v1.2.md.

Budget estimation

150000

Context

We deal with the next difficulties:

  • the lack of dependable, uncomplicated, and clear tools to execute essential activities of cooperation with blockchain (such as write, read, smart contract, DAO).

  • restricted sources of trustworthy standards, methods, and rules regarding the use and implementation of blockchain technology in the real world.

KPI

No response

Suggested form of support

We need to build mvp for our project,prepare project for next stage of fundraising and we need community support.

Utility to query, modify, and mint new NFTs on TON blockchain

Summary

🧨 TNT

TNT is an all-in-one command line tool to query, edit, and mint new
Non-Fungible Tokens on The Open Network. Written in Kotlin
it enables fully cross-platform experience with no extra dependencies and does
not rely on any third-party services. Out-of-the-box multiple network
configurations are provided, for easy use in mainnet (live TON network) as well
as testnet, and
sandbox for experiments and development.

Team: NFT Marketplace Libermall https://github.com/LiberMall

Disclaimer: TNT is software in early development, based on beta versions
of underlying tools and libraries. Although possible, it is strongly
discouraged to use its modifying capabilities (commands such as tnt mint)
in live TON mainnet network, as it may result in loss of funds.

TNT is provided WITHOUT ANY WARRANTY

Installation

Currently, only JVM-based builds are available. Any JDK supporting Java 11+ is
sufficient to run and use TNT.

  1. Download latest version from releases
    page. Development versions are built for each commit and can be found on the
    actions page.
  2. Extract downloaded archive
  3. Use ./bin/tnt to run commands.

Getting Started

TNT features multiple commands to query, modify, and create new NFT items
and collections on The Open Network blockchain.

It is important to note use of --network=mainnet|testnet|sandbox option in
following examples to explicitly specify target network, as attempting to call
an operation on a contract residing in a different network will inevitably fail.
This option defaults to testnet.

Getting NFT Collection Information

In order to get NFT collection info, such as number of items in it or its owner
account, tnt collection command is used as follows:

$ tnt --network=mainnet collection 'EQAadrsHePbHk-v7KtM4_jrX0HTlMYfP9ZGtlLgn590D7-SC'
                    Collection Properties                     
┌─────────┬──────────────────────────────────────────────────┐
│ Address │ EQAadrsHePbHk-v7KtM4_jrX0HTlMYfP9ZGtlLgn590D7-SC │
├─────────┼──────────────────────────────────────────────────┤
│ Size    │ 7778                                             │
├─────────┼──────────────────────────────────────────────────┤
│ Owner   │ EQDVF5iErB47ryuH2HRBrbVIm-EKrb5WdTStrGEM8F9i77qB │
└─────────┴──────────────────────────────────────────────────┘
                            Collection Content                            
┌──────┬─────────────────────────────────────────────────────────────────┐
│ Kind │ off-chain                                                       │
├──────┼─────────────────────────────────────────────────────────────────┤
│ Uri  │ https://s.getgems.io/nft/b/c/626a922e5e67c1f424154711/meta.json │
└──────┴─────────────────────────────────────────────────────────────────┘

Getting NFT Item Information

To get information about a particular NFT item, whether or not it belongs to
any specific collection, use tnt item:

$ tnt --network=mainnet item 'EQA9V87ROI2DZqm65Jj-CIaOMF4RgElzOge0YgktWqyOJO1x' 
                         Item Properties                          
┌─────────────┬──────────────────────────────────────────────────┐
│ Address     │ EQA9V87ROI2DZqm65Jj-CIaOMF4RgElzOge0YgktWqyOJO1x │
├─────────────┼──────────────────────────────────────────────────┤
│ Initialized │ true                                             │
├─────────────┼──────────────────────────────────────────────────┤
│ Index       │ 69                                               │
├─────────────┼──────────────────────────────────────────────────┤
│ Collection  │ EQAadrsHePbHk-v7KtM4_jrX0HTlMYfP9ZGtlLgn590D7-SC │
├─────────────┼──────────────────────────────────────────────────┤
│ Owner       │ EQChmtQM0oJX01hIY-9ej_whDeAWqtz_UtqlnDJJBpUszX28 │
└─────────────┴──────────────────────────────────────────────────┘
                           Item Content                           
┌──────┬────────────────────────────────────────────────────────────────────┐
│ Kind │ off-chain                                                          │
├──────┼────────────────────────────────────────────────────────────────────┤
│ Uri  │ https://s.getgems.io/nft/b/c/626a922e5e67c1f424154711/69/meta.json │
└──────┴────────────────────────────────────────────────────────────────────┘

Minting items and collections

Note: This is a modifying operation, that will send actual transactions to
the chosen network. Certain amount of toncoins is required to perform these
operations, it is strongly recommended to use free test coins provided by
faucet bots in testnet or sandbox.

Unlike other tools used for mint of NFT items and collections, TNT deploys
a single-use wallet contract for each invocation of tnt mint command. Main
reason for this is security, as it eliminates the need of passing around secret
keys or mnemonic seed phrases. Whenever an NFT entity is deployed, ownership
is then transferred to an actual owner account, that is assumed to have its
secrets stored in a secure place. Another big reason is the ability to use
more efficient contracts for deployment, such as high-load wallets, speeding
up deployment of large collections. Importantly for testing, it also means
that mint of the same entity multiple times will result in a new address being
generated each time.

On the other hand, because a new account is used each time, insufficient
balance or any failure during TNT's run may result in funds being
permanently locked in an inaccessible contract. Failure recovery functionality
is planned to be implemented in the future, when this tool reaches its first
stable release.

It is also important to note that at the moment there is no way to estimate
processing fees required to run smart-contracts on TON, and because of this
it is up to the user to provide sufficient amount of funds for this tool to
operate. Approximate amounts are currently specified as constants, and can be
modified by the user. As a general rule of thumb, minting a single item,
whether standalone or in collection, will cost about ~0.3 TON. This amount
includes worst case scenario blockchain fees and was choosen to be a safe
default, in reality it costs less than 0.2 TON.

Specification file

For better portability, TNT reads desired item/collection properties from
a specification JSON file. This means that the same collection may be deployed
in testing network during development, and then simply minted according to the
same specification in mainnet.

Please note, before TNT reaches stable version, specification format is a
subject to change. Original files of the following examples can be found in the
examples directory.

Standalone item example specification

Here's an example of a specification, that will mint a standalone (meaning it
does not belong to any collection) item when passed to tnt mint

{
  "entities": [
    {
      "type": "item",
      "index": 69,
      "owner": "EQDpl_EDsAwIME91TvXCi6xsM_7dYaB4vZoDbcu_QHmldeUI",
      "content": {
        "type": "full_snake",
        "value": "https://s.getgems.io/nft/b/c/626a922e5e67c1f424154711/69/meta.json"
      }
    }
  ]
}

entities - an array of NFT entities (standalone items/collections) to mint.
Single specification may contain multiple entities of any kind.

type - must be "item" for standalone items.

index - index of an item in the collection. Makes no difference for
standalone items, and it is recommended to set it to "0" in this case.

owner - contract to be assigned as the owner of this item. After successful
mint a transaction will be sent to this address. Base64(url) and raw addresses
are supported, with special value "none" indicating empty owner. This will
essentially "burn" this item, as it will not be possible to ever change its
owner again.

content - item content, its metadata. In this case it is a "full_snake"
content kind, meaning it is a string containing a URL to off-chain JSON file
that is encoded in "snake data" format.

For more advanced users, "cell" kind of data may be used, where value is's a
base64-encoded Bag-of-Cells with a single root cell that will be used as item's
content.

{
  "type": "cell",
  "value": "base64-encoded BoC with a single root cell"
}

To mint this standalone item, use the following command:

$ tnt --network=testnet mint examples/lonely_dog.json

And proceed with the instructions. You will have to send at least 0.3 TON to
the newly generated wallet address in testnet.

Collection of items

For this, a slightly different specification is used:

{
  "entities": [
    {
      "type": "collection",
      "collection_content": {
        "type": "full_snake",
        "value": "https://s.getgems.io/nft/b/c/626a922e5e67c1f424154711/meta.json"
      },
      "common_content": {
        "type": "naked_snake",
        "value": "https://s.getgems.io/nft/b/c/626a922e5e67c1f424154711/"
      },
      "owner": "EQDpl_EDsAwIME91TvXCi6xsM_7dYaB4vZoDbcu_QHmldeUI",
      "royalty": {
        "numerator": 69,
        "denominator": 1000,
        "destination": "EQDpl_EDsAwIME91TvXCi6xsM_7dYaB4vZoDbcu_QHmldeUI"
      },
      "items": [
        {
          "owner": "EQDpl_EDsAwIME91TvXCi6xsM_7dYaB4vZoDbcu_QHmldeUI",
          "content": {
            "type": "naked_snake",
            "value": "1/meta.json"
          }
        }
        ...
      ]
    }
  ]
}

entities - same as before, single specification may contain multiple items
and collections to mint.

type - must be "collection"

collection_content - metadata of this particular collection contract. Note
the use of "full_snake" kind, it is important as wrong encoding may result in
client applications not being able to read collection content properly.

common_content - part of metadata that is common between all items of this
collection. Usually this is the longest common part of URL to item metadata.
Note the use of "naked_snake" kind, it is important because collection smart
contract concatenates common content, with individual item content via its get
method, producing valid "full_snake" snake data for the clients.

owner - an address of account that will be able to modify collection metadata
as well as mint more items.

royalty - this section contains information about royalties from each sale of
any item in the collection.

royalty.numerator, royalty.denominator - these two properties specify
percentage that will be sent to royalty holder on a sale. Maximum is 15%
Percentage is computed as numerator/denominator, in this case it is 6.9%.

royalty.destination - address of an account that will receive the royalty.
It is possible to set it to "none", as well as setting numerator and
denominator to 0, which will essentially disable royalty functionality of the
smart-contract.

items - an array of every item in the collection, specifying item's owner and
content. Note that item order matters, first item is assigned index of 0, next
has index of 1, and so on. TNT always obeys the original order of items.

In order to mint this collection, use the following command:

$ tnt --network=testnet mint examples/tegro_dog.json

Proceed according to instructions, you will have to send at least 3 TON to the
newly generated single-use address in testnet.

Reporting Issues

Please, use issues page to report
any bugs, ask questions or suggest new features.

When reporting bus, make sure to provide as much helpful information as you
can: operating system and its version, JDK version used to run TNT, exact
command line you used and program's output you got.

TNT also creates log files for each invocation in system's temporary path,
which is usually /tmp on Unix-like systems and %TEMP% on Windows. Files are
named as tnt.<yyyyMMdd'T'HHmmss>.log, middle part being the exact time of
program startup. These log files are immensely helpful when troubleshooting.

Warning: When running tnt mint, log files contain single-use wallet's
private key. This is done intentionally to allow recovery of coins in case of
failure, but may pose a security risk if misused. Never share these raw log
files without first removing sensitive information from them.

In future versions, this behaviour will be changed.

Budget estimation

2000

Context

(T)ON (N)FT (T)ool - All-in-One command-line utility to query, modify, and mint new NFTs on TON blockchain

KPI

Open-source

Suggested form of support

Financial support is not required. We are working for the benefit of TON.

No Code TON Token Generator (Nocturnal)

Summary

Screenshot 2022-10-14 at 16-05-59 Logo Maker Used By 2 3 Million Startups (resized)

Nocturnal is a tool that will allow artists to easily create NFTs on TON blockchain and put them on sale.
With easy to use interactive graphic interface, Nocturnal will allow set up layers, rarity, and other parameters and generate NFTs, with also an option to put them on sale on marketplaces like GetGems, etc.

Budget estimation

If the project interests you, I'll estimate the budget and time needed to complete it.

Context

The NFT market is growing and many artists want to get involved in this market.
However, creating NFTs requires technical knowledge, like generating images from a layers, uploading them to IPFS, generation NFTs according to rarity, deploying contracts and so on, which became a barrier for many artists to get involved in this market.

KPI

  • Easy to use tool for artists to create NFTs on TON blockchain
  • Attract new artists to TON blockchain, who've never worked with blockchain before

Suggested form of support

We are looking for support in the form of funding for the development of the project until we reach the MVP.

Smart contracts/FunC Education

Summary

1000+ new smart contract developers

Budget estimation

15000

Context

The increase in the number of smart contract developers has a positive effect on the development of the blockchain. People who have been programming for several years face difficulties when trying to develop smart contracts in TON: finding sources with information, installing many programs on a PC / server, handling errors. As a result, in order for a beginner to create a simple smart contract, you need to spend several hours or even days.
The goal of my project is to simplify the development of smart contracts without installing any programs, using only a website. Together with video tutorials on YouTube, for English-speaking and Russian-speaking audiences, with the ability to scale. As soon as the project gains a large audience, it will be a school for the development of smart contracts with the ability to scale to the whole world.

KPI

  • Website programming
  • Development of a methodological model of teaching
  • User training (video on YouTube)
  • Attracting English-speaking and Russian-speaking audience (advertising in Telegram/YouTube/Instagram)
  • Chat support for developers

Suggested form of support

We want to scale our https://tonsc.org project. We need a help with funding.

DeFi Liquidity Award Program Comment from a Community Member

1/ Is it mutually defined TVL or whatever TON Society decides? Obv lots of projects report differently to juice their numbers. Do you just take the TVL they publicly report to analytics companies?

2/ How do we ensure that we're getting a good mix of projects to build a robust ecosystem and that e.g. 4 DEXs don't hog all the funding (4 DEX projects with $200M+ TVL)?

3/ Will you encourage / incentivize particular product categories where TON is lagging? "Hey, we need a yield aggregator badly." How can we market to those critical projects?

4/ Your examples are helpful. The calcs are not super straightforward, so that was a good idea.

5/ Qualitative assessment - interview, due diligence questionnaire - in the LAP application?

6/ I know a few legit projects who would be interested in this program. They've demonstrated PMF on other chains. What's the best way to get founders in front of the team? Create TG Group?

TON CON MetaSpace

Summary

IMG_20220926_170353_022

TON CON MetaSpace is the place for:

  1. Weekly TON Education meetups
  2. Monthly Hack-a-TONs
  3. Quartally Congresses

Moreover it is a data base for educational and conferences' recordings, speakers' and projects' presentations

+37000 new users in TON after 27 months
(1370 new unique users per month )
1200-14000 new active wallets per month

TON CON MetaSpace Concept.pdf

Budget estimation

81'000 TON

Context

• war and pandemy put more users into online
• businesses are searching how to decrease risks in their businesses and learning how to put blockchain technologies into thier businesses
• more people start use NFTs and tokens to manage their societies

TON CON DAO (Manifesto, Emission, Tokenomics etc.)
TON_CON.pdf

Screenshot_20221001-003958

KPI

TON CON DAO will provide weekly, monthly and quartally events un MetaSpace
Screenshot_20221001-003811

Watch full KPI in table:
TON CON Budget and KPI

We mint Event NFT - it will form the way of counting, how many active wallets exist in the ecosystem.

Suggested form of support

Budget in TON which is required to deliver value to TON Ecosystem:

5400-12'000 TON per month for 12 months
1st month - 5400TON
2nd - 5800 TON
3rd....
Watch full counting in table: TON CON Budget Estimation

Screenshot_20221001-012321

*after 12 month we will reach self-sufficiency and funding could be stoped

Here in table we have 2 lists:

  1. full financial picture
  2. first goals we need to cover - 3 first milestones with
    Milestones TON CON

IMG_20221005_105347_528.jpg

New suggestions for granting program

Hi, I have several suggestions for granting program.

  1. The cliff and vesting
    Instead of the 6-month cliff and 12-month vesting, recommend 1 - month cliff and 12-month vesting as other granting programs commonly go with 1- month cliff.

  2. Award Tier
    For Tier 1 minimum TVL, I think it can be adjusted to min $10M TVL.

  3. Terms (TVL calculation)
    It says TVL evaluation will be calculated based on a time-weighted average of 75% during the first 6-month cliff period. As other mainnet granting programs commonly evaluate TVL on monthly basis, how about adjusting the 2-month average basis instead?

  4. Example
    Not clear what it meant for " Same logic will apply but with a 1 month look back and 8.3% (1/12) of the highest tier". Another example will be a lot helpful to fully understand the remaining 6 month cliff period evaluation.

  5. Conditions (Definition of Liquid token for TVL calculation)
    Believe bridged major tokens from various chains should be counted. Recommend making a list to avoid confusion. Here is the list that comes to my mind so far: MATIC, ETH, USDC, USDT, DAI, BTC, KLAY, BNB, BUSD, XRP, etc

Which projects are prioritized for the foundation, commercial or non-commercial.

Many of my colleagues make projects of various directions, from commercial products, like simple and not very GameFi projects on TON, to social networks.

But also some teams want to do non-commercial projects, for example, Explorer, the same wallet or other auxiliary tools take a lot of time for developers.

Raising funds from outside, for non-commercial products such as a browser extension, is more difficult. After all, the main beneficiary of a non-commercial blockchain project is the blockchain itself. For example, I have several developers who are currently involved in Web 2.0 of my projects, I would be happy to transfer them to the development of non-commercial and useful tools for TON. But spending your money from another business on this is counterproductive.

Time and effort are spent on such projects in the same way, but they bring less revenue or no revenue at all. Which leads to the question of whether the fund plans to somehow separate support for non-profit projects. Perhaps they should be funded separately. Let's say in our case, we regularly invest in the marketing of each such product, even non-commercial ones. Since we believe that on one development "you can't go far" without attracting an audience to the project, what to do for a non-commercial project without investing is quite problematic.

We can afford it, but I'm sure other teams are facing difficulties.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.