Kako raditi s otvorenom umjetnom inteligencijom u VS Codeu kao profesionalac

Posljednje ažuriranje: 03/31/2026
  • VS Code se razvija u otvoreni editor zasnovan na vještačkoj inteligenciji, tako što otvara GitHub Copilot Chat i refaktoriše ključne AI funkcije.
  • AI Toolkit za VS Code centralizira otkrivanje modela, igrališta, izgradnju agenata, evaluaciju i implementaciju u jednom radnom prostoru.
  • Komplet alata podržava i pružatelje usluga u oblaku i lokalne/otvorene modele putem ONNX-a i Ollame, plus alate za fino podešavanje i konverziju.
  • Ugrađeno praćenje, evaluacija i profiliranje omogućavaju praktično pokretanje, mjerenje i optimizaciju AI radnih procesa direktno unutar VS Code-a.

Vještačka inteligencija otvorenog koda u VS Code-u

Ako godinama programirate u VS Code-u, ali se jedva susrećete s modernim AI asistentima, očekuje vas velika promjena u vašem svakodnevnom radnom procesu. Za samo kratko vrijeme, uređivači koda su prešli put od jednostavnih tekstualnih alata do potpunih AI radnih stanica gdje možete razgovarati s modelima, kreirati agente, procjenjivati ​​upite, pa čak i fino podešavati vlastite modele bez napuštanja uređivača. VS Code je u središtu ove promjene i, što je ključno, prihvata... Pristup umjetnoj inteligenciji otvorenog koda, vođen zajednicom.

Rad s otvorenim kodom umjetne inteligencije unutar VS Code-a više nije nišni eksperiment, već realna, produkcijski spremna opcija za JavaScript/React developere, AI inženjere i edukatore. Između odluke o otvorenom kodu ekstenzije GitHub Copilot Chat i dolaska AI Toolkit-a za Visual Studio Code, možete kombinirati komercijalne modele (OpenAI, Anthropic, Google, GitHub modeli) s lokalnim ili otvorenim modelima (ONNX, Ollama, modeli optimizirani za Windows) i kontrolirati sve, od otkrivanja do implementacije, na jednom mjestu. Hajde da analiziramo kako ovaj ekosistem funkcionira, šta omogućava i kako ga možete iskoristiti bez osjećaja zapostavljenosti.

VS Code kao editor umjetne inteligencije otvorenog koda

VS Code tim se javno obavezao da će editor pretvoriti u okruženje otvorenog koda prvenstveno zasnovano na vještačkoj inteligenciji, a ne u zatvorenu crnu kutiju. Više od decenije, VS Code je jedan od najuspješnijih OSS projekata GitHub-a, s velikom i aktivnom zajednicom koja ga je odabrala upravo zato što je njegova jezgra otvorena. Kako vještačka inteligencija postaje zadani sloj iskustva kodiranja, Microsoftov cilj je zadržati iste principe: otvoreni razvoj, saradnju i snažno uključivanje zajednice.

Ključni potez u tom smjeru je odluka o objavljivanju GitHub Copilot Chat ekstenzije kao otvorenog koda pod MIT licencom. Umjesto skrivanja AI logike i UX-a iza vlasničkog koda, implementacija ekstenzije postaje vidljiva svima. Plan nije samo objaviti repozitorij i otići: relevantni dijelovi ekstenzije bit će pažljivo refaktorirani i ugrađeni u jezgro VS Code-a tako da se AI mogućnosti osjećaju kao prirodni, ugrađeni sloj editora.

Ova integracija treba da odrazi jednostavnu stvarnost: alati pokretani umjetnom inteligencijom sada su ključni za način na koji pišemo kod, a ne sporedna funkcija. Tretirajući vještačku inteligenciju kao građanina prvog reda u arhitekturi VS Code-a, tim pojačava ideju da otvorena baza plus proširivost proizvode bolje alate, bogatije ekosisteme i otpornije tokove rada nego što bi to mogao pružiti bilo koji pojedinačni zatvoreni asistent.

Otvoreni kod za Copilot Chat se ne dešava u vakuumu, već kao dio dugogodišnje OSS historije VS Code-a. Vremenom su problemi zajednice i zahtjevi za povlačenjem (pull requests) pomogli timu da brzo otkrije i ispravi greške, sigurnosne ranjivosti i problematične tačke korisničkog iskustva (UX). Proširenje te iste otvorene petlje na AI funkcije daje saradnicima direktan put ka poboljšanju upita, tokova korisničkog interfejsa, transparentnosti telemetrije i još mnogo toga.

