Skip to main content
Главная страница » Football » FC Utrecht (International)

FC Utrecht: Eerste Divisie Squad & Stats Overview

Comprehensive Analysis of FC Utrecht for Sports Betting

Overview / Introduction about the Team

FC Utrecht is a professional football club based in Utrecht, Netherlands. Competing in the Eredivisie, the top tier of Dutch football, the team was founded in 1970 through a merger of several local clubs. Known for their dynamic playing style and passionate fanbase, FC Utrecht has become a staple in Dutch football. The team is currently managed by [Current Manager], who aims to push the club into European competitions.

Team History and Achievements

FC Utrecht has a rich history filled with notable achievements. They have won the KNVB Cup twice and have consistently been competitive in the Eredivisie. Notable seasons include their first top-half finish in 1983 and their cup victories in 1993 and 2007. The club’s resilience and strategic play have made them a formidable opponent in domestic competitions.

Current Squad and Key Players

The current squad boasts several key players who are pivotal to the team’s performance:

  • [Key Player 1]: A versatile midfielder known for his playmaking abilities.
  • [Key Player 2]: A forward with an impressive goal-scoring record.
  • [Key Player 3]: A reliable goalkeeper with excellent reflexes.

Team Playing Style and Tactics

FC Utrecht typically employs a 4-3-3 formation, focusing on high pressing and quick transitions. Their strengths lie in their cohesive midfield play and fast attacking wingers. However, they can be vulnerable to counterattacks due to their aggressive pressing style.

Interesting Facts and Unique Traits

The club is affectionately known as “The Lions” (De Löwen) due to their fierce playing style. They have a dedicated fanbase known as “The Tukkers,” who are renowned for their vibrant support during matches. Rivalries with teams like Ajax Amsterdam add an extra layer of excitement to their fixtures.

Lists & Rankings of Players, Stats, or Performance Metrics

  • Top Goal Scorer: ✅ [Player Name] – 🎰 [Goals Scored]
  • Assists Leader: 💡 [Player Name] – 🎰 [Assists]
  • Defensive Record: ❌ [Player Name] – 🎰 [Clean Sheets]

Comparisons with Other Teams in the League or Division

In comparison to other Eredivisie teams, FC Utrecht often ranks among the top defensive units while maintaining a competitive attack. Their tactical discipline sets them apart from more flamboyant teams like PSV Eindhoven.

Case Studies or Notable Matches

A breakthrough game for FC Utrecht was their cup final victory against AZ Alkmaar in 2007, which solidified their reputation as cup specialists. Another key victory was against Feyenoord in 2019, showcasing their ability to compete against top-tier teams.

Tables Summarizing Team Stats, Recent Form, Head-to-Head Records, or Odds

Statistic Data
Eredivisie Position [Position]
Last Five Matches Form [Results]
Average Goals per Match [Goals]
Average Goals Conceded per Match [Conceded]

Tips & Recommendations for Analyzing the Team or Betting Insights

To analyze FC Utrecht effectively:

  • Analyze head-to-head records against upcoming opponents to gauge potential outcomes.
  • Closely monitor player injuries and suspensions that could impact team performance.
  • Evaluate recent form trends to predict match outcomes accurately.

Frequently Asked Questions (FAQ)

What are FC Utrecht’s strengths?

Their strengths lie in their disciplined defense and effective midfield control, allowing them to transition quickly from defense to attack.

Who are some key players to watch?

[Key Player Names] are crucial due to their influence on both ends of the pitch with goals and assists respectively.

Likely outcomes when betting on FC Utrecht?

Betting on draws can be wise given their strong defensive record; however, backing them at home provides good value due to strong home performances historically.

Potential weaknesses?

Their aggressive pressing can leave them exposed at times; keeping an eye on this during games might offer insights into betting opportunities when facing fast-paced opponents.

Quotes or Expert Opinions about the Team

“FC Utrecht’s tactical discipline makes them one of Eredivisie’s most consistent performers.” – Football Analyst [Name].”

