
Jei turite kuklų „Android“ telefoną ar planšetinį kompiuterį, pavyzdžiui, pradedantiesiems skirtą „Samsung“, ir vis dar nekantraujate pradėti programuoti, jums pasisekė: su „Termux“ galite susikurti nedidelę „Linux“ aplinką kišenėje ir pradėti eksperimentuoti. C, C++, Python, HTML ir CSS be kompiuterioIdėja skamba kiek keistai, bet vos tik ją išbandai, supranti, kad ji visiškai tinka mokantis programuoti ir vykdant realius projektus.
Šiose eilutėse pamatysime, kaip pasinaudoti „Termux“ privalumais Programuokite Python ir C++ kalbomis savo „Android“ planšetiniame kompiuteryje arba mobiliajame įrenginyje.Sužinosite, kuriuos paketus diegti, kaip kompiliuoti iš terminalo, kokius projektus galite kurti ir kokius įrankius pridėti. Be to, rasite praktinių patarimų pradedantiesiems, naudingų nuorodų į dokumentaciją ir trumpą įvadą, kaip visa tai susieti su kibernetiniu saugumu ir automatizavimu, nepamirštant, kad dirbate mobiliuoju įrenginiu.
Kas yra „Termux“ ir kodėl jį naudoti programuojant „Android“?
„Termux“ yra „Android“ programa, kuri siūlo jums Pilnai sukomplektuota „Linux“ aplinka jūsų mobiliajame telefone ar planšetiniame kompiuteryjeNereikia root prieigos ar sudėtingų gudrybių. Tai tarsi „Linux“ terminalo atidarymas telefone: galite diegti paketus, naudoti savo paketų tvarkyklę, redaguoti failus, kompiliuoti programas, vykdyti scenarijus ir daug daugiau.
Didžiausias privalumas yra tas, kad „Termux“ Tai pašalina daugelį tipinių kliūčių, trukdančių išmokti programuoti.Jums nereikia galingo nešiojamojo kompiuterio, nereikia diegti virtualių mašinų ar atlikti sudėtingų diegimų. Turėdami „Android“ įrenginį ir gerą interneto ryšį, galite įdiegti C/C++ kompiliatorius, „Python“ interpretatorius, lengvus serverius ir tinklo įrankius, kuriuos paprastai naudojate tik asmeniniame kompiuteryje.
Jei pradedate nuo tokių kalbų kaip C++, Python, HTML ar CSS, „Termux“ leidžia jums pereiti nuo teorijos prie praktikosUžuot tik žiūrėję vaizdo įrašus ir skaitę užrašus, galite rašyti savo kodą, paleisti jį mobiliajame įrenginyje ir eksperimentuoti su mažais projektais, kurie atkartoja realaus pasaulio scenarijus.
Be to, „Termux“ ekosistema labai gerai dera su kibernetinio saugumo, procesų automatizavimo ir sistemų administravimo veikimu ten, kur jos naudojamos. Python scenarijai, tinklo įrankiai ir Linux komandos nuolat. Paversti savo telefoną nešiojama mini laboratorija yra puikus būdas lavinti šiuos įpročius nuo pirmos dienos.
Įdiekite ir sukonfigūruokite „Termux“ savo „Android“ planšetiniame kompiuteryje arba mobiliajame įrenginyje
Prieš pradėdami rašyti kodą, turite daugiau ar mažiau tiksliai suderinti „Termux“. Pirmiausia turite atsisiųsti programėlę iš patikimas ir naujausias šaltinisRekomenduojamas variantas paprastai yra oficiali „F-Droid“ saugykla arba „Termux GitHub“ puslapis, kur jie įkelia naujausias versijas, suderinamas su naujausiomis „Android“ API.
Įdiegę programą, atidarykite „Termux“ ir leiskite jai paruošti pradinę aplinką. Pamatysite tipinį langelio formos langą. Kitas loginis žingsnis yra atnaujinti pagrindinius sistemos paketus kad nereikėtų naudoti pasenusių versijų. „Termux“ programoje tai atliekama naudojant įprastas tvarkyklės komandas:
pkg atnaujinimas ir pkg atnaujinimas Tai naudosite naujiems indeksams atsisiųsti ir viskam, ką įdiegėte, atnaujinti. Tai žingsnis, kurį turėtumėte kartoti kartkartėmis, ypač prieš diegdami kompiliatorius, „Python“ ar kūrimo įrankius, nes tai padeda išvengti versijų konfliktų.
Atnaujinus sistemą, jus domina kai kurių diegimas pagrindinės terminalo priemonėsTai dažnai apima redaktorius, tokius kaip „nano“ ar „vim“, failų dekompresijos įrankius, tinklo įrankius ir kitus priedus, kurie palengvina jūsų kasdienį gyvenimą. „Nano“ paprastai yra paprasčiausias pasirinkimas, jei pradedate, nes jis naudoja paprastus sparčiuosius klavišus ir rodo pagalbą ekrano apačioje.
Šiuo metu jūsų „Android“ įrenginyje jau veikia mini „Linux“, paruošta pridėti kompiliatorius, interpretatorius ir viską, ko reikia norint programuoti C, C++ ir Python kalbomis iš terminalo. Jums nereikia būti sistemų ekspertu: rašydami pirmąsias programas pamažu įprasite naudotis pagrindinėmis komandomis.
Įdiekite „clang“ ir kompiliuokite C bei C++ naudodami „Termux“
Norint programuoti C ir C++ kalbomis iš „Termux“, jums reikia kompiliatorius, suprantantis abi kalbasŠioje aplinkoje dažniausiai naudojamas „clang“ paketas, kuris apima reikiamą C ir C++ palaikymą, taip pat sukuria nuorodas į su gcc ir g++ suderinamus vykdomuosius failus, kad galėtumėte kompiliuoti naudodami klasikines komandas.
Diegimas paprastas: naujoje „Termux“ sesijoje paleiskite komandą pkg diegimo klanasĮrankis paprašys patvirtinimo; tiesiog atsakykite Y, kai būsite paraginti. Paketų tvarkyklė atsisiųs visus reikiamus komponentus ir įdiegs juos jūsų sistemoje. Nuo to momento turėsite vykdomuosius failus, kuriuos galėsite kompiliuoti C (gcc) ir C++ (g++) kalbomis.
Įdiegus „clang“, gausite tai, kas yra Pilna C ir C++ kūrimo aplinka „Android“ sistemojeGalite rašyti šaltinio kodą, jį kompiliuoti ir generuoti vykdomuosius failus, kurie veikia tiesiogiai „Termux“ sistemoje. Tai praktiškai tas pats, ką darytumėte darbalaukio „Linux“ sistemoje, bet pritaikyta mobiliesiems telefonams ar planšetiniams kompiuteriams.
Jei bet kuriuo metu susidursite su klaidomis dėl trūkstamų priklausomybių ar bibliotekų, greičiausiai pakaks įdiegti reikiamą programinę įrangą. specialūs papildomi paketai iš paties „Termux“ tvarkyklės. Nesijaudinkite: daugeliu atvejų tereikės perskaityti klaidos pranešimą, surasti bibliotekos pavadinimą ir pridėti atitinkamą paketą.
Ši sistema leidžia kompiliuoti viską – nuo paprastų programų iki sudėtingesnių projektų, jei tik jie nesiremia sudėtingomis grafinėmis sąsajomis ar kitais „Android“ nepalaikomais komponentais. To daugiau nei pakanka C ir C++ logikai išmokti bei duomenų struktūroms, algoritmams ir mažoms konsolės priemonėms praktikuoti.
Pirmoji C programa iš jūsų planšetinio kompiuterio su „Termux“
Kai turėsite kompiliatorių, laikas jį išbandyti su paprastu pavyzdžiu. Paprastai sukursite Parašykite C kalba programą „Sveikas pasaulis“, kad patikrintumėte, ar viskas veikia.Pirmas žingsnis – pasirinkti redaktorių. „Nano“ paprastai yra patogiausias pasirinkimas, jei tik pradedate, ir jį galite lengvai įdiegti naudodami:
pkg įdiegti nano Tai komanda, kuri prideda redaktorių prie „Termux“ aplinkos. Kai diegimas bus baigtas, galite sukurti naują failą tokiu pavadinimu kaip hola.c, paleisdami nano hello.c terminale. Tai atvers tuščią buferį, kuriame galėsite įvesti bet kokį norimą C kodą.
Faile parašykite paprastą C programą, kuri ekrane atspausdina pranešimą. Nereikia laikytis klasikinio pavyzdžio; tiks bet koks tekstas, kad būtų patikrinta, ar kompiliavimas ir vykdymas veikia teisingai. Svarbu, kad jame būtų `main` funkcija ir `printf` iškvietimas, nes jis yra pagrindinė C programos struktūra.
Baigę rašyti, turite išsaugoti failą. Naudojant „nano“, procesas apima klavišų kombinacijos naudojimą. CTRL + O, kad įrašytumėte failą, paspauskite Enter, kad patvirtintumėte pavadinimą, tada CTRL + X, kad išeitumėte Iš redaktoriaus. Grįšite į „Termux“ raginimą, o jūsų hola.c failas bus išsaugotas dabartiniame kataloge.
Kitas žingsnis – kompiliavimas. Iš to paties katalogo, kuriame yra hola.c, naudokite C kompiliatorių paleisdami kažką panašaus į gcc -o labas labas.cŠi komanda nurodo kompiliatoriui sugeneruoti vykdomąjį failą pavadinimu „hola“ iš šaltinio kodo hola.c. Jei viskas teisingai, klaidų pranešimų nebus rodoma ir matysite tylų atsakymą.
Iš ten tereikia paleisti sugeneruotą failą su ./labas kad terminale pamatytumėte užprogramuotą pranešimą. Tuo jau įrodėte, kad galite Rašykite, kompiliuokite ir vykdykite C programas tiesiai savo „Android“ įrenginyje. naudojant „Termux“, nereikalaujant stacionaraus kompiuterio.
Sudarykite ir paleiskite C++ kodą „Termux“ programoje su „g++“
C++ kalboje idėja labai panaši, bet naudojant „g++“ vykdomasis failas, kuris yra „clang“ paketo dalisC++ gerokai išplečia kalbos galimybes, palyginti su C, nes siūlo objektinį programavimą, šablonus, turtingesnes standartines bibliotekas ir dar daugiau. „Termux“ programoje visa tai galite praktikuoti naudodami tą patį terminalą.
Kai kuriais atvejais C++ kompiliatorius gali kompiliuoti gryną C kodą, nors paprastai jis rodys tam tikrą įspėjimą. Pavyzdžiui, galite naudoti komandą g++ -o hola_cpp hola.c Norint sugeneruoti vykdomąjį failą iš to paties C failo, kompiliatorius įspės, kad maišote elementus, bet vis tiek sukurs dvejetainį failą pavadinimu hola_cpp, kurį galėsite paleisti su ./hola_cpp.
Net ir tokiu atveju rekomenduojama, kad Realaus pasaulio C++ projektuose naudojami failai su plėtiniu .cpp ir kodas, sukurtas C++.Pasinaudojant jos pačios ypatybėmis. Tokiu būdu galite maksimaliai išnaudoti klases, standartinę biblioteką ir šiuolaikinius kalbos įrankius, neapsiribodami C kalba.
Kaip ir C kalboje, darbo eiga yra tokia pati: sukuriate šaltinio failą (pavyzdžiui, program.cpp), redaguojate jį naudodami „nano“ arba jums patinkantį redaktorių, išsaugote pakeitimus ir tada kompiliuojate naudodami „g++“, nurodydami išvesties vykdomojo failo pavadinimą. Jei atsiranda įspėjimų ar klaidų, „Termux“ juos parodys terminale, kad galėtumėte ištaisyti kodą.
Taikant šį metodą, galite pradėti kurti mažos C++ programos iš jūsų planšetinio kompiuterioNuo pagrindinių pratimų iki praktikos struktūrų ir mini įrankių, kurie automatizuoja užduotis pačioje „Termux“ sistemoje, pvz., tekstinių failų apdorojimą, žurnalų analizę ar paprastų ataskaitų generavimą konsolėje.
Įdiekite ir naudokite Python programavimo kalbą „Termux“ realiuose projektuose
Be C ir C++, „Termux“ puikiai tinka dirbant su „Python“. Vos keliomis komandomis galite paversti savo mobilųjį telefoną... scenarijų ir automatizavimo laboratorija kuris keliauja su jumis visur. Norėdami įdiegti interpretatorių, tiesiog naudokite įprastą paketų tvarkyklę.
Jums reikalinga komanda yra pkg įdiegti pythonTai atsisiųs „Termux“ saugyklose esančią „Python“ versiją kartu su pagrindinėmis bibliotekomis, reikalingomis pradžiai. Įdiegus, interpretatorių bus galima pasiekti terminale tiesiog įvedus „python“ arba „python3“, priklausomai nuo numatytojo slapyvardžio.
Kai „Python“ veikia, galite pradėti kurti scenarijus ir mažus projektus. Vienas geriausių būdų mokytis yra sekti instrukcijų seką, pagrįstą... praktiniai projektai, kuriuos galite vykdyti ir modifikuoti tiesiogiai savo įrenginyjeUžuot vien sutelkę dėmesį į pavienius pavyzdžius, kiekvieną temą nagrinėjate turėdami aiškų tikslą: automatizuoti ką nors, analizuoti informaciją arba sąveikauti su išorinėmis paslaugomis.
Labai įdomus metodas apima „Linux“ komandų maišymą su „Python“ scenarijais, pasinaudojant tuo, kad „Termux“ suteikia jums tinklo įrankiai, sistemos įrankiai ir prieiga prie failų sistemos ir parinktys valdyti spynas ir baterijąTokiu būdu kiekviena jūsų sukurta programa Python kalboje išsprendžia konkrečią problemą, kartu priversdama jus galvoti apie tai, kaip suderinti kalbos logiką su terminalo aplinkos galimybėmis.
Taikant šią schemą, „Termux“ nustoja būti tik smalsi programėle ir tampa mokymosi palydovu: bet kurios laisvos akimirkos pakanka atidaryti terminalą, parašyti kodą ir išbandyti naują idėją nereikalaujant kito įrenginio.
Naudingos Python projekto idėjos Termux kalba
Kad „Python“ netaptų tik funkcijų ir ciklų sąrašu, puiku kurti projektus, kurie labai primena realaus pasaulio situacijas. „Termux“ siūlo daugybę galimybių tam, ypač tokiose srityse kaip Bazinis kibernetinis saugumas, pasikartojančių užduočių automatizavimas ir informacijos analizė.
Viena iš pirmųjų idėjų – sukurti scenarijų tinklo patikros automatizavimasPavyzdžiui, programa, kuri siunčia ping užklausą kelioms svetainėms, registruoja jų atsakymus ir praneša, jei kuri nors svetainė nepavyksta. Ryšiams tvarkyti galite naudoti tokius modulius kaip subprocesai, lizdai arba specialios bibliotekos. Tokiu būdu galite praktikuotis išduoti išorines komandas, fiksuoti išvestį ir tvarkyti klaidas nesugadindami scenarijaus.
Dar vienas labai praktiškas projektas yra paprastas slaptažodžio stiprumo tikrintuvasČia galite parašyti scenarijų, kuris paima slaptažodį, analizuoja jo ilgį, didžiųjų ir mažųjų raidžių, skaičių ir simbolių naudojimą ir grąžina rezultatą. Jei jaučiatės drąsūs, galite pridėti reguliariąsias išraiškas arba palyginti jas su dažniausiai vartojamų žodžių sąrašais, kuriuos generuojate ir tvarkote naudodami „Termux“.
Taip pat galite painiotis su žurnalų failų analizėNesvarbu, ar tai būtų paslaugos, kurias nustatote „Termux“, ar kitos sistemos, kurias perkeliate į savo mobilųjį įrenginį, tikslas būtų nuskaityti failą, filtruoti eilutes su konkrečia informacija (klaidomis, įspėjimais, konkrečiais IP adresais), generuoti santraukas ar ataskaitas ir, jei norite žengti toliau, aptikti modelius, kurie gali būti svarbūs saugumui ar priežiūrai.
Vienas projektas, kuris paprastai būna gana įtraukiantis, yra sukurti paprastas interneto grandiklisNaudodami tokias bibliotekas kaip užklausos ir HTML analizatorius, galite sukurti scenarijų, kuris aplanko konkrečius puslapius, renka duomenis ir išsaugo juos vėlesnei analizei. Tai gali būti naudinga stebint kainas, renkant viešą informaciją, stebint dominančių svetainių pokyčius ar net mokant akis aptikti įtartiną turinį ar socialinės inžinerijos bandymus.
Galiausiai, labai pamokanti sukurti realiuoju laiku stebi duomenis, tokius kaip orai ar kriptovaliutosNaudodamas viešąsias API, jūsų scenarijus periodiškai pateikia užklausas informacijai ir rodo ją „Termux“ terminale arba išsaugo failuose, kad būtų galima palyginti istorinius duomenis. Dirbant su API, reikia tvarkyti HTTP užklausas, JSON atsakymus, žetonų autentifikavimą ir pagrindinį tinklo klaidų valdymą.
Mokykitės Python ir kibernetinio saugumo vienu metu iš savo mobiliojo telefono
Daugelyje projektų, kuriuos galite atlikti su Python „Termux“ aplinkoje, natūraliai galima pristatyti koncepcijas iš kibernetinis saugumas ir geriausia praktikaIdėja yra ne paversti savo mobilųjį telefoną daugiafunkciu įsilaužimo įrankiu, o suprasti, kaip jūsų scenarijai yra susiję su tinklų, sistemų ir duomenų saugumu.
Kai kuriate, pavyzdžiui, įrankį slaptažodžiams įvertinti, turite puikią progą pakalbėti apie įmonės saugumo politika, tinkamas įgaliojimų valdymas ir sistemos pavyzdžiui, NIST CSF arba standartai, tokie kaip NIS2, kurie nustato įsipareigojimus tam tikruose sektoriuose. Net jei programuojate kaip mėgėjas, šios sąvokos suteikia jums realaus pasaulio kontekstą.
Žurnalų analizatorių atveju jūsų scenarijus gali veikti kaip mini incidentų aptikimo sistema Jis ieško anomalių modelių, nepavykusių prisijungimo bandymų ar neįprasto elgesio. Tai vėlgi susiję su tuo, kaip įmonėse organizuotos saugumo komandos, ir padeda mąstyti apie nuolatinį stebėjimą ir reagavimą į incidentus.
Darbas su grandikliais ir API taip pat verčia jus apsvarstyti tokius dalykus kaip atsakingas informacijos naudojimas, paslaugų teikimo sąlygų laikymasis ir asmens duomenų tvarkymasTai tinkamas metas pristatyti pagrindines etikos praktikas: neperkraukite paslaugų užklausomis, nerinkite neskelbtinų duomenų be leidimo ir apsaugokite visus savo scenarijuose naudojamus prisijungimo duomenis.
Jei jus taip pat domina procesų automatizavimas profesionalioje aplinkoje, „Termux“ ir „Python“ gali būti pirmas žingsnis įgyvendinant šias idėjas. debesijos platformų, tokių kaip AWS ar Azure, arba integruokite jas su verslo analitikos sprendimais, tokiais kaip „Power BI“kur tvarkomi dideli duomenų kiekiai ir sudėtingesni darbo eigos, taip pat vietinėms užduotims, pvz. suplanuokite periodinius perkrovimus prietaiso.
Pagrindinė konfigūracija ir patarimai, kaip patobulinti „Termux“ aplinką
„Termux“ veikia iš karto, tačiau atlikę keletą pakeitimų galite sukurti patogesnę aplinką valandų valandas trunkančiam planavimui. Pradžiai patartina sukonfigūruokite jums patogų redaktorių„Nano“ yra paprasta, bet jei jau turite patirties su „Vim“ ar panašiomis programomis, galite ją įdiegti ir pritaikyti naudodami įprastas sparčiuosius klavišus.
Dar vienas naudingas patarimas – suorganizuoti aiški aplankų struktūra jūsų projektamsPavyzdžiui, vienas katalogas skirtas C, kitas – C++, dar kitas – Python, o kiekviename iš jų – poaplankiai kiekvienam projektui. Tai padės išvengti šaltinio kodo, vykdomųjų failų ir duomenų maišymo ir padės jums nuo pat pradžių dirbti organizuotai.
Jei ketinate dirbti su tinklais, API ar išorinėmis paslaugomis, apsvarstykite galimybę naudoti VPN „Android“ įrenginyje dirbant su „Termux“Tai nėra privaloma, tačiau suteikia naudingą privatumo ir saugumo sluoksnį, ypač jei naudojatės viešaisiais arba nepatikimais „Wi-Fi“ tinklais. Be to, jei norite taupyti išteklius, sužinokite, kaip tai padaryti. automatizuoti mobiliojo telefono įjungimą ir išjungimą.
Taip pat rekomenduojama priprasti prie rašymo Registravimas ir išimčių tvarkymas jūsų Python scenarijuoseUžuot programai užstrigus vos įvykus pirmai išimtiai, ji fiksuoja tinklo, duomenų formato ar leidimų klaidas ir registruoja, kas nutiko. Tai verčia jus kurti patikimesnį kodą ir moko mąstyti atsparumo požiūriu.
Galiausiai nepamirškite, kad „Termux“ yra tikra „Linux“ aplinka, todėl viskas, ko čia išmoksite – komandos, teisės, katalogų struktūra, kanalai, peradresavimai – vėliau bus naudinga serveriuose, virtualiose mašinose ar gamybos sistemose. Tai labai praktiškas būdas... susipažinkite su terminalu dirbdami prie jums patinkančių projektų.
„Termux“ ir „Python“ integravimas su IDE sistemoje „Android“
Gana dažnas klausimas pradedant naudoti „Termux“ yra, ar tai įmanoma „Termux Python“ aplinkos prijungimas prie „rimtos“ IDE sistemoje „Android“Idėja būtų tokia, kad interpretatorius veiktų „Termux“ viduje, bet redaguotų ir vykdytų kodą patogesnėje vartotojo sąsajoje, panašiai kaip naudojant darbalaukio IDE.
„Android“ sistemoje yra tokių programų kaip „Pydroid“ ar panašios, kurios turi savo interpretatorių ir leidžia programuoti naudojant grafinę sąsają, tačiau tokiais atvejais Vykdymo aplinka yra izoliuota nuo „Termux“.Jie nesidalija paketais ar konfigūracija, ir kiekviena programa veikia nepriklausomai. Todėl, jei norite IDE, kuri tiksliai naudotų „Termux“ „Python“, viskas tampa sudėtinga.
Šiuo metu galimybės turėti IDE, visiškai integruota su „Termux Python“ aplinka, yra ribotaTą srautą galite apytiksliai atkurti naudodami galingus redaktorius, veikiančius „Termux“ viduje (pvz., „Vim“ arba „Neovim“ su papildiniais), arba derindami „Termux“ su išoriniais redaktoriais, kurie pasiekia bendrinamus failus, nors kodą vis tiek vykdysite terminale.
Kita alternatyva – prijungti įrenginį prie kompiuterio ir dirbti su juo. Nuotolinė IDE, kuri bendrauja su „Termux“Tačiau tai jau reiškia, kad reikia peržengti „tik mobiliojo telefono ar planšetinio kompiuterio“ idėją. Grynai mobiliajam naudojimui realiausias būdas yra susitaikyti su tuo, kad „Termux“ yra terminalo pagrindu, ir patobulinti jį tinkama konfigūracija, slapyvardžiais, sparčiaisiais klavišais ir lanksčiu redaktoriumi pačioje aplinkoje.
Jei jūsų pagrindinis tikslas yra kruopščiai išmokti Python ir pritaikyti tai, ko išmokote, realiuose projektuose, „Termux“ suteikia jums viską, ko jums reikia. O jei vėliau norėsite pereiti prie išsamesnių IDE, galėsite atkartoti didžiąją dalį savo sąrankos asmeniniame kompiuteryje arba debesies aplinkoje, išlaikydami esamą sąranką. ta pati veikimo logika, kurią jau praktikavote „Android“ sistemoje.
Naudodami kuklų mobilųjį telefoną ar planšetinį kompiuterį, tokią aplinką kaip „Termux“ ir tinkamus įrankius, galite susikurti daugiau nei padorią darbo vietą C, C++ ir Python kalboms mokytis, derinti „Linux“ komandas su praktiškais scenarijais, eksperimentuoti su tinklais, žurnalais ir API bei palaipsniui suprasti, kaip visa tai dera kibernetinio saugumo, procesų automatizavimo ir profesionalių debesijos paslaugų pasaulyje. Laikydamiesi tam tikro nuoseklumo, ši kišeninio dydžio laboratorija tampa pirmuoju žingsniu link rimtesnių projektų, o augant jūsų žinioms, tas pačias idėjas galite pritaikyti serveriuose, įmonės programose ar verslo analitikos sprendimuose nekeisdami savo mąstysenos, tik mastelio.