Iz perspektive programera, ovo znači da se vještačka inteligencija u VS Code-u mijenja od „misteriozne magije“ do nečega što možete pregledati, debugirati, pa čak i forknuti ako vam je to zaista potrebno. Niste vezani za viziju jednog dobavljača: možete odabrati Copilota, druge asistente ili vlastite agente otvorenog koda, a svi oni rade preko transparentnog editora spremnog za umjetnu inteligenciju.

Zašto VS Code sada otvara svoj AI stek

Vremenski okvir ovog prelaska na otvorenu umjetnu inteligenciju u VS Codeu vođen je konkretnim promjenama u širem području umjetne inteligencije, a ne samo ideologijom. Veliki jezički modeli su se toliko poboljšali da je mnogo ranijeg "tajnog sastojka prompta" postalo manje ključno. Tamo gdje je ranije dobavljač mogao zaštititi prednost skrivanjem pametnog inženjeringa prompta, sada se mnoge interakcije konvergiraju oko sličnih, dobro razumljivih obrazaca.

Na UX nivou, najefikasniji obrasci interakcije sa AI sada su široko rasprostranjeni među editorima, IDE-ima i alatima. Stvari poput inline prijedloga, bočnih traka za chat, naredbi za objašnjenja i upita za refaktorisanje postale su standardne. Umjesto da svaki dobavljač iznova izmišlja iste widgete zasebno, VS Code tim želi da ove UI komponente žive u stabilnoj, otvorenoj kodnoj bazi kako bi ih zajednica mogla usavršavati, proširovati i održavati ih u zajedničkom razvoju.

Pojavio se i čitav ekosistem ekstenzija i alata otvorenog koda za umjetnu inteligenciju oko VS Code-a. Mnoge od ovih ekstenzija zahtijevaju duboku integraciju: žele se povezati s tokovima chata, ponovo koristiti UI komponente, otklanjati greške u lancima promptova ili odražavati osnovna ponašanja. Vrlo je teško ovo učiniti čisto kada su ključni dijelovi AI iskustva zatvoreni u vlasničkim ekstenzijama bez javnog izvora.

Povjerenje i transparentnost programera igraju još jednu veliku ulogu: ljudi žele znati koje podatke njihov uređivač s umjetnom inteligencijom prikuplja i šalje. Otvaranjem koda Copilot Chat-a, korisnici i revizori mogu tačno provjeriti koji se događaji bilježe, šta se prenosi na pozadinske sisteme i kako se implementiraju odluke o privatnosti. Ta vidljivost daleko prevazilazi marketinška često postavljana pitanja i daje konkretne, pregledne garancije.

Sigurnost je također snažan argument za otvorenu umjetnu inteligenciju u VS Code-u, jer alati za razvoj umjetne inteligencije postaju atraktivne mete za napadače. Zlonamjerna proširenja, putanje brzog ubrizgavanja ili vektori eksfiltracije podataka mogu uzrokovati ozbiljnu štetu kada vaš urednik ima dubok pristup repozitorijima i infrastrukturi (pogledajte prijetnje proširenjima i krađu podataka). Historijski gledano, doprinosi zajednice su pomagali VS Code-u da brzo ispravi probleme; primjena istog modela na AI funkcije povećava vjerovatnoću ranog uočavanja problema.

Svi ovi faktori zajedno su učinili prirodnim da VS Code tim pređe na razvoj umjetne inteligencije sa zatvorenog na otvoreni model. Oni se ne klade na otvoreni kod samo zato što je „lijep“, već zato što on dokazivo poboljšava ne samo transparentnost i povjerenje, već i proširivost, sigurnost i brzinu inovacija za vještačku inteligenciju unutar editora.

Od Copilot Chat ekstenzije do AI funkcija u VS Code jezgru

Nakon što se objavi kod ekstenzije GitHub Copilot Chat, sljedeći korak je ugradnja ključnih AI funkcija u srce VS Code-a. Ovo nije brzo kopiranje i lijepljenje: tim će sistematski refaktorirati komponente ekstenzije tako da osnovne AI primitive postoje uz druge mogućnosti editora, otkrivajući dobro definirane tačke ekstenzije.