Pros & Cons of the Team’s Current Form or Performance

  • ✅ Strong defensive structure allows minimal goals conceded per match.
  • |jimmycao20/jimmycao20.github.io/_posts/2021-09-13-gaming-podcast.markdown

    layout: post
    title: Gaming Podcasts You Should Listen To Right Now
    date: ‘2021-09-13T18:01:00+08:00’
    permalink: /gaming-podcasts/
    description: Gaming podcasts you should listen right now
    image: https://res.cloudinary.com/jimmycao/image/upload/v1631530076/blog/gaming-podcast.png
    tags:
    – gaming podcasts

    There are so many great gaming podcasts out there! It can be hard finding one that suits your tastes.

    Here’s my list of some great gaming podcasts that I think you’ll love listening too!

    ### Best Gaming Podcasts

    These gaming podcasts cover all sorts of topics from news updates about games coming out soon,
    to interviews with developers behind popular games.

    Some even delve into more serious issues such as mental health awareness within gaming communities.

    Each podcast has its own unique style so if you’re looking for something new then check these out!

    #### Game Informer

    Game Informer is one of my personal favorites because it features interviews with developers discussing upcoming releases.

    They also talk about what they enjoy playing themselves which gives insight into what kind person they really are.

    Plus there’s always plenty going on behind-the-scenes at studios like Nintendo America Studio where many famous titles originate from including Super Mario Odyssey!

    #### The Game Awards Podcast

    This podcast covers everything related specifically around award shows such as BAFTA Games Awards Ceremony held annually since 2008 by British Academy Film Arts Television Radio Society (BAFTA).

    It features interviews conducted backstage before winners were announced alongside commentary provided during live broadcasts hosted by hosts Kevin Kelly & Laura Bailey.

    #### Gamespot Daily Fix

    Gamespot Daily Fix is another fantastic option if you’re interested hearing stories directly from people working within video game industry itself rather than just talking about games themselves.

    The hosts interview various professionals including designers/artists/writers/composers/programmers/etc., all sharing experiences working on different projects throughout years spent creating amazing entertainment experiences we love today!

    #### Level Up With Josh & Jensen

    Level Up With Josh & Jensen is a fun podcast hosted by two friends who met while attending college together.

    They discuss everything related specifically around multiplayer online battle arena (MOBA) games like League Of Legends (LoL), Dota 2 etc., but also touch upon single-player titles occasionally too!

    ### Conclusion

    Gaming podcasts are great way learn more about video games industry while having fun listening along way too!

    Whether it’s learning about new titles coming soon or getting insight into developer’s lives firsthand through interviews conducted backstage before major events occur – there’s something here everyone will enjoy regardless taste preferences.<|file_sep/chartist-js.mdjimmycao20/jimmycao20.github.io<|file_sep// .post-tags {
    // font-size: .75rem;
    // margin-top: $space-sm;
    // display: flex;
    // flex-wrap: wrap;
    // justify-content: center;

    // .tag {
    // margin-right: $space-xs;

    // &:last-child {
    // margin-right: 0;
    // }
    // }
    // }

    .post-tags {
    display:inline-block;
    margin-top:$space-sm;

    .tag {
    padding:.25em .5em;
    font-size:$font-xs;
    line-height:$line-height-sm;
    background-color:$color-gray-lightest;
    color:$color-gray-dark;

    display:inline-block;
    margin-right:$space-xs;

    border-radius:$border-radius;

    font-weight:normal;

    text-transform:none;

    svg {
    width:.75em;
    height:.75em;
    fill:#fff;
    stroke-width:.125em !important; // override material icon default stroke width
    stroke:#fff !important; // override material icon default stroke color
    margin-right:$space-xs/4; // space between icon svg + text content
    position:relative; // needed so svg icon aligns properly with text content vertically when line height differs between svg icon vs text content
    top:-.125em; // needed so svg icon aligns properly with text content vertically when line height differs between svg icon vs text content

    path,
    rect,
    polygon,
    circle {
    stroke-width:.125em !important; // override material icon default stroke width
    stroke:#fff !important; // override material icon default stroke color
    fill:none !important; // override material icon default fill color
    stroke-linecap:square !important; // square corners instead of rounded corners
    stroke-linejoin:miter !important; // miter join instead of round join
    transform-origin:center center !important; // center origin point instead of top left origin point

    transform-box:border-box !important; // transform box needs box-sizing:border-box set explicitly otherwise transforms may not work correctly

    transform-origin:center center !important; // center origin point instead of top left origin point

    mix-blend-mode:normal !important;// prevent mixing colors together

    filter:none !important;// disable any filters applied

    animation:none !important;// disable any animations applied

    backface-visibility:hidden !important;// hide backface

    will-change:none!important;// disable hardware acceleration optimizations

    }

    svg:not(:root){ overflow:hidden } /* Hide overflow */

    }

    a {
    display:block;

    &:hover {
    text-decoration:none;

    background-color:$color-gray-lightest-hover;

    svg {

    stroke-width:.25em!important;

    stroke-width:.25em!important;

    path,
    rect,
    polygon,
    circle {

    filter:brightness(80%)!Important;

    filter:brightness(80%)!Important;

    transform-origin:center center!important;

    transform-origin:center center!important;

    mix-blend-mode:normal!important;

    will-change:none!important;

    }

    svg:not(:root){ overflow:hidden } /* Hide overflow */

    }

    }

    &:focus {

    background-color:$color-primary-hover;

    outline-offset:-$space-xs/4;

    outline-style:dashed;

    outline-width:.125em;

    outline-color:#fff;

    svg {

    stroke-width:.25em!important;

    stroke-width:.25em!important;

    path,
    rect,
    polygon,
    circle {

    filter:brightness(80%)!Important;

    filter:brightness(80%)!Important;

    transform-origin:center center!important;

    transform-origin:center center!important;

    mix-blend-mode:normal!important;

    will-change:none!important;

    }

    svg:not(:root){ overflow:hidden } /* Hide overflow */

    }

    }

    &:active {

    background-color:$color-primary-active;

    outline-offset:-$space-xs/4;

    outline-style:dotted;

    outline-width:.25em;

    outline-color:#fff;

    svg {

    stroke-width:.375em!important;

    stroke-width:.375em!important;

    path,
    rect,
    polygon,
    circle {

    filter:brightness(60%)!Important;

    filter:brightness(60%)!Important;

    transform-origin:center center!important;

    transform-origin:center center!important;

    mix-blend-mode:normal!important;

    will-change:none!important;

    }

    svg:not(:root){ overflow:hidden } /* Hide overflow */

    }

    }
    }#include “common.h”

    #include “request.h”
    #include “response.h”

    #include “database/database.h”
    #include “database/user.h”
    #include “database/event.h”

    #include “mail/mail.h”

    void Response::setHeader(const std::string& header)
    {
    this->headers.push_back(header);
    }

    void Response::setContentType(const std::string& contentType)
    {
    this->headers.push_back(“Content-Type:” + contentType);
    }

    void Response::setContentLength(size_t length)
    {
    this->headers.push_back(“Content-Length:” + std::to_string(length));
    }

    void Response::setStatus(int statusCode)
    {
    switch(statusCode) {
    case HTTP_STATUS_OK:
    case HTTP_STATUS_CREATED:
    case HTTP_STATUS_ACCEPTED:
    case HTTP_STATUS_NO_CONTENT:
    case HTTP_STATUS_NOT_MODIFIED:
    case HTTP_STATUS_PARTIAL_CONTENT:
    case HTTP_STATUS_MOVED_PERMANENTLY:
    case HTTP_STATUS_FOUND:
    case HTTP_STATUS_SEE_OTHER:
    case HTTP_STATUS_TEMPORARY_REDIRECT:
    case HTTP_STATUS_PERMANENT_REDIRECT:
    case HTTP_STATUS_BAD_REQUEST:
    case HTTP_STATUS_UNAUTHORIZED:
    case HTTP_STATUS_FORBIDDEN:
    case HTTP_SIZE_LIMIT_EXCEEDED_ERROR_CODE:
    case DATABASE_ERROR_CODE:

    default:

    break;}

    this->status = statusCode;
    }

    void Response::setBody(const std::string& body)
    {
    this->body = body.data();
    this->bodyLength = body.size();
    }

    Response::~Response()
    {
    if(this->body != nullptr) delete[] this->body;

    for(auto i : this->headers) delete[] i.data();
    }

    bool Response::operator==(const Response& response) const
    {
    return this->status == response.status &&
    this->body == response.body &&
    this->bodyLength == response.bodyLength &&
    this->headers == response.headers &&
    this->headerCount == response.headerCount &&
    this->hasBody == response.hasBody &&
    this->contentType == response.contentType &&
    this->contentEncoding == response.contentEncoding &&
    this->charset == response.charset &&

    (this->_cookies.empty() ? true : _cookies.size() > 0 && _cookies[0]->equals(*response._cookies[0]));
    }

    std::string Response::toString() const
    {
    std::string ret = “”;

    ret += std::to_string(this->status) + ” “;
    ret += STATUS_NAMES[this->status];

    if(this->_cookies.size() > 0 && _cookies[0] != nullptr)
    for(auto i : *this->_cookies[0])
    ret += i.toString();

    ret += “rn”;

    for(auto i : headers)
    ret += i + “rn”;

    if(this->_cookies.size() > 0 && _cookies[0] != nullptr)
    for(auto i : *this->_cookies[0])
    ret += i.toString();

    if(this->hasBody) ret += “rn”;

    if(body != nullptr) ret.append((char*)this->body.get(), bodyLength);

    return ret;
    }

    Response* createResponse(int status)
    {
    Response* resp = new Response();
    resp.setStatus(status);

    return resp;
    }

    Response* createErrorResponse(int errorType)
    {
    Response* resp = createResponse(errorType);
    resp.setContentType(“text/plain”);

    switch(errorType) {

    default:

    break;}

    return resp;
    }

    Response* createUserResponse(User user)
    {
    Response* resp = createResponse(HTTP_STATUS_OK);
    resp.setContentType(“application/json”);

    json jUser(user.toJson());

    jUser[“id”] = user.getId();

    std::string sUser = jUser.dump();

    resp.setBody(sUser.data());
    resp.setContentLength(sUser.length());

    return resp;
    }

    Response* createUsersListResponse(std::vector& users)
    {
    Response* resp = createResponse(HTTP_STATUS_OK);
    resp.setContentType(“application/json”);

    json jUsersArray(json_array());

    for(User u : users) jUsersArray.push_back(u.toJson());

    std::string sUsersArray = jUsersArray.dump();

    resp.setBody(sUsersArray.data());
    resp.setContentLength(sUsersArray.length());

    return resp;
    }

    Response* createEventListForUser(ResponseCookie*& cookieSessionId, User user)
    {
    Response* resp = createResponse(HTTP_STATUS_OK);
    resp.setContentType(“application/json”);

    json jEvents(json_array());

    auto eventsForUser = DatabaseManager().getEventsForUser(user.getId(), cookieSessionId);

    for(Event e : eventsForUser.second) jEvents.push_back(e.toJson());

    std::string sEventsArray(jEvents.dump());

    resp.setBody(sEventsArray.data());
    resp.setContentLength(sEventsArray.length());

    return resp;
    }
    <|file_sep#ifndef __DATABASE_MANAGER__
    #define __DATABASE_MANAGER__

    #include "../common.h"

    class DatabaseManager final {

    public:

    static DatabaseManager& instance();

    void connect(const char* hostNameOrIpAddrStr, const char* dbNameStr);

    private:

    static DatabaseManager dbMgrInstance_;

    Connection connection_;

    };

    #endif /* __DATABASE_MANAGER__ *//var/www/html/cse343-project-team10-server-side-code This field should be configured as either localhost if your database server is running locally on your machine or else enter your database server ip address here.
    dbNameStr -> This field should be configured as your database name that contains your tables.
    passwordStr -> This field should contain your password for connecting to your database.

    After configuring config.json start up your server by running command “./runServer.sh”.
    You will see output similar to following:

    Using config file at “/home/patrick/Documents/GitHub/CSE343_Project_Team10_Server_Side_Code/config/config.json”
    Database connected successfully!
    Starting webserver…
    Listening on port number 8085…
    Waiting for connections…

    Now open up Postman(or any other API testing software).
    Create an account by sending POST request using following url format “/user/register”.

    Request URL Format -> http://localhost:/?username=&password=&email=

    Request Body Format ->
    {“username”: “”, “password”: “”, “email”: “”}

    Then login using POST request using following url format “/user/login”.

    Request URL Format -> http://localhost:/?username=&password=

    Request Body Format ->
    {“username”: “”, “password”: “”}

    Now once logged-in send GET request using following url format “/user/me”.

    Request URL Format -> http://localhost:/

    Once logged-in you can send GET request using following url format “/events”.

    Request URL Format -> http://localhost:/

    You can also send POST request using following url format “/event/create”.

    Request URL Format -> http://localhost:/

    Request Body Format ->
    {“title”: “”, “start_date_time”: “”, “end_date_time”: “”, “location_id”: “”}

    Once logged-in you can send GET request using following url format “/events/me”.

    Request URL Format -> http://localhost:/

    Once logged-in you can send DELETE request using following url format “/event//delete”.

    Request URL Format -> http://localhost:/

    Once logged-in you can send PUT request using following url format “/event//update”.

    Request URL Format ->
    {“title”: “”, “start_date_time”: “”, “end_date_time”: “”, “location_id”: “”}

    Once logged-in you can send GET request using following url format “/users”.

    Request URL Format -> http://localhost:/

    Once logged-in you can send GET request using following url format “/users/me”.

    Request URL Format -> http://localhost:/

    Now logout by sending DELETE request using following url format “/logout”.

    Request URL Format -> http://localhost:/

    To test our email system make sure mailtrap.io account is setup.
    Then configure mailtrap credentials inside config/config.json file under fields mailtrapUsernameStr/mailtrapPasswordStr.

    Now test sending emails by registering an account.
    If registration goes through then an email will be sent.

    To test sending email notifications after creating/updating/deleting event make sure mailtrap.io account is setup.
    Then configure mailtrap credentials inside config/config.json file under fields mailtrapUsernameStr/mailtrapPasswordStr.

    After logging-in try creating/updating/deleting events.
    If successful then emails will be sent./var/www/html/cse343-project-team10-server-side-code<|file_sep important include files */

    #ifndef __REQUEST_COOKIE__
    #define __REQUEST_COOKIE__

    #include "../common.h"

    struct RequestCookie {

    RequestCookie();
    RequestCookie(RequestCookie&& rCookie);

    void set(const char* nameStr_, const char* valueStr_);
    void set(std::vector<std::pair> cookies_);

    bool equals(RequestCookie& rCookie_) const;

    const char** getNames() const { return names.get(); }
    size_t getNamesCount() const { return namesCount; }

    const char** getValues() const { return values.get(); }
    size_t getValuesCount() const { return valuesCount; }

    private:

    static constexpr size_t MAX_COOKIES_COUNT_ = static_cast(100);

    size_t namesCount_;
    size_t valuesCount_;

    char** names_;
    char** values_;

    };

    #endif /* __REQUEST_COOKIE__ */<|file_sep #include "../common.h"

    #include "../config/config.h"

    int main()
    {

    Config cfg(ConfigFileLocation_);

    cfg.loadFromFile(ConfigFileLocation_);

    cfg.saveToFile(ConfigFileLocation_);

    }/var/www/html/cse343-project-team10-server-side-code<|file_sep Foundry API Documentation
    ===============================

    Dixit Server Side Code CSE343 Project

    Foundry API Documentation
    =========================

    This document describes how our application implements RESTful web service architecture.
    Our application implements RESTful web service architecture via Foundry framework.

    Overview
    ———

    Our application uses Foundry framework which provides facilities needed for implementing RESTful web services.
    RESTful web services allow communication between client side applications such as websites/apps
    and server side applications over internet.
    A client side application sends requests over internet which contains information such as method,
    path parameters etc.
    The server processes these requests according to RESTful conventions.
    RESTful conventions require server responses must contain certain headers such as Content-Type,
    Content-Length etc.
    RESTful conventions also require responses must contain certain status codes depending on whether
    the operation succeeded or failed.

    We use Foundry framework which provides facilities needed for implementing RESTful web services.

    Foundry Framework
    ——————

    Foundry framework provides facilities needed for implementing RESTful web services.
    Foundry framework handles low level details such as parsing requests/responses,
    processing requests/responses according RESTful conventions etc.

    We use Foundry framework which provides facilities needed for implementing RESTful web services.

    Design Decisions
    —————-

    We use Foundry framework because it implements RESTful conventions already.
    It would take much time/requires much effort if we implement RESTful conventions ourselves.

    We use Foundry framework because it implements RESTful conventions already.
    It would take much time/requires much effort if we implement RESTful conventions ourselves./var/www/html/cse343-project-team10-server-side-code<|file_sep<






    <!DOCTYPE project [

    ]>



    <![CDATA[
    SetProperty(GLOBAL PROPERTY INTERNAL_TOOLCHAIN_CMAKE_FILE "${CMAKE_CURRENT_LIST_FILE}")
    ]]

    <![CDATA[
    SetProperty(GLOBAL PROPERTY INTERNAL_TOOLCHAIN_CMAKE_file "${CMAKE_CURRENT_LIST_FILE}")
    ]]

    /var/www/html/cse343-project-team10-server-side-code<|file_sepافراينمنت وارد شده توسط کاربر باید نام کاربر را داشته باشد و در سیستم ثبت نام نشده باشد، در غیر این صورت به ارور مناسب پاسخ داده می شود و در صورت نبودن هرکدام از فیلدهای مورد نظر به ارور مناسب پاسخ داده می شود، در صورتی که فیلدهای مورد نظر وجود دارند و کاربر قبلا ثبت نام نکرده باشد، باید عملیات ثبت نام انجام شود و پس از آن کاربر لاگین شود، سپس باید به کاربر اعلان خوانده شدن حساب کاربری جدید ارسال شود، سپس به کاربر پاسخ مناسب داده شود.

    افراينمنت وارد شده توسط کاربر باید نام کاربر را داشته باشد و در سیستم ثبت نام نشده باشد، در غیر این صورت به ارور مناسب پاسخ داده می شود و در صورت نبودن هرکدام از فیلدهای مورد نظر به ارور مناسب پاسخ داده می شود، در صورتی که فیلدهای مورد نظر وجود دارند و کاربر قبلا ثبت نام نکرده باشد، باید عملیات ثبت‌نام انجام شود و پس از آن کاربر لاگین شود، سپس باید به کاربر اعلان خوانده‌شَديُ حساب كَروير جديَّة أَرْسال أُشْيَةُ، سپس بایِِّىِِّىِِّىِِّىِِّىِِّىُُُُُُُُّ́ــــــــــــــ الأحصائيات المقابلة الصحيحة الصحيحة الصحيحة الصحيحة الصحيحة الصحيحة الصحيحة المقابلة لكل عميل يعمل على استخلاص التقديمات التالية :

    افضلا يجب أن يكون لكل عميل إعلان خوانده‌‌‌‌‌‌‌‌‌‌‌‌‌‌‍‍‍‍‍‍‍‍‍‍‍‍ےےےےےےےےےےے؛ حذف كَروير؛ تغير كَروير؛ حذف كَروير؛ تغير كَروير؛ حذف كَروير؛ تغير كَروير؛ حذف كَروير؛ تغير كَروير؛ حذف كَروير؛ تغیركأرویر؛ حذف كأرویر؛ تغیركأرویر؟ حذفكأرویر؟ تغیركأرویر…

    افضلا يجب أن يكون لكل عميل إعلان خوانده−−−−−−−−−−−−−− ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ﻼﻼﻼﻼﻼﻼﻼﻼﻼ トトトトトトトト テ テ テ テ テ テ テ テ , ; حذف καροϋρ ; τροπή καροϋρ ; διαγραφή καροϋρ ; τροπή καροϋρ ; διαγραφή καροϋρ ; τροπή καροϋρ ; διαγραφή καроυр ; τελείωσηκароυр ; διάγνωσηκароυр ; τελείωσηκароур ; διάγνωσηκароур …

    Afzalai yabon aan keel kulli al-kharij ilan kawanadee-ha-ha-ha-ha-ha-ha-ha-ha-ha-hahhaaaahhaaaahhaaaahhaaaaahhhhaaaaahhhhhhhhhhhhhhhh…. , ha-daf karooree , tarabiya karooree , da-garafii karooree , tarabiya karooree , da-garafiya karooree , tarabiya karooree , da-garafiya karour , taliyoosi karour , diyagnoosi karour , taliyoosi karour , diyagnoosi karour…

    Afzala yabon aan keel kullee al-kharaji ilaan kaawaanaadeeyaa haaa haaa haaa haaa haaa haaa haaaa aaaahaaaaaaahaaaaaaahaaaaaaahaaaaaaaaaaaaaaaa…., hadaf karooruoo tuurubee ya karooruoo du-garaafiyya kaaroooruu tuurubee du-garaafiyya kaaroooruu tuurubee du-garaafiyya kaaruuri tualeesi kaaruuri diigaasiyi kaaruuri tualeesi kaaruuri diigaasiyi kaaruuri….