Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

error CS1001: Identifier expected

Discussion in 'Scripting' started by unity_aaNT0kYG60z5jw, Mar 24, 2019.

Thread Status:
Not open for further replies.
  1. unity_aaNT0kYG60z5jw

    unity_aaNT0kYG60z5jw

    Joined:
    Mar 24, 2019
    Posts:
    1
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class Destroy : MonoBehaviour{
    6. void Start() ;
    7. Destroy(Camera);
    8. }
    it does not help me I do not know too much
     
  2. WheresMommy

    WheresMommy

    Joined:
    Oct 4, 2012
    Posts:
    890
    Where is Camera declared. Watch dome coding tuts or read some books to understand c#
     
  3. finnorelsemccormick

    finnorelsemccormick

    Joined:
    Jan 20, 2019
    Posts:
    1
    shouldnt there be an '{' after 'void Start()' instead of a ';'?
     
    Joe-Censored likes this.
  4. yourapps26

    yourapps26

    Joined:
    Jul 28, 2020
    Posts:
    6
    Code (CSharp):
    1.  
    2. using UnityEngine;
    3.  
    4. public class Destroy : MonoBehaviour
    5. {
    6.    public gameobject Camera;
    7.  
    8.       void Start( )
    9.       {
    10.           Destroy(Camera);
    11.       }
    12. }
     
  5. gtonuimatwek

    gtonuimatwek

    Joined:
    Sep 19, 2020
    Posts:
    4
    i



    i have an error and its eating me up. am not that good in C#

    Assets\Scripts\Network\PlayerControllerMain.cs(442,31): error CS1001: Identifier expected
    and this is the line 442 code



    442: void OnSerializeNetworkView ("Unity Multiplayer and NetworkIdentity stream, NetworkMessageInfo info") {
    443: Vector3 temp_pos = Vector3.zero;
    444: Quaternion temp_rot = Quaternion.identity;
     
    crisalexis20099 and qetypuoi like this.
  6. gtonuimatwek

    gtonuimatwek

    Joined:
    Sep 19, 2020
    Posts:
    4
    i have an error and its eating me up. am not that good in C#

    Assets\Scripts\Network\PlayerControllerMain.cs(442,31): error CS1001: Identifier expected
    and this is the line 442 code



    442: void OnSerializeNetworkView ("Unity Multiplayer and NetworkIdentity stream, NetworkMessageInfo info") {
    443: Vector3 temp_pos = Vector3.zero;
    444: Quaternion temp_rot = Quaternion.identity;

     
  7. lrgoodbourn

    lrgoodbourn

    Joined:
    Nov 18, 2020
    Posts:
    5
    I am getting the error code aswell but this is my code

    using UnityEngine;

    public class Bird : MonoBehaviour
    {
    private void OnMouseDown()
    {
    GetComponent.<SpriteRenderer>.Color = Color.red;
    }
    Then in unity it says

    Assets\Bird.cs(8,19): error CS1001: Identifier expected

    and

    Assets\Bird.cs(8,38): error CS1525: Invalid expression term '.'

    This is my first time coding please help.(I am using visual code community 2019 like it said for this unity version and I have tried visual studio and it said the same thing) I am trying to change the colour for when selected. I am using a tutorial and it has the exact same code but works using visual studio.
     
    Last edited: Nov 18, 2020
  8. lrgoodbourn

    lrgoodbourn

    Joined:
    Nov 18, 2020
    Posts:
    5
    Other errors that show up when trying to use the code are

    All compiler errors have to be fixed before you can enter playmode!
    0x00007FF7CEBD520C (Unity) StackWalker::GetCurrentCallstack
    0x00007FF7CEBD9231 (Unity) StackWalker::ShowCallstack
    0x00007FF7CFE5E265 (Unity) GetStacktrace
    0x00007FF7D0D10C8E (Unity) DebugStringToFile
    0x00007FF7CEC6FBC5 (Unity) DebugLogHandler_CUSTOM_Internal_Log
    0x000001E7BD36D3BB (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
    0x000001E7BD36D2EB (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
    0x000001E7BD36D030 (Mono JIT Code) UnityEngine.Logger:Log (UnityEngine.LogType,object)
    0x000001E7BD36CEF5 (Mono JIT Code) UnityEngine.Debug:LogError (object)
    0x000001E7BD36CE1B (Mono JIT Code) UnityEditor.SceneView:ShowNotification (string)
    0x000001E7BD36CA43 (Mono JIT Code) UnityEditor.SceneView:ShowCompileErrorNotification ()
    0x000001E735D4B2AD (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void (object,intptr,intptr,intptr)
    0x00007FFD8F48DB10 (mono-2.0-bdwgc) [mini-runtime.c:2809] mono_jit_runtime_invoke
    0x00007FFD8F412902 (mono-2.0-bdwgc) [object.c:2921] do_runtime_invoke
    0x00007FFD8F41B95F (mono-2.0-bdwgc) [object.c:2968] mono_runtime_invoke
    0x00007FF7CEA6C046 (Unity) CallStaticMonoMethod
    0x00007FF7CEA6BC79 (Unity) CallStaticMonoMethod
    0x00007FF7CEA6BA01 (Unity) CallStaticMonoMethod
    0x00007FF7CF672AA1 (Unity) PlayerLoopController::SetIsPlaying
    0x00007FF7CF67648E (Unity) Application::TickTimer
    0x00007FF7CFE851C4 (Unity) MainMessageLoop
    0x00007FF7CFE8E55E (Unity) WinMain
    0x00007FF7D1B64536 (Unity) __scrt_common_main_seh
    0x00007FFE17967C24 (KERNEL32) BaseThreadInitThunk
    0x00007FFE194CD4D1 (ntdll) RtlUserThreadStart

    no idea what these mean
     
  9. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
  10. lrgoodbourn

    lrgoodbourn

    Joined:
    Nov 18, 2020
    Posts:
    5
    This does not help me because I want to change the colour of a sprite (which the information for is not there) more specifically , the sprite attached
     

    Attached Files:

  11. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    It should help.

    Incorrect syntax, will never compile:
    Code (csharp):
    1. GetComponent.<SpriteRenderer>.Color = Color.red;
    You need to rewrite this line using valid C#. Again, see the 2nd example in the link I provided for how to use GetComponent correctly (the example that says "Generic version of this method"). You will continue to get the error "All compiler errors have to be fixed..." until all compile errors are fixed.
     
    Last edited: Nov 18, 2020
  12. lrgoodbourn

    lrgoodbourn

    Joined:
    Nov 18, 2020
    Posts:
    5
    Can anybody make a fix for of my code if they can, i just want to change the colour of this sprite

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class Bird : MonoBehaviour
    4. {
    5. private void OnMouseDown()
    6. {
    7. GetComponent.<SpriteRenderer>.Color = Color.red;
    8. }
     

    Attached Files:

  13. lrgoodbourn

    lrgoodbourn

    Joined:
    Nov 18, 2020
    Posts:
    5
    It depends on what version of Unity on as 2020 and 2019 are buggy but I switched to 2018 and the original script I ha d worked
     
  14. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,528
    No, this code would not work on any version of Unity and I used Unity for 10 years now (starting with Unity 2.6). At least not as C# code. Your syntax looks like you grabbed code from a UnityScript and placed it in a C# script. UnityScript required that crazy extra dot between the method name and the generic angle brackets.

    Though apart from that you also wrongly capitalized the property "color". So it should look something like:

    Code (CSharp):
    1. GetComponent<SpriteRenderer>().color = Color.red;
     
    Last edited: Dec 25, 2020
    bobisgod234 and PraetorBlue like this.
  15. ValeBehunin

    ValeBehunin

    Joined:
    Dec 20, 2020
    Posts:
    1
    Can anyone help me with this? The bolded line is the one that the system keeps telling me has the error.


    using UnityEngine;
    using System.Collections;


    public class Raycasting : MonoBehaviour
    {
    public float distanceToSee = 5f;
    RaycastHit whatIHit;

    public enum KeyCards
    {
    redKey, blueKey, greenKey
    }
    public KeyCards (whatKeyAmI);

    // Update is called once per frame
    void Update()
    {
    Debug.DrawRay(this.transform.position, this.transform.forward * distanceToSee, Color.red);

    if(Physics.Raycast(this.transform.position, this.transform.forward, out whatIHit, distanceToSee))
    {
    if(Input.GetKeyDown (KeyCode.E))
    {
    Debug.Log ("I picked up a " +whatIHit.collider.gameObject.name);
    if(whatIHit.collider.tag == "Keycards")
    {
    if(whatIHit.collider.gameObject.GetComponent<KeyCards>().whatKeyAmI == KeyCards.Keycards.redKey)
    {
    Destroy(whatIHit.collider.gameObject);
    }
    }
    }

    }

    }
    }
     
  16. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,528
    Remove the brackets from your variable declaration:

    So it should look like this:

    Code (CSharp):
    1. public KeyCards whatKeyAmI;
    Brackets either indicate a method declaration / call or are used in an expression to group sub-expressions (so just like in the mathematical Sense).
     
  17. Apples0

    Apples0

    Joined:
    Nov 29, 2020
    Posts:
    1

    When you use GetComponent I think you have to do GetComponent<SpriteRenderer>().color = colorRed
    ^
    ----|
    notice parentheses
     
  18. TelepathicWizardThe2nd

    TelepathicWizardThe2nd

    Joined:
    Dec 26, 2020
    Posts:
    1
    I am also getting this error, I only started a few days ago, I have the error on the bold line:
    using UnityEngine;


    public class PlayerCollision : MonoBehaviour
    {
    private float GetCollisionInfo = cI;

    void OnCollisionEnter (Box Collider, cI)
    {
    if (cI.collider.tag == "Obstacle")
    {
    movement.enabled = false;
    }
    }
    }
     
  19. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,756
    This isn't even valid syntax. Please review basic C# syntax. Wherever you got this line from is either erroneously typed, or else you typed it incorrectly. There is a very specific argument signature for that method to be called properly. See the documentation for precise spelling.

    Generally, DO NOT reply to 1.5-year-old scripts. Start your own new post. It's free.

    How to report your problem productively in the Unity3D forums:

    http://plbm.com/?p=220
     
  20. aronzekir

    aronzekir

    Joined:
    Dec 11, 2020
    Posts:
    1
    Can someone help me with this script I got the error CS1001: Identifier expected
    This is my script for reference:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class CurrencyPickup : MonoBehaviour {
    public int worth = 100;

    private void OnTriggerEnter2D(Collider2D, collision) {
    if (collision.CompareTag("Player")) {
    Destroy(gameObject);
    LevelManager.instance.IncreaseCurrency(worth);
    }
    }
    }
     
  21. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,756
  22. dogefut

    dogefut

    Joined:
    Apr 17, 2021
    Posts:
    1
    Wiem że do jest odpowiedzenie na post ale nie wiem jak napisać własną wiadomość więc piszę tu mam problem z kodem wyskakuje mi błąd (34,95): error CS1001: Identifier expected kod jest taki

    public static Dictionary <DostepnaBron, Bron> dostepneBronie = new Dictionary <DostepnaBron, Bron> () {
    {DostepnaBron.ak_47, nowy Bron (DostepnaBron.ak_47, "ak_47", "AK-47", 2700, 30, 90, TrybStrzelania.automatyczny, 600, Team.TT, 2.5f, 0.88f, 300, 36f, 143f, 111f, 0,31f, 0,775f)},
    {DostepnaBron.m4a1_S, nowy Bron (DostepnaBron.m4a1_S, "m4a1_S", "M4A1-S", 3100, 20, 40, TrybStrzelania.automatyczny, 600, Team.OBA, 3.1f, 0.9f, 300, 33f, 132f, 92f, 0,27f, 0,7f)},
    };


    publiczne DostepnaBron Enum;
    public string nazwa;
    public string przyjaznaNazwa;
    publiczna int cena;
    public int fullMagazynek;
    public int fullNaboje;
    publiczny TrybStrzelania trybStrzelania;
    public int rof;
    publiczny pływak szybkoscStrzelania;
    Public Team dostepneWteamie;
    public float reloadTime;
    public float predkoscChodzenia;
    publiczne int wynagrodzenieZaKill;
    uszkodzenie pływaka publicznego;
    publiczne uszkodzenie pływakaHS_UA;
    publiczne uszkodzenie pływakaHS_A;
    public float randomOdrzut;
    publiczna zbroja pływającaPenetration;

    public Bron (DostepnaBron Enum, string nazwa, string przyjaznaNazwa, int cena, int fullMagazynek, int fullNaboje,
    TrybStrzelania trybStrzelania, int rof, Team dostepneWteamie, float reloadTime,
    float predkoscChodzenia, int wynagrodzenieZaKill, float damage, float damageHS_UA, damageHS_A, float randomOdrzut, float armorPenetration) {
    this.Enum = Enum;
    this.nazwa = nazwa;
    this.przyjaznaNazwa = przyjaznaNazwa;
    this.cena = cena;
    this.fullMagazynek = fullMagazynek;
    this.fullNaboje = fullNaboje;
    this.trybStrzelania = trybStrzelania;
    this.rof = rof;
    this.szybkoscStrzelania = 1.0f / (rof / 60f);
    this.dostepneWteamie = dostepneWteamie;
    this.reloadTime = reloadTime;
    this.predkoscChodzenia = predkoscChodzenia;
    this.wynagrodzenieZaKill = wynagrodzenieZaKill;
    this.damage = uszkodzenie;
    this.damageHS_UA = damageHS_UA;
    this.damageHS_A = damageHS_A;
    this.randomOdrzut = randomOdrzut;
    this.armorPenetration = armorPenetration;
    }


    public enum TrybStrzelania
    {
    manualny,
    polautomatyczny,
    automatyczny
    }
    }
    public enum DostepnaBron
    {
    AK 47,
    m4a1_S
    }

    Przepraszam jestem z polski i może się komuś kod nie załadować na angielski
     
  23. Yoreki

    Yoreki

    Joined:
    Apr 10, 2019
    Posts:
    2,590
    • Please open your own thread!
    • This is an international forum, please write in english
    • Please use code tags when posting code examples
    • You should not use special symbols in code, even if your language uses those
    • You should generally code in english. This makes code more readable, easier to maintain and more consistant with the APIs you use, which are also in english. Furthermore, unless you are guaranteed to be the only person to ever read that code (and others from your country), the code not being english makes it insanely hard to comprehend for other people. And as soon as you post something online and ask for help on it, you are not the only person who has to read that code.
     
  24. blechdavier

    blechdavier

    Joined:
    Mar 26, 2020
    Posts:
    4
    Code (CSharp):
    1. public void SetObjectVisibility(GameObject object, bool visibility)
    2.     {
    3.         object.SetActive(visibility);
    4.     }
    Turns out I just had to change "object" to something else because object must have been taken. Should have seen that coming, but just wanted to post this in case anyone else makes this (pretty hard to make) mistake.
     
  25. blechdavier

    blechdavier

    Joined:
    Mar 26, 2020
    Posts:
    4

    Edit: Just figured out that instead of putting this function into my GameManager object I can just put the GameObject I want to change into the GameObject slot and choose in the function menu GameObject > SetActive (bool)
     
  26. Deleted User

    Deleted User

    Guest

    Hello i have a problem with "Particle.cs(12,17): error CS1519: Invalid token ';' in class, struct, or interface member declaration"

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    namespace UnityEngine
    {
    public class Particle : ValueType
    {

    getposition;
    getvelocity;
    getsize;
    getrotation;
    getangularVelocity;
    getenergy;
    getstartEnergy;
    getcolor;
    position Vector3;
    velocity Vector3;
    energy Single;
    startEnergy Single;
    size Single;
    rotation Single;
    angularVelocity Single;
    color Color;

    UnityEngine.Vector3 UnityEngine.Particle::getposition();
    Void UnityEngine.Particle::setposition();
    UnityEngine.Vector3 UnityEngine.Particle::getvelocity();
    Void UnityEngine.Particle::setvelocity();
    Single UnityEngine.Particle::getenergy();
    Void UnityEngine.Particle::setenergySingle();
    Single UnityEngine.Particle::getstartEnergy();
    Void UnityEngine.Particle::setstartEnergySingle();
    Single UnityEngine.Particle::getsize();
    Void UnityEngine.Particle::setsizeSingle();
    Single UnityEngine.Particle::getrotation();
    Void UnityEngine.Particle::setrotationSingle();
    Single UnityEngine.Particle::getangularVelocity();
    Void UnityEngine.Particle::setangularVelocitySingle();
    UnityEngine.Color UnityEngine.Particle::getcolor();
    Void UnityEngine.Particle::setcolor();
    }
    }


    can anyone help me?
     
  27. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,756
    If you post a code snippet, ALWAYS USE CODE TAGS:

    How to use code tags: https://forum.unity.com/threads/using-code-tags-properly.143875/

    How to report your problem productively in the Unity3D forums:

    http://plbm.com/?p=220

    Remember: NOBODY memorizes error codes. The error code is absolutely the least useful part of the error. It serves no purpose at all. Forget the error code. Put it out of your mind.

    The complete error message contains everything you need to know to fix the error yourself.

    The important parts of the error message are:

    - the description of the error itself (google this; you are NEVER the first one!)
    - the file it occurred in (critical!)
    - the line number and character position (the two numbers in parentheses)

    All of that information is in the actual error message and you must pay attention to it. Learn how to identify it instantly so you don't have to stop your progress and fiddle around with the forum.
     
  28. sadevrocks123

    sadevrocks123

    Joined:
    Jul 17, 2021
    Posts:
    4
    any one pls help i get an error called identifier expected on line 55

    using System.ComponentModel;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class MoveMent : MonoBehaviour {

    [SerializeField]public Transform groundcheckTransform = null;
    [SerializeField]private LayerMask playerMask;
    private bool jumpkeywaspressed;
    private float horizontalInput;
    private Rigidbody RB;
    public int SuperJumpsRemaining;

    // Start is called before the first frame update
    void Start()
    {
    RB = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    { //jump
    if(Input.GetKeyDown(KeyCode.Space))
    {
    jumpkeywaspressed = true;
    }
    horizontalInput = Input.GetAxis("Horizontal");
    //debug check
    if(Input.GetKeyDown(KeyCode.Space))
    {
    Debug.Log("Hello");
    }
    }
    void FixedUpdate()
    {
    //infinite air jump bug fixe
    if(Physics.OverlapSphere(groundcheckTransform.position, 0.1f,playerMask).Length == 0)
    {
    return;
    }

    if(jumpkeywaspressed)
    {
    float JumpPower = 5f;
    if(SuperJumpsRemaining > 0)
    {
    JumpPower *=2;
    SuperJumpsRemaining--;
    }
    ridboy.AddForce(Vector3.up*5, ForceMode.VelocityChange);
    jumpkeywaspressed = false;

    }
    RB. = new Vector3(horizontalInput,RB.velocity.y,0);

    }
    void OnTriggerEnter(Collider other)
    {
    if(other.gameObject.layer == 9)
    {
    Destroy(other.gameObject);
    SuperJumpsRemaining++;
    }
    }

    }


    pls help i am new to coding and unity
     
  29. Baasket

    Baasket

    Joined:
    May 20, 2018
    Posts:
    26
    As Kurt-Dkker wrote, you might be better off starting a new thread, instead of posting in an old one. And using code tags would be a good idea. That being said, even though I'm not sure which line is supposed to be line 55, I think that your issues here are the following:

    Code (CSharp):
    1. ridboy.AddForce(Vector3.up * 5, ForceMode.VelocityChange);
    "ridboy" is not declared in your code, so your IDE, your compiler and Unity don't know what to do with it. I assume you wanted to type "rigidbody", but it's not defined either... maybe you wanted to add force to "RB"?

    Also, just three lines below that:

    Code (CSharp):
    1. RB. = new Vector3(horizontalInput, RB.velocity.y, 0);
    There shouldn't be a dot after "RB", if you wanted to assign a new value to it. But what I think you are trying to do here is to set its velocity. In that case you should write:

    Code (CSharp):
    1. RB.velocity = new Vector3(horizontalInput, RB.velocity.y, 0);
     
    Yoreki likes this.
  30. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    36,756
    I'll post it here again:

    Remember: NOBODY memorizes error codes. The error code is absolutely the least useful part of the error. It serves no purpose at all. Forget the error code. Put it out of your mind.

    The complete error message contains everything you need to know to fix the error yourself.

    Always start with the FIRST error in the list, as sometimes that error causes or compounds some or all of the subsequent errors.

    The important parts of the error message are:

    - the description of the error itself (google this; you are NEVER the first one!)
    - the file it occurred in (critical!)
    - the line number and character position (the two numbers in parentheses)

    All of that information is in the actual error message and you must pay attention to it. Learn how to identify it instantly so you don't have to stop your progress and fiddle around with the forum.

    How to understand compiler and other errors and even fix them yourself:

    https://forum.unity.com/threads/ass...3-syntax-error-expected.1039702/#post-6730855

    How to report your problem productively in the Unity3D forums:

    http://plbm.com/?p=220

    If you post a code snippet, ALWAYS USE CODE TAGS:

    How to use code tags: https://forum.unity.com/threads/using-code-tags-properly.143875/

    If you are going to monkey-hammer tutorial code in, keep this in mind:

    How to do tutorials properly:

    Tutorials are a GREAT idea. Tutorials should be used this way:

    Step 1. Follow the tutorial and do every single step of the tutorial 100% precisely the way it is shown. Even the slightest deviation (even a single character!) generally ends in disaster. That's how software engineering works. Every single letter must be spelled, capitalized, punctuated and spaced (or not spaced) properly. Fortunately this is the easiest part to get right. Be a robot. Don't make any mistakes. BE PERFECT IN EVERYTHING YOU DO HERE.

    Step 2. Go back and work through every part of the tutorial again, and this time explain it to your doggie. See how I am doing that in my avatar picture? If you have no dog, explain it to your house plant. If you are unable to explain any part of it, STOP. DO NOT PROCEED. Now go learn how that part works. Read the documentation on the functions involved. Go back to the tutorial and try to figure out WHY they did that. This is the part that takes a LOT of time when you are new. It might take days or weeks to work through a single 5-minute tutorial. Stick with it. You will learn.

    Step 2 is the part everybody seems to miss. Without Step 2 you are simply a code-typing monkey and outside of the specific tutorial you did, you will be completely lost.

    Of course, all this presupposes no errors in the tutorial. For certain tutorial makers (like Unity, Brackeys, Imphenzia, Sebastian Lague) this is usually the case. For some other less-well-known content creators, this is less true. Read the comments on the video: did anyone have issues like you did? If there's an error, you will NEVER be the first guy to find it.

    Beyond that, Step 3, 4, 5 and 6 become easy because you already understand!
     
  31. UnityMaru

    UnityMaru

    Community Engagement Manager Unity Technologies

    Joined:
    Mar 16, 2016
    Posts:
    1,227
    I'll have to lock this thread as it keeps getting necro'd. Please find more recent threads or make a new one :)
     
    gorbit99, Kurt-Dekker and Yoreki like this.
Thread Status:
Not open for further replies.