Tokom ovog refaktorisanja, dugogodišnji prioriteti VS Code-a ostaju nepromijenjeni: visoke performanse, moćna proširivost i čist, intuitivan interfejs. Funkcije umjetne inteligencije trebale bi djelovati brzo, stabilno i predvidljivo, a ne kao neki unaprijed pripremljeni eksperiment. Autori ekstenzija bi i dalje trebali biti u mogućnosti povezati se s pravim slojevima bez borbe sa skrivenim pretpostavkama ili nedokumentiranim API-jima.

Jedan od najzahtjevnijih aspekata AI funkcija je testiranje, upravo zato što su jezički modeli stohastički. Izlazi se razlikuju od pokretanja do pokretanja, prompti se razvijaju, a verzije modela se mijenjaju. Kako bi se izbjegao haos, Microsoft planira da i vlastitu infrastrukturu za testiranje prompta učini otvorenim kodom. Na taj način, zahtjevi zajednice za povlačenjem koji se dotiču logike umjetne inteligencije mogu se validirati u odnosu na iste scenarije koje koriste interni timovi.

Dijeljenjem testova promptova i infrastrukture, projekat pruža saradnicima način da iteriraju na promptima i AI tokovima bez slijepog nagađanja da li oni narušavaju ponašanje. Također potiče kulturu tretiranja logike umjetne inteligencije kao pravog, testiranog koda, s metrikama i regresijskim provjerama, umjesto magičnih nizova razasutih po korisničkom interfejsu.

Krajnji cilj je jednostavan: doprinos AI funkcijama VS Code-u trebao bi biti jednako jednostavan kao i doprinos bilo kojeg drugog dijela editora. Ne biste trebali morati rekonstruirati skrivene API-je ili nagađati koja su „ispravna“ interna ponašanja. Umjesto toga, postojat će stabilna osnova i zajednički skup testova koji će zajednici omogućiti da s vremenom oblikuje ponašanje umjetne inteligencije.

Komplet alata za umjetnu inteligenciju za VS Code: vaš sveobuhvatni radni prostor umjetne inteligencije

Pored otvorenog jezgra, AI Toolkit za Visual Studio Code djeluje kao sveobuhvatni kontrolni centar za izgradnju, testiranje i implementaciju aplikacija zasnovanih na umjetnoj inteligenciji. Umjesto da vas prisiljava da žonglirate s CLI alatima, kontrolnim pločama i skriptama, ovaj komplet alata vam pruža namjenski prikaz u VS Code-u gdje možete upravljati cijelim svojim generativnim AI radnim procesom.

AI Toolkit se besprijekorno integrira sa širokim spektrom pružatelja modela, kako onih u oblaku tako i lokalnih. Odmah po instalaciji, povezuje se sa servisima kao što su OpenAI, Anthropic, Google i GitHub Models, a istovremeno podržava i lokalne modele putem ONNX-a i Ollame. Ovo olakšava kombinovanje modela otvorenog koda sa komercijalnim API-jima, u zavisnosti od vaših potreba i budžeta.

Sa stanovišta radnog procesa, komplet alata pokriva cijeli životni ciklus: otkrivanje modela, eksperimentiranje s promptima, izgradnju agenta, evaluaciju, konverziju i implementaciju. Umjesto jednog proširenja za automatsko dovršavanje, drugog za evaluaciju i trećeg za lokalne modele, dobijate koherentno okruženje koje razumije kako su ovi dijelovi povezani.

AI Toolkit nije ograničen samo na stručnjake za umjetnu inteligenciju; napravljen je za programere, inženjere umjetne inteligencije, znanstvenike podataka, istraživače i edukatore. Ako ste JS/React programer koji se vraća AI asistentima nakon nekoliko godina odsustva, Toolkit je vrlo praktičan način da brzo nadoknadite propušteno - sve što vam je potrebno za istraživanje generativnih modela i agenata nalazi se u jednom panelu, s jasnim odjeljcima i dokumentacijom.

Instalacija je namjerno jednostavna: ekstenziju preuzimate sa Visual Studio Marketplace-a i, nakon instalacije, nova ikona AI Toolkit-a se pojavljuje u traci aktivnosti. Također postoji podrška za ručnu instalaciju putem standardnog radnog procesa za proširenja VS Code-a ako više volite sami upravljati VSIX datotekama. Nakon toga, Toolkit se otvara u vlastitom prikazu, organiziran u konzistentne odjeljke.

Katalog modela i igralište: eksperimentiranje s otvorenim i hostovanim modelima

U srcu AI Toolkita nalazi se Katalog modela, koji djeluje kao jedinstveno središte za otkrivanje i poređenje modela iz više izvora. Unutar jednog interfejsa možete pregledavati modele iz Microsoft Foundry i Foundry Local, GitHub Models, ONNX, Ollama, OpenAI, Anthropic i Google. To znači da možete uporediti modele otvorenog koda i hostovane modele prije nego što se odlučite za jedan.

Katalog je osmišljen kako bi vam pomogao da pronađete pravi model za vašu specifičnu upotrebu, umjesto da slijepo birate najveći. Možete pogledati mogućnosti, performanse i obrasce korištenja kako biste odlučili da li vam je potreban zahtjevniji LLM za zaključivanje, manji lokalni model za privatnost i latenciju ili nešto optimizirano za multimodalne ulaze.

Nakon što odaberete kandidatski model, Playground pruža interaktivno okruženje za chat za eksperimentiranje u stvarnom vremenu. U Playgroundu možete kucati upite, podešavati parametre, pa čak i uključivati ​​multimodalne unose kao što su slike ili priložene datoteke. Ovo je idealno kada želite vidjeti kako se model ponaša s realističnim radnim procesima programera - čitanjem koda, sažimanjem logova ili tumačenjem snimaka ekrana.

Iskustvo s Playgroundom je ključno kada upoređujete komercijalne i otvorene modele u VS Code-u. Na primjer, možete postaviti ekvivalentne upute za dva pružatelja usluga i promatrati razlike u kvaliteti koda, latenciji i pridržavanju uputa. Ova vrsta praktičnog testiranja je mnogo informativnija od čitanja statičnih benchmarkova.

Kombiniranjem kataloga i igrališta u editoru, AI Toolkit skraćuje petlju povratnih informacija: otkrijete model, odmah ga isprobate u odnosu na svoje stvarne zadatke i odlučite da li zaslužuje mjesto u vašem steku. Za radne procese umjetne inteligencije otvorenog koda, ovo znatno olakšava validaciju modela poput onih koji se pokreću putem ONNX-a ili Ollame bez postavljanja odvojenih sandbox okruženja.

Izrada i inspekcija AI agenata u VS Code-u

Pored jednostavnih uputa, AI Toolkit uvodi strukturiran način izgradnje agenata - višekratno upotrebljive AI komponente koje obuhvataju ponašanje, alate i upute. Alat za izradu agenata vodi vas kroz kreiranje sofisticiranih struktura promptova, povezivanje alata (uključujući interfejse u MCP stilu) i generiranje koda spremnog za produkciju s dobro definiranim izlazima (pogledajte prilagođene agente u VS Codeu).

Brzo inženjerstvo u ovom kontekstu postaje više od pukog igranja s jednim nizom znakova; definirate uloge, instrukcije, korištenje alata i izlazne formate na ponovljiv način. Ovo je posebno korisno ako gradite istu vrstu asistenta za različite projekte - recimo, agenta za pregled koda, objašnjavača dokumentacije ili analizatora metapodataka slika.

Nakon što agent postoji, Agent Inspector vam omogućava da otklanjate greške i vizualizujete njegovo ponašanje direktno unutar VS koda. Možete pregledati međukorake, vidjeti kako se pozivaju alati i ponavljati svoj dizajn bez napuštanja prozora editora. Ovo je neprocjenjivo kada se bavite suptilnim problemima poput haluciniranih poziva alata ili krhkih uputa.

Za hostovana okruženja, možete implementirati agente u Microsoft Foundry direktno iz AI Toolkita. Lokalni agent kojeg ste kreirali u VS Code-u može postati hostovani agent u Foundryju, što olakšava njegovu integraciju u veće sisteme ili izlaganje putem API-ja. Namjensko igralište za hostovane agente zatim nudi korisnički interfejs za interakciju s ovim hostovanim agentima na isti poznati način.

Ova kombinacija – Agent Builder, Agent Inspector i podrška za hostovane agente – pretvara VS Code u praktičnu laboratoriju za dizajniranje i slanje agenata, ne samo za testiranje samostalnih upita. Ako želite izgraditi internog open source asistenta prilagođenog stacku vašeg tima, ovi alati vam pružaju potrebnu podršku.

Pokretanje i evaluacija upita u velikom obimu

Kada ozbiljno shvatate vještačku inteligenciju u produkciji, potrebno vam je više od ad-hoc sesija razgovora; potrebno vam je sistematsko testiranje i evaluacija. AI Toolkit rješava ovo putem funkcija poput Bulk Run-a i Model Evaluation-a, kojima je obje moguće pristupiti iz VS Code-a.

Grupno pokretanje vam omogućava da istovremeno izvršavate testove grupnih promptova na više modela. Možete definirati skup testnih ulaza i pokrenuti ih na različitim pružateljima usluga ili konfiguracijama, što je idealno za poređenje performansi na stvarnim opterećenjima ili procjenu kako ažuriranja modela utječu na vaše tokove. Ovo je posebno korisno ako želite razumjeti kako se lokalni model otvorenog koda uspoređuje s plaćenim API-jem.

Za dublju analizu, Model Evaluation pruža alate za procjenu ponašanja modela u odnosu na skupove podataka i standardne metrike. Možete mjeriti stvari poput F1 rezultata, relevantnosti, sličnosti ili koherentnosti, a slobodni ste i dodati prilagođene kriterije evaluacije prilagođene vašoj domeni. Ovo vam pomaže da se odmaknete od evaluacija "osjeća se dobro" ka kvantificiranim, reproducibilnim metrikama.

Evaluacija nije ograničena na pojedinačne modele; možete uporediti nekoliko modela ili zatražiti varijante koristeći isti skup podataka. Ako, na primjer, radite brzo inženjerstvo za agenta za pomoć u kodiranju, možete mjeriti koliko često svaka varijanta proizvodi ispravne zakrpe, visokokvalitetna objašnjenja ili minimalne halucinacije u odabranom skupu testova.

Budući da se sve ovo izvršava unutar VS Code-a, prirodno se integrira u vašu razvojnu petlju. Možete uređivati ​​upite, ponovo pokretati evaluacije, prilagođavati skupove podataka i potvrđivati ​​promjene bez prebacivanja konteksta na odvojene kontrolne ploče korisničkog interfejsa. Ovo je posebno korisno prilikom iteracije na modelima otvorenog koda koje pokrećete lokalno, jer imate strogu kontrolu i brze povratne informacije.

Fino podešavanje, konverzija modela i lokalna implementacija

Ako više volite raditi s otvorenim ili prilagođenim modelima umjesto da se isključivo oslanjate na hostovane API-je, AI Toolkit uključuje funkcije prilagođene tom radnom procesu. Dva najvažnija su fino podešavanje i konverzija modela, a oba imaju za cilj da se modeli dobro ponašaju u vašem specifičnom okruženju.

Alat za fino podešavanje vam omogućava da prilagodite prethodno obučene modele vašoj domeni koristeći vlastite skupove podataka. Možete lokalno izvršavati zadatke finog podešavanja ako imate GPU resurse ili ih premjestiti u oblak pomoću Azure Container Apps s GPU ubrzanjem. Ovo je idealno kada želite model koji bolje razumije vašu internu kodnu bazu, stil dokumentacije ili sheme podataka.

Na strani implementacije, Model Conversion vam pomaže da transformišete, kvantizujete i optimizujete modele kako bi efikasno radili na lokalnom hardveru. Možete pretvoriti modele iz izvora poput Hugging Face u formate pogodne za ONNX ili Windows ubrzano runtime okruženje i podesiti ih za izvršavanje na CPU, GPU ili NPU procesoru. Ovo je važno ako želite brzo, privatno zaključivanje na laptopu ili radnoj stanici bez plaćanja API naknada po tokenu.

Za Windows programere, mogućnosti profiliranja Toolkita pomažu u dijagnosticiranju načina na koji modeli koriste CPU, GPU i NPU resurse. Možete analizirati ONNX modele na različitim pružateljima izvršenja i pregledati događaje Windows Machine Learninga, što je ključno pri optimizaciji latencije, propusnosti i troškova za lokalna AI opterećenja.

Zajedno, fino podešavanje, konverzija i profiliranje čine VS Code održivim okruženjem za ozbiljan rad s otvorenim kodom umjetne inteligencije, ne samo za pozivanje cloud API-ja. Dobijate put od javnih kontrolnih tačaka do optimizovanih, domenski specifičnih modela koji se izvršavaju lokalno ili u vašoj vlastitoj infrastrukturi, a sve je orkestrirano iz editora koji već koristite.

Upravljanje resursima i alatima za razvojne programere u AI Toolkit-u

UI AI Toolkit-a je organizovan u jasne odeljke – Moji resursi, Alati za razvojne programere, Praćenje i Pomoć i povratne informacije – tako da uvek znate gde da pronađete svaku mogućnost. Ova struktura omogućava upravljanje čak i kada žonglirate s više modela, agenata i implementacija.

U području Moji resursi vidite sve što vam je dostupno unutar Toolkita. Lokalni resursi navode stavke pohranjene na vašem računaru, kao što su lokalni modeli, alati i agenti. Vaš Foundry projekat prikazuje Microsoft Foundry projekat povezan sa Toolkitom, uključujući raspoređene modele, agente promptova, hostovane agente, alate, vektorske skladišta i klasične agente. Povezani resursi agregiraju vanjske veze, poput GitHub modela, koje su dostupne vašem radnom prostoru.

Odjeljak Alati za razvojne programere je mjesto gdje možete pronaći mogućnosti za otkrivanje, izgradnju i primjenu AI komponenti. Pod opcijom Otkrivanje (Discovery) imate Katalog modela (Model Catalog) i Katalog alata (Tool Catalog), koji vam pomažu u pregledavanju i upravljanju modelima i alatima. Pod opcijom Izgradnja (Build) dobijate pristup funkcijama kao što su Kreiranje agenta (Create Agent), Inspektor agenta (Agent Inspector), Implementacija (Deployment to Microsoft Foundry), Igralište hostovanih agenata (Hosted Agent Playground), Igralište modela (Model Playground), Konverzija modela (Model Conversion) i Fino podešavanje (Fine Tuning).

Odjeljak Monitor fokusiran je na razumijevanje kako se vaše AI aplikacije ponašaju u praksi. Praćenje prikuplja i prikazuje detaljne podatke o tome kako vaše aplikacije pozivaju modele i agente, dok Evaluacija objedinjuje ranije spomenute alate za procjenu modela na jednom mjestu. Profiliranje (za Windows ML) vam omogućava da se udubite u brojke niskog nivoa performansi CPU-a, GPU-a i NPU-a.

Konačno, Pomoć i povratne informacije centraliziraju linkove dokumentacije, bilješke o izdanjima, prijavljivanje problema i kanale zajednice. Odavde možete brzo preći na dokumentaciju AI Toolkit-a, vidjeti šta je novo u nedavnim verzijama, prijaviti greške na GitHub-u ili se pridružiti zajednici kako biste podijelili iskustva i prijedloge.

Ovaj strukturirani raspored pretvara AI Toolkit u više od pukog skupa funkcija; on postaje koherentan radni prostor za razvoj AI-a u VS Code-u. Bez obzira da li otkrivate nove modele, gradite agente, pratite performanse ili podnosite povratne informacije, sve je udaljeno samo nekoliko klikova u poznatom okruženju.

Sve u svemu, rad s otvorenim kodom umjetne inteligencije u VS Codeu danas znači mnogo više od uključivanja dodatka za automatsko dovršavanje. Dobijate editor čiji AI stek se širi na otvoreno, moćan Toolkit koji pokriva cijeli životni ciklus od otkrivanja modela do implementacije, te robusnu podršku za lokalne i cloud modele od više dobavljača. Za iskusnog JavaScript/React programera koji se vraća AI alatima, ovaj ekosistem nudi pragmatičan put za eksperimentisanje, izgradnju i isporuku AI-proširenih funkcija, uz održavanje transparentnosti, fleksibilnosti i zajednice u srži vašeg radnog procesa.Pogledajte kompletan tutorijal za Visual Studio Code).

vscode-1
Vezani članak:
VS Code se razvija: Integracija umjetne inteligencije, napredak otvorenog koda i novi alati za proširenja
Slični postovi: