Add gotosocial

This commit is contained in:
Tobias Manske 2024-01-15 20:42:58 +01:00
parent ab7797fa67
commit 136902c8ec
Signed by: tobias
GPG Key ID: 9164B527694A0709
9 changed files with 556 additions and 394 deletions

View File

@ -1,395 +1,418 @@
$ANSIBLE_VAULT;1.2;AES256;secrets $ANSIBLE_VAULT;1.2;AES256;secrets
31383237636366343438323664636362666166393333646565303139376464663338663437313634 35363566626539663638343063313962633435333461363562623237663535353331613334343161
3236656363383934343532626636386565333430613837630a306565643664303230333834303365 6264363235383562363262356139323936326336616438310a383137366164613339376137366265
30313665613833373765656539616132306237396163313637303735636230386130373231326236 32623464313765626636666134333665396661383432653533646665646562623135346136373864
6265366563636132650a383230366566373836316361343830336530666261623737356461353234 6536323039383238630a353566643435326166346265316530383036653064626364643739306233
31346235313461373563613061373538323631383132343236353232666434356663353630383435 35633831653039363039333964663534643061653130663634616231613639653736313363306330
65646135353839333532383362303734303432656262363663306135323066316363316236666534 36306136653532393838306531333866656536646136663565316630373963643366666462303933
34306431303863616463393863323136383461363235376131656265326339306639336236643937 61316435336233383435366664303331396164363239326432616662343336303736366361353963
38396539323163323765393963323166373035613063346262393831616562643939333132373038 34363532373831353365373539363630353735333233633238313532333266313335643938643638
36346466383864633765363437343166633263343338363230633264623631393237396564373830 64386231356437646630386133323730656238303364653366653138373337383036613333343630
37343862346265393237316365363065366438616331623139643533353135393466663439383837 34346330303163386230343033303238303334343461333039616335303035306238623463646635
64623835303061636430646339396432643663616133616633613139363038646365623066373735 63663565393666633162633238646166633561363265336162346437363661343431323734343932
35393133323538633238666132323464386266323630353563373830363739613531616531323938 32653338663061653265626332366338383065613736306561306462316435303234363264656534
30386365623265633264633632333432323336633165373263313338663339643432646131326331 64643864306335313531633235363366346232313437353162663364323365383263336235353666
39663065656263633462363939333930383062623133333931393535353162363263373838633037 62386232653831633765346633393332376538643239306164336534656332366234393538386564
63383632383635396332626264653961646133616362353662356533303264613032626536356437 35313930353362336165613335643465656138626430393464313765313534303634633739656232
65376330333565353038663237343063656563313264366539663061663966613863666262633036 66643535663336613865373339663664343166633534326434306162366635386366663230373464
32393731616538623839383537636430383264613535376462653930303564313964393161636436 62303937393435633237373239666231643930626432663361346166356533366530303234373561
31636134643438643566633833616166343831366235343932396536366335383233353361633537 61636132316362633136353062663231663738313265376532643631633162613264333963623235
35656133383263653730383535316563356435626134393333353637336436356461646636656535 61393661623232396463326666653231363030656565336565346334336138633165323064343564
63336361313132303637663438393331336638363130633364613565333562613933626339653037 35303831303262343831363466646265376231616237666266393537356365383466303662336336
65626561643262313438373337363134646136386336343231616635343335303832383366613534 38323633376261633431386662646664386161613463343962313134303537306439396363373230
36616130666464633935373038333134633233376532626630636536346439356332353132326531 34613935383165643163386135383830653562303264626331326136316464383938626532623730
36656134386530323335656334346561633362666632663461663166306233343061376131643233 30363562633335343735623230633132303162323264323932663831396431333830353137396132
64393761653233663337333566353032613337643734633365326361353466636363636666356465 30333736343639366335393763623739393233343065646237396630643634663066383866323737
65353562653339313265626434393362323465613739663933363962646238316438363731396630 61613836363461633833363562323335623132353035343539613630356334396463386137663739
36613332643736633236323038366662613532623163343937373335373833316631353934636362 35653065613031653766326235666334303965306434363330366262353539326365336131666362
30316230373136343437313132313439626265363962353961396433626363383739643438346666 33313164653838303565346335643136323734633231343131623534653633653261353063633862
64663564646335333364363864396233353730313763313564376362316133373839343637616333 63353139383562643731343462396635326537666636303337313038313862373639643036623333
66316437383032643831346131313839366234663838653766343663646631336637643135633539 62323439633438613961396631363332353761653563313037326132303634633036633136346238
64343662356134633534613365633431656162633331663564373332336163313762363365333233 64653566663936616236383534363966313133396237376130656332396562656564353032326331
39623734643862646236313638306632343739633431303263373365623561663330376263336566 36336238366636336237663737373637306132643462336337383034383533666362333636663737
61336539313139373163616432386235363830333661643630613136316637646365613766306334 38323262346334326339353937386164656332366264313832326463616235343535393631643530
65663235643264663862306536386136623235313863306339616339393639306436386634306265 38373332613561656562383263386662316439363362343763663139623161353163383035373339
65376366353563353331653631663736663564393061346163626636343061373863333333393862 66383730306231323334646666623432643032343531363862353762636265373232333431306134
37613539323364626336636632326663646166643834636339383137643866313238346662663136 62623334646438383337323762623338383537343733616666376238333239393364303764656561
38306538626361633136373737346463333662376639323265386464636436356631646638336664 31366632663535623936646161363063316263643835346336376538383734383733613762336466
30306665383738663331633733393266316561343237383639643566383231613339383162376263 34643132333432393432376235396666663934376566396338396164636533316434346135626163
61633035636566643663373531663634336333323231656366343565633562363039323964633131 39316565393139356439323538383164323835343633646637386137653931396238356666313535
31363839656331306266623935363431396130626136306638393734323732363339323266343837 34396365616235313533313730366463323235326134313837363465363237333934663934393130
34613538343766616139643164666633623333616233346437346637393632396566663665613264 39303163383862646633623236303361393537666239396230323164356139646262396536303437
36353331376234366262656634393339613566373466323033313230626265303531323430656334 37336237333265626163626635303331653365613735373364633961616130616537376330353566
31376130616634343561623030313736633964643332636362316530663237646464353733393738 62383437383465336338326130653163323465616232613331316566623130646466363163373031
30373564393434313139313839643232663833373131363230623562353830383330376534356231 63333261343264333338616633613663316661393831383338386237633839613765653630386638
63363738383462386334343766633537666366653731363638353034346461323363663262373363 33623665663739666634316238353735363231336165376438383966613661323132306562396464
62393433366262616438376435366435396531636566336163316362666166376165316638643730 32363131306137303536326131643434326535656631613735323736653533373839666134336463
65303264663432303339646232636363613961663630656537343230666637343837373966333461 31663939613236326564303939653431653931663134643436333962636331363064643939333239
61613362303034666336643265616333386632636331376564656430396532653830613263626265 37353539396563333266396233306231336630363534343034306134336533313035326636363264
34633331326635383766653332316432383438396436613263646262323635633062303262646538 39346361356366383037383765336636633531616538363639383232636536313561666333373863
39333933616665323139623038363166613363363861666332393164303561613935346261623734 35356633656638383430303364663962306230386163623261656131366438376131613930326533
63646262373036383538333732613733306662623536643464633033663830373335336538383363 38383231646162333937393832323231356461616237656534306266353263333561323566363933
31656530333236313462316330313031653639366563646533346530366533363536353131333138 36663063316436326566646233643762396332383366383565633438383663643832626533666235
39623437363732666131626133653762343432333531393534316634306632643938353561376233 30346532613833333761613437386564393635656537313166643865636437333436393337663335
35316430333061343761623234326631383736333263393663363435306531646537313863333265 38643065386632626163376565626164653235633337323364633837613665393866653230313734
34356430656263613864653562643035336163393835323631643539656666376530303935656631 64636563333137636436616464323839633133363137303734386261323034313437373238653535
33343364356333356636633563366566663430313935386463336139666132386264646265353465 37373361663765333434316565626532383338303736626239366535616635313639663834653931
61353135393162336661346566636533313564386531323662366466623030333134343430353036 33356139616265613262343730346664363034646133653333366666343333373339346663353262
65393661363566373335343537316630343737666231383335653639643434613736626164303362 39626532386232393533376232613964316636316237616363303632386538363038643033373361
31633966386263346261366230653330633931633535383531333935666235323838373762643232 65323339343333663863323262353336643934353438363965343665633432323832666139653430
36663566396433323035386136623039373730333839303737646436613236393533313465333333 38383334653031343063393463643834663064343265626566373662393163363330383237663333
36356133313562396264313066326130373561663864376563336436336564613061356462396166 39393236643638396633383439306365623639646130666337353765656337643832616363313432
35656438353034386535303534646665383139613137353365343061356134323261313562656565 63343066333863663734363866363965376536396530633966316535643237653363383965363339
63643538333132653865333564633033613734373865396361653435636163636134356434643361 61646263386661343733616637363164323038646538653136666232386363653735343539323434
31316565633365343563303230333331376161636466643635666639353036326238333931343265 66613263646332386264323431326462303862303561393831666363333037393232343761306662
65383362323831336563643361383233396364646535323733346239336465373965636662333330 64303837393363353538303564353465333330306432643934313233336131653931343538623763
64313037353332643338343130356433613431626433343731313864353961663263623964656162 33303163663530386136323632376238303232343238396666353663383261616337383033336138
65336133623137353038653131653137633132646565326635396236343133366463656336346330 62303233393261396339383462376336623866643664636233313138313964376266343535346666
66616663363035393434363266383462396137303331636130366331633234313634383861316237 62323765343663623264326234366431616633316139386234623963393166303936343732326166
66633531636436396564323331346166393934383934616165373438313064323234623438613262 35623661656461306236323231666138316161613534343863633039653837623935333063353738
31386565366631393165303330396138366130393133303737393835646230373136653666653063 66373834343233336463373832653836326565333731363133356333363636653261313731393732
39323263343632363132333132306433383538666339386631643464373931343966656637303563 64613730626464313736376133333465323464363536643736353063633966363536653437656533
65653433656265366361646233643839636162333263303066323863323935306365356666363834 64333464643339343637343634386630623961373565306630373038633866343365323833623962
33656561373233393934336638373533663361313432626566356130393337366538336330303635 65666330633539323739373636623238346237643732663736623330353038303830396666656261
35303466656262633763643264356534313562383735373131643834386531653535383636356438 30356531376235643661393566333033653238633639353935643535313134316562343536336639
65303235323032613930303239383132336437323261626330333733383833386664646563616265 38303463383037303431383764323238323463646430366233323433363535336234616566363531
39306264633561613439346334333234353138366261636238393630653234333035326636386363 32306636353136326335643865393462663465633634356437663865383765396135383038656234
30623437633533353465663966386235373931636564373830343239633462616630396536613363 66336336353864373231353032313236323034633534376362323461636263363436313430323133
30633564346661336435636561633366326164643863393934366262343361353631623734323161 66613564636137306266376566633930353036623161613530313563336432373038343265313733
32386534386236326437656130636436653139306462313237313135333964643333616231386538 32656332373733326636333936383235353535363636653335313766663536613162303564613437
34653963643934613562323538616436623661643263373866313061333761313266626130306636 34663366373636636465623562633339376334306232656630643635376136396131616533303466
62306566653061613064396539376665623566643136636162613863393634653933636662323137 39353531326536393663306338306630336534623935666564333730393330373330653532313230
39376564376162363230383031643263633061653164633438643039393435356161373765333963 38393230333964623763316266353932316535376633666237373339653433303762653835336439
64663133633461383736663037626466623461623337333638396661663831373030356138333663 36316563366638396437343964663433623531343061313439363630623933636538323034643832
65653966313238666235643232386538373065313666353634623831323039663235656537383530 65643632623332393733383166313563636266356233383639323830303661363161333261383630
36373833633439336662643432386566393566373163383963653164306661616231366362663763 65353237376139653839323438343965313735353436336561623065646466343139656339373163
65386261336435666136333533326438653531316564346465633239323738636637323439313366 66303064383062323266623634386263653765353166633261353666323430346330363739613038
31666261356439393430316232373630306561333232623363356163386632613539316230376637 64303837393533663633623837356438636166646435343035396633366238663661336565643065
34366435656232366465643839613333313138343064326463646230653239646262616533303362 65353230323731623534316364313464616335663266663263326266373162623561383530653963
62343537306238343464626566623062636463343833633235653131616161313033646333373965 64313664333839363565303030316666333365333335373339313032303462653531386136643966
62636661393139353463303462636331383932323032366230346331663131616164306535356135 32373537373763363361316435626463393433333563633735353562356435353937303364396136
35333463393962613433303932303532323266346164643031336235663638636130373030643034 30383339613238306237646566383232373432613336653762303934666231626432613933653966
30363466336463363634643434346133626434383162343264613032636335643338383633613062 31396436356166653261663330633036633963613433373436383433666632663231643935396262
61396337383363336439343134323131626431393633316361303738653531383064663635663663 65633266613261626234393934333837613033366338383839623231663366373231306337373336
37613234393638633335373932363634643535393662333038666166363539666537386632303365 65373132663964613334376332316466363032383536623239386164313532656530663266346162
38373934623530303464323937363239653836623131366362623634336231336163303131316338 35333063373137363536663761616133646162353139313364386235323537393462373562613962
32613639333461393066316665376663343464636431376632386434346134346466616538643633 38353630653436633030616664633462393039363665623362616663356234336266306261343230
64346361356239646437626237303266343636633461626637663931623433353766373531333936 62323864376334376161346437376536653532346265633066306536346439373834656465626661
65646439326432663133613432346465373163343838363363626332656161646433663538376265 32393837363161386435636538666265616365333366363834366634333239376463623736643163
35303565346330313733366131346136386263386233393235616164303338393665656538653638 36346135643937386566356362336566313165383630353634353133623137663332393261356462
30653465313233353234343264383662393033383538366435633331663930616364353763326636 65613564666666343163386663613262653161633165376165366465373532383736333165396662
36383833306536616531313935366561383133313330356431636439616530343834393836633533 33376133343332353839313139323363383134636331386239656661366536653434316362346235
64386332616133633034373839643534363763623030323364306262346635306165663261343832 36666439333661303266333934363332383235366165613561333239343233363065313538363334
65636130363264366536633566363636393765363438623532633037626231633235383730626662 36633530666230376532626466656432383436636636383035663838366331363362336139646664
30666236653766363931383631663639653631646465346134303863613163356461663631636436 33346230383939306161396263346661333165333866353635633233323934313435386563363363
33653332306138376563326136353236303431333232336131353330623434643834656137633432 31343765656336626335303636346366613265366138623331663735383739396338313337306538
66626163643234613638666136323637393636346538316637316266386632643561386139356632 36656337663033623330646538303436623466313233343330303262376433333833653865363634
62336233653033383635383036666339633666306661373837306166326262316630386265613864 39376438613531343332316466633465613439646631323061383230633564316331346137376665
66323834343463386331333361343335303532393963613566316361336662316366336531333263 61663962343134386438376137393031656563303634336566303635356238383936366133656361
31613461656132613131663461626635333639333965663066303331386432373736386138633666 39323834316432303232323833623738356462313537623739333539393331303463303336613235
61623132323735623562656166633636366165626566653361636134633032333137646664326366 33366132343435333832323864343137663361353839633239623738316261333366663630646134
62386232356464623764633530373839636666386634303232323864333564636534353237373662 61376431376637356664376465663136666461393934333161343461373634356532326165396430
66383362626332633663353065646636656131356661613639633037316635333030323435613732 30393933383063373963366562616439656535353565396635656432613163306239323036383263
63383032396561393637643338626137343833316335636633333235376235383163326336386364 31363237393730323466386238646165326530643131636436303262363432656135633633656435
38356363623139303737323133393735376661366666636536636236316638323030383737653239 36323861393531336534373364326262366465656433633163323233616230333263393835643230
61313064316332316262313531323263373436373630373036363634653830323061626637333261 63313039353566663463393334653939383937633539306435666636616339376164653737336531
30626666356430393862613630356561643634326363366566336532313262626637376635366535 62303430633532323266336633656437666163653561343566396565393533656637373064333833
62363738316330366335653932316639363465306335396138353063616461376261656365313664 36666430663862353837623662333236313463313937323732366535383664393261363765343837
37633437646235346331323634646533303864346133326664343138373436636662396563323863 33373037313531343337646134356466393964623935386430356239336565316166363730616532
35613565313635656233653665616632356534346636653933373666333161373435643062363266 36666631353439656138393162303764323737633966333665653634353433373434653439353865
38383662333433626666666164653336376631326539346138653264303334386534316463346361 36323536363431303361646363646463643336316530643961343034643230653635613133316437
38623762383833356434373430323833373166356434346562383031626431363761623438656334 34333036373039633937656562623631656363376661623536623438373839663066663730623933
36333238343635653434306431363166396134646435343637393236353330646233383331386333 62356132373637333534636532616337383931626431366539383466396562303733363537356331
32333631373136383536666533666335343265323930316136346138303930306564613636633939 38393765653638306537363264336233363134663462396530643262643965333432626437366633
35363236326235353737626131356533383130636231353931386263646662303136663831343832 38333135653464643832323263323139663063333433356465383039386561616661666338646131
39343936346664353763373961666465313437626533346538396330343533386438376530363862 35653730393030326431653432313135393132313061613664323433373331623265303230353163
39316266386235623834313964383962323037636261303135353636656636306163613161376334 31616630623936643732316135333838343131636565393234663033613163316138336436393262
61366233353838313434663936623765373662396566323931663832316337343235616364636263 63333963393537626230376562383237633736333337643063383632343236343633313336336338
62616562376435326363616665653263636665353839643336376164666562636232383530353165 37343638666534616164323638646539393166373736363566323161393463326233383832643266
34326136326665333732336233353661336166643061366261323861633333613465666334386335 39336639386230373166386638613935656163336538663030313738353735346262653437643762
37663964306538356561643539333661336337646461656461363530616231663735393738666135 63306166386662356265326637306139373532343666343239373130643537396438613465663466
66613961393065323131653333626437616330346433363032636339653736623433616162346134 36303435393033326563626665646665303831633266313364643534303366366266366439356166
33656332333162376438643531306634303330613539616131616639373462613764626134383039 63333262643637643165343632663666663739306230346336346364376161323461633163383865
37316134326230346539383931643461393462663236653338626133303161313435613232306166 62613036643063383237616433383830383932623931633337373436636461373362333962343432
31393064646462333830363430373237656566356537663736383237383636356232363338656366 38333236306330323566386661373961656338663561303833383136653363363737303966393937
39346430656362653334383366313565366232316566386633626632303066383831626535353138 30396138633363613964343832653830653066373334303836346535643633663334323738333535
36616338623132626437346661363232656538633138373338653565356536356562306533636563 66396234613530666431353963633638373238303037613566383562376665663138623263643161
38366466326239356232366237613037363266653136633361633830386238646662333334616135 37363235366332663038323638623262336331653066343635366162613037323061393865366466
63333632343131383931323634383665636234303538623664626364353064613065366264613035 38353466356366373362366630373535323733333930343061363363623439373063363261613237
33366461633530626136653935363262393038653465333431363161326633656165623933346535 62326531353736303432313136353732396336383436623861346134666132393265346632613361
61643163396364323462303838376238653835313666653066333762643931363537313161303831 36346361356332363966356465373962636435323939386661643934343466313430386162373132
30333839366530613531653334303064363338356130323030303936376135323930353062623563 32646336336662626338323334633462653861336262316633663731646365636266613664366165
38663961383263343533336334623434656661393631396562366336613637653633383463333236 64333233633534303434326638373866353661633330623261363366343363666562376331633735
39653932383235393233633331376261346661323034626433653432666537643764663565373831 39333464653031623865316436616366653263333938306335373062306563353138366663376564
32653931636462643465633033353466303434383231383034336135363863663565653633396265 37653161376332373234313761333261623665306436386362386566393566306537663934663465
37633231323930663632313364353964633635336133323431613935616565303061353862316239 32636634373966313536623430343335386666396536383838643931366664616435313266373338
34623266653837373264316636373062656430633761393736356435303434656637666461383638 32666134663132336466356463643938393137626439323863653135646430303265393462313066
62653938616531336566663236313831666662623164646337303363376465353336666431393366 34613430653135646330316535316439626331326662616237616539343262666431396335616665
37303030663736616232306361336666383834396662313032393334626565323034333961646534 30393039326661633737303734383538663261616462636437653464663333663235383761323831
33333361396437386262356366346435613638333436313439636366623438626164376436653332 30623435636662316662643537613632343138343435386161613866383031646261303635343431
64363364306634323935336566336166323632333937393435303838336238323931313264383234 38366265356338626431346230306635303837303833613365643638356363303533363837323462
36303761383138323531383231363134646163373032323663316464336438613638346164323137 32333232313130376132303235636432356432343339653635396530653236343636373261343661
37346539323865386335383730396265633437386566616534663431316239376363646334366332 39383239313137333065366137636137363930313932623030616336363463616464663833613534
39646563333238326438303938353662373234643965396639303138653430666138386365663364 63626165316433303333376566633463646464633063396637663631323038386461303962633465
30616365653964666666343937633832336430343436353035653239373638316136643862643737 30353230663132653035663837383832646239646539636361326165336131303631396539363935
36303730386233323439353432313032386366393631623861663865653934303738373138643133 38356130646463633238613734626261323032333264383631656465313361366663643636623238
63303633653837316634373033653061393236373031623462363465356538363434343534353466 37623038303739626235613365316162613065356538366531366662636132383265343764373661
66633937663165306530616236323233636336323938663833333931616237313038343963663536 63356137623365343337643937663933373164613866353765626364316338376136316439636461
66376265623031303862646430326631663834646165306337353065373566323936616466633436 39346132383165356638383638663938346363636364626566373962396562386539393762316131
33313030613663333563653737393831646463636163653639623137636538323633353035316236 39376264323463343238363432316163643935333430386333313633353434613561313736386337
63333037316565663561353234623231333664343163653964336438323662316535393766383830 66643532376465356462323032383237353562386162613465656234383938336439393763646133
31633731383466383934343862633161303964306166343262626331353838613339313730373766 36613766333032306464646431656566363464356161383162383639333139666237363163393033
35626562306434316636333030383439366666333161663962343564636465353562346533333731 31313265653766323563393937653862323639386639316465396334386163656663616464336431
38653738363566303531373233326136326662643133316433333965346631383432666433643838 62393830626632326663626461663530373163623430316332306138363433613463666462373162
35653964333739336564373361333439383565623434393437373734626665336162633466386265 32323066346365653162636430303937333865376166626434633165643633373237383264316164
34383462336639366534366366626539326263353238393736313532373564396336663465363066 62653931636630626635323434346336616530356333303735646232353461653539666361343439
66613132343437363637333935346435623431366266353364396366393766633034323630303338 39346564353761326163386466356461616439333061623034373831653534636466323438313662
39326334396239376631336264343962663338613463613330643035306462623933616662313137 35633239376232643830633139316531386164333034353266633232613136333364643033313264
30346338656530663737316434653931646264626464363362396463356163653130313639343738 38653935626530313238626462643462666164303861613266663166373539303432396337393934
63323438363939343465663631646133393464613863643834363835653164376234616534386535 31646232643538636432613763383335393739623832336633663733613938303461306234356566
34666334343932653965373763336236323735303333663030316135323762643431343435353861 65356438343865643166356464636333633634366430316664323430646431363532656561366431
63373765303632373539366138613865356137323263646639343431343234656535356139313763 30663531373638343936393164393137303335356661663835336638376666353039396565353164
64313132613536313834373034626161323534306636386338616264373832383232393336653666 30613462636663316138393363353631393362613638626535663435666330626161383464666533
30356534633963613133316663363330303830303262633533353065316462653431306531636137 64633335656237353239363633653530653862393837636366353731653033363365643039633463
36386137323732613934663733666561373930356633313439623461303338656263366433316230 61376431626461616664313737353538396562326566626461623930373861303161353434626634
61646630303836373335303461383461386563326438313165353561613165303738343139346436 30623631363132636566353437343964376535663461326662303330626562313738636163613131
32343764616265323537393638333833306262613364386662383130336365646639326433663165 37303731633966386434363736356634663165313163346335356362643336616435363261653937
32356366636633393434636438653937316532663432633632623631626563303830333866383866 65626536396533386262386563626366393930376437306333663165643034623461633936663264
36333935663665333831333334343330663431356134313761383739346631623235323638616339 37386365303730613965326138646132356234636661343765383030396561333965656162616566
39343464343133373934346430623038656366323734613635343862636132313165626537633363 63343637353265376631663266313766353135326465663561323761336663623538306265366564
64353131323339613664323133376663613935656537326237656136653131623539323434316233 38616563313636383630376638323239303666306238353861363863626134626434383864376265
39666437613863333834653466303931313537316232643135666232333839626333313936393163 36383832333031376665366232393338343838656562303866616664616362613765393234383130
64636232643661643032373436663733363034393530303435303239653338383737666561313535 62333065396639646239313832323365643935653235333935383464643736356162336332633363
38356663336436303833356565663038316137663561333139376464316332356562363037353564 34333330373833326432373665633634616532396434653630306163623762396338386162353931
37373231633739363830316139316561346137323034613733636431353339346433393733636539 39636531363833616234636565313132353164353930653465363831363634313135363430613035
34663136316336323930323930306339323361303761616365303035623736366636616131643564 39613438633665366264366265316538613239353036346231643234323837623335373432373730
66306630303430393364633731623532613764366662643365366165656533376464623361653964 62373061633361323362373233626564333135303436646363396661323130336565373630653732
37663136353430303762336339623165306432313633373366633333386466353437376136653661 37363730663737346234316530383532326537616131643234383030623366326336333733663062
32323236393339326236313833373362333736326365393665613230363835633133353336383836 35366630386233366333656463643531373937316463383462626662633963396662633338363166
31393165343065373361643861363566353166386137333634393765303563343861643563333134 65616438326132336438356666633938626365616361636465636433623664363933656337346161
35343763303265336532633633353931306538386637353036353161353438656163663364643661 38316462366536353966326637323663343533393061323463303231396664333061343064363964
36643433353166323334323133646638336665333063633061356461616132393430633434323761 37626336323863343761636561383333636162343935613832613662653865343061393033373039
38663463666464616234626566663638346566383331616564643066323565393365353264666538 62613064613135323637396633303964356136396535333638383165653532656363656362663034
39643739383738353466303963356363303561623661323734333131653132313237353063376234 38373139626365396165336562383363656431393336653130613531633032623036653365393037
34343964376162636232613262393733306165633934353530633464633066306330616434623363 64343532343537353866636430343162643562373438636666663234306437666266323763336230
65613832346633616135646133613062636238643365333833386634353531343832383465306133 38396565373161393832366630343063323637656433336431616532333161336562353138653764
31313764346133643530373931386435636562613530653233353238323065633635363336663163 66333433303539373831656632643166663136613263356266363037383737643836663565386634
65396464316564653531396533633263396164393537363265663166323434383664303865663239 30326334396632353131633533386461656166633066636235663566313035333337373961383161
37313962666237616265373139313737366639323965353465363237303561366332623432633966 34346331363738653265313763383137643363633361313963353961353333373837366235663666
63383037353539666131383365363935356138366532373564303437373939353133363266626238 37663163363833666461613562323039343361343163323131303365663634353536356365333264
37306236643062346266653934333862376436633036353839343735366639363234356130306633 32626162316665373436313632386636656439653562353238386436363830313731383337306464
31363333636463666663613137313036333137313532333733333735363834616362306332663732 35303135636335643764666465373637323034336566343431303030663565326162326231383464
62666465633463653961643435343434646230333465383236356566323262323137646664336433 66303330316266336662656234303234393136366665656130656131386139336139313630386432
64313534326131303430353539333161626639363235386663666630363733663739643561396135 38666364613837386565663733626363313665663865623165313834666466636261646236333732
32303337383333343530363536623432613134306634306562623330613931363261376564303936 38303366646537613663363362663461653363306130353862363732666363323261356662653763
63623734343830316265366563306263323831326631653861663031386130343861353762663166 36333938653763636561646464656566336335343465666562323066646330343037363563343434
30633761633638356631353566613931373161666137386636323134323739636437363533343161 63643032613932383637323036653864656166336630666430623835353332653731393662653136
34623961646433656162323032393430643334653930363434353237613362643238303736333931 34333339346636636537643765353235373737643636386663383362326561343831643661343439
31396135656362343431356162653030666332323966363531633165663866653738666636623033 37633364396166303533386235323234653737313430666435343039366235393537663033656634
36336161393233323765306334303432613361303731666363346264333262353764613762626636 34346533323562336264323436626435623637383161313737646561376161633439323661343662
37323565326330663366313365623132376361383833363234313638373864616362303366643732 37613238666464333563363230643631323666323330643235623330383462373265373933633531
33303133376430373464663163346263326339396362353339316234313931363034636238303438 61643634333133376539313166623762626139303865653665333330353765363934613038363530
30363261386430643532363938346136333433306135393937386262373834303038613264346663 38626665383732303336326237353365633164373238633732663933636662646531383435366238
62356334306434313266613833393232653730346136346635366639626230393763373233353263 63613538323539336362653835363939393037353066303330323365613135396630623132313433
30376465363733363963653964666533326436336439363737373737356439653039333333623734 63653161353035383335666436613463636133366433366666313732633965396236323533313963
34366362353936623835306133613263353166316535333334626133653635323535353231666438 33626633336163373436613034663333663762386263373438303662333031316138333861333132
62643232393736666162393762333064393565363133306135346631326531613036343231373462 65623239313634333035613833363263623834303639343538663262313232623263353165303963
65623666613032613330653733336434363932383131356466393339313532303237383666653034 61303137656465643234616234313734313663303537306265323265656634653136343537313433
63613962333131356666653061666334636232356363366337363433616235396639633738316665 64396566353363636434393938333566323238336562646632383137343638386564626663663733
62666434303536353566616266376133313262656638646333616435386663636331333562333437 63383765353965666633383934373135303134366661633164616337343639613261646661353461
35356434356532303664336465363761346333623730363534616435346432383461343165363333 63393933353238623961633230366538343233333632383834363237636261333764626531356265
37346431666663663439396338633638666534333538366434373736363733323466393162316330 38646335646234386532653038646438346437656637333739373137363861626462306461393239
66333734376365356438366535393333313632363037356365343638656337306334353530386665 63336532393638363061663337373463336539363730636332643838623133653931643433373136
62303561313763613464376264646630613761363934323135363664663762366165383366373962 31343335373662663865393863633433356163663139616563393365656662336161363938623265
31326139626366336566616633636161343466386365376635353962643462623036643334626338 66393731663234356665353636336465353464383066353663633736326464353034616366666265
36303039653938663464346139333262376439396163626366643031653731333135656236363336 33643530383133313436326166323138613866356361386632373862313632323735313733346231
62353364653233656362343035623731636662336666396630346130306661613036653437363963 39393831346463373534363565613361363661633666666631633731373935316561613030373130
35633962646538306537333964346665663835643531346161343336643931393431373764376431 31333539386361336661393537663066383962663139376266376433393762316161313661656332
39366165363664663161623663323537653532336638303465616561353266366263363461666434 30366265343435323132356233306231393265656464333237616534623331363335623132343366
35616463303137633335326530663734343737653935323637393137653433633363373165653139 66633463643830666536633738363036343932393036383162303261356139356633343363623739
62633831346434393039383164323434323735626430393935623737356637356638383361393662 36383330323962313937666131636364306461653763626433363831633562316335306630626236
31396562663561663436383062653039333037653562386238613539666539303163663136353531 34346536383037663835373761346139666336656465366362633138333631326331313830656563
63616463343265343964643161633634616330336537343934326636396630303465383138633362 31653765636239343561653137323032303634623362633564636262383665663436666234396436
66653939316661636230356537343563373033383766353863376565613366656362306263326633 62633765643637363434316536326338663463346661343762356233613163633631663038323033
61653466343366646364343464616662326630653933316165346132363136313061366636643532 63636665363766663163326663316331613232636238623330643234636239313035656565366132
32353230663863326464306539303839393265366162373061666461633930376536666330306363 63323434616537383633653763316237643032363038316533313766343530653335383935656134
34616636336135303963306331623732386264333766616336653039303632373662333334376664 36343033316136653738376233393834383561356462393765636639353333346465373539393462
35636662633639306139306361613733336664313166623262343134623161613330616163366639 36393638656130653037353765336332633030373536653135663138393463626335366562346366
64326365643439393635636337383535636537353761343431373935333565303566653036336438 37663737396237656232643630393566366365613839663830386631323664393138316234366262
63363932336361326361333864343032353536353331646266633635303162323936626266393138 64623337396636323163303638636635643061353530633764343831623536643163316230386338
36343732356638623763333333353837633534396236323037313033613131366462613336353830 31373831633232326336663763633165653265646239343838343838396535396631323535376163
63323662613235353038373836363966636638363836346233643939393132356430393735646262 35653262366432363363653966343665383139356435633462346263323966316235646639303336
61383338623936323238333330383863356634363162313430323134306436316664303466386439 36643039343035393965386661393761353335373434373931636365386430363764306339393436
63636330336535373432386434373839313263326165306163343063323932356436343965646362 64356636653934313135643865393737393238623730626533323266373039316535613538383165
63366533323761633238396534333835643234393866396363626238633234303764333038353934 64373337633362366231333932373633656231363331333335383564373337303864336431393938
36323164346238316561346564346632353361303732376439346261663730653164393432343865 63613637666664363735393365353663383862376531373433353237613861323339343465376331
61386563393737366235316535363638633334386438626134633238396234666362666465623234 36383038623134623835396532356537323063353934656435633631646138643633626232386433
63376631346561333939303364363533653063656436616561363838323033613539353635646633 34316538616238643735323864623934363732336238623965316535353934383430323036333235
65633239386630623536323862376337653934353061636366623034373862666237356332353435 34373938326534626535336433383066656335323430613735346365643130383932323333343931
65393531623837396661326139633535656131333538323639616466306336356330626265336161 66306233346366303664303266373735353264636433356564663935623563666663366135306535
32383666303535373935313063333864613761346631646462633735623961346161333564636365 39313361303365643764613064303063333436626561636432636333666638353161313734643865
31656362353837363161343261393162356637653038366232616532326561366161356638373561 33343734323064363634633430343339643262326565323133376635323463346135313861333232
62366566646561613663656536333063363933353663333031613236326639333536663334656465 39623935316136616239353264353663343431306239646161633439633839336239393430363438
32396663326432666530313266653436333031323664636466353462346534653733313663353339 36376335333633343838353763363635636136643037396539613638623938303164623634336537
64663139616464666636663537303636316264326634626337666666323332303234653835313864 34323630333635303937313334356633333636626265306636646437663664663936636437373030
34343537623032323937366261316535363537363264653332646234623766386131336238366665 34393731333335303663393135393861386130646234333061613034656233323032326530353730
31643966643432353836616366366339663732663332333936396533646461323939656462363735 33656366326666343230663561663033326337616330376636633963346533613839376439366664
63646566353233393866633537363239393464643137366334323933623862323563666530666230 63356232663866616362323065323364373663386462396530663537366332636634316434613765
64616265663236653837623034346436613830626162306638353666343766303633356363613031 61393865613965386331643339663735316165303761336232393837393034303361643466653237
35353533613238366337616665393938643566363433353638626161656435656565383836343233 31343334663133363562353135306334616236353961326335663766366162346565393262353031
38356431636362383939363433303139643365643438663761353566303931313334383437383231 62346565313935376239613865376431356432303437623038656234623836633463333331376366
32346566323066346465653635653233303830653761306165616634623865626161396331663763 31326235396166313031646164363231653662636463613164396266326239303435613463396361
35353939353530326238633932663137636263393638383032303531633961336664373538616439 63653639316538653662336236393432313531316663333633386262636562356531336338326466
36623734316361656239633839613661616665313234303638656332656139343761323637336339 62303737313765356566666433666464663065646338393930656439393163646532666331393239
64393662386531353032323735393862656638353134366262383038323835323365356635386361 37666263353534623465346463376439653665393530326539663331626134333637313461633365
35343137313334613231626365393636313162383238383636653762346566376232393139396437 38643035373665363032613830343630663765653037656534656131613333393763363736336630
61376562386162356131666231633739323039353136623563633238343437366533623831346163 63383163643765343735663934613230636363616535353761663861323230343564623434316132
30386439393563326335643132343133363663353236393034643562613931663739623466646232 35373063626365646332386535376466643932663336633062326136666565306330353031316463
64316430393836663465623235386430356135623466623165383039316437333039636436396435 30343030333664636635303638343864636333373662313330373138326330663135343538373932
34626266323031626432383731303730373461623665633039623631626530343434626531316333 31613364663130353263353465643264613534633061623363376361623336313463306662373132
35613037626366366566613637396463376133346632396333633335613237663338363663633130 33313561663637373139366233613738373336303533343530396238633832363538323530313435
38376439376266666661356462646436323238666336336430386436343636636662613364353439 37623162636362313366353563346334663764373137613638613036653531333733323932663532
31313931323038373461376438373664393933383866303664383930643464346234346563333131 33356630353666636138303461616434396139623838316130396138653638303334613962366334
33303639366331643539323339666432356335363164343231396231323536376366306166383162 37386563393461326436356638303462376536343464383338313234626531613962663731333562
31386432353166363135313339646339646531386262323162313333303037366430353561633834 65393266656565666139313465393836313037356338376161313337616663623232366163633134
65616131393563663032396433363738373165613033366466613566353936366633383737313861 66356662313065326364313130356331393233653336383936373530626465616237656332323833
36623262623833353963663363666531316135636232626637643332623635653761646632313831 66303331346538373063373132393639313765353766366464393037323333663830316134356435
66343934633532663138613432346435366234633964373066646532356366613132366634356334 33616538343764633861303531646161343734343939356166623337363331333032323133346332
32333330323365633837346332396536366563616566366362376639333636303464363232303261 32356236326634343931633536393865313633353735343434623262396331393162373733353630
30393437616465656637626234666330346264643434396165633862353834363762333762633364 30663365356631396436623833613537643830643363373533313832636266613435636166316264
32623363333936653131646334626334306531376236323832336434323062643136363531316339 38393464323263333339363338383233353061303239393263663262646531363535313562363831
32303531383636316361386664633866346466646532663865306138376264343837386434363966 63323633636430623337656335356635613339353534303663363066643332633637626538356662
36623965646535623963353136383461663933653738656463616430333031396433383933343635 64646561366531343836353662353365323363353132646531616430363937396333646139313564
36363139663534626331313430633266666464336533616366643562643830663731343632326136 32306362636665336337613063626166336336643536383935323436326534343161303664613661
35313733306439633536373931303563386635646539353936353865366262323834373937653135 37376262393465343631653639663339613238366136393437346230306539663231346633333836
65366437303961623361383962393431363465616635623235353661373336323537346437666539 36633361346132336230353239353337613863333837343836336539656330383263323037666364
64323063633963353032306361386566383366663139336663343234616465306161383763643561 39643133626139383632383433386133613563643633356665663032343161333361633034356236
37313463366363326263313861643337623932326162643565376531633866613038663235373464 64333031663130656633363436393136343539376239383834633330646433336633636239393166
63316565376535613263396537663533616637613338323236646630626130303065626463313265 36346563623038616539373330363461323865666365383936313333333932326632393665376565
66663661363538346662623066376339623832633335346539663266323738333364663530613936 66353433373666353533636563343633316563333163333537316638376463656366623831616436
37393336636363323565313137653238323439663932363463323439653666343934643538303662 65303135663364383237363632663562373563393735643631353336316632373231326431343637
34306230623064666461613439313839616130346563313433386433316630336436656337303631 65346535303563656666353066306330396134343535663966303965343232316339393933363731
65303533616636393831633034333034366135666533613232346238356339333839326638303962 36356235633864393032393138643538313835323730306462333564666166663335636463333766
63633136616131613666303431613964393061363133653761363535313665646635613463626135 63643439393962373063316531326631346564643132373937666335363166353435366339623438
65373734656537353638666234303538353066316432613035643638373037323663346137326532 39353464346538646436306665653538636265616533356163366631623162386531643265366266
30336361613364613535336235363962376436616261383936346439633737383233353361383066 66383239373836336664376431393765383462623334386634656338393330383264383037643032
61633936303331656161643631656139303332633966393063353430396439313834396639366332 34396661353834346133306430333163623636363736663131303664373033353161336138363637
36356135623266373039663631346235636539663830303861326532633837323265373032346434 31313663373534613531376231373737323739343435393530373966303232646364323831646461
38393966663139313634646433383730353865363931303238663032613534353834656461343432 35656635636364313231343231396262373530653831663737333036313634366262303338323165
33636130346338356339663332636565396537666434353833343363373335656334393135303634 36633233396161653339383162633036663735653439323138306666376135653162336339636438
61623335626237333432343637663731373439633633393563623737323863636165623035303066 31636236303537346137376266366532613338653038653861356139323335653866303966316634
63613235623461633164353938373334346531323264396236333338366139626534303734653363 31383538633930303939623535373131623631373266613762313438323437336666343564653164
65313666623931643761663638323131646265343430336633663064626333373936643738366164 66643430303762646563386363356636366439396261326637306137653531333730373030646434
63336437633733373265663861353364623832363430343862636632393939326331396430323461 66383931643961613136613739343066333035623731363632306338393939626562336633363332
31396365313661363133336635396165313032303166653464323531623761366331363763386530 35613261303530653964363032653837323536373137656665646365626635636437653266316433
39393236366232633332323531316339323235346334626565393265643738363161336633623136 33336539303761306635383363373733613463643436353730313563373765363261366263366634
35313061323434386136613430343238323765643261323532356339633032343661623730306461 30376237653865366366396266306566383063356566653963646362646339626238313834353733
32386133333536646663306436613865313130393937633366333332323330383139306336656533 66323439373862353964393633316264633635323039393631333237356261393062633161646663
34366434623964356539396539316637336630323039353664383264646365323231366566646164 63343763373836613036396666376262363165636337646337313032373437333561303933616566
65616465663536613030653430663364643731353766336561393530306436323435373532343438 63393631343130396261633231643330396335373963646563393964376439336362306634636563
64613734633132636464613533656431633235653338326163663336306161623333613665373633 38313864363361303533313738633139643663363166633632376638326535356264363832386436
66323966653362323438633235656638306530623432393536333863353735343234353266343663 66326366636434343530646137346235373636323330633032326137653364643634366239626664
31343363613333356662306566303330386234323464656566383062383534386532633966356365 61323130613966343966623564346464643066613933626565323036653861306538303733313664
65383866386133386533663035613432316663656639633831643062396533623931343163636337 34616339663364383735656639303562303536616334346362613739626132336635326364373935
34613738353361623737646638643366666238373135346465393834346333633961616264363333 66386335646438623533383538636435356231616534643930646461616261306265343563633262
63316237633433383362663339363231396537353662323336313838313635343536613638373566 37396436373830303638623032623863393731336566356165326430626461343231343538656338
37333034346435343666383138343364613439656565636534326530316565323361306231306264 66613530386165343033346163353863326333393333356564386636396232623961363037333937
61643662383636343961653139343033393334396238393931373466616463636636313138646263 30386666656235373664313665633530366434366466323735336630383438343331393763656434
66376339306634353731616665303065643937383934356137623731653733346436393664306639 66653133356465353939366538316662326262333863373233396135323464363763313735623665
36316462353237646335373132326338653237353333306261326538323764353033626564636534 37356237636365396266653766326535396162653165326362363134316263313462323933313763
61386232376565636561313130666237326535366534663466353430353065646630626264313464 35333933313331613938323130623965633932346134356262313930333563656136316336653438
63353536653431633233313831326362666165343733666563643830636436393238346231316338 39393766353338323035306534646539613039333764636437613534623265333832333231366366
66613936313039313463663036643533663536623130346566393665323838383939376139353063 61396130623231666632623363626430666636373234303030396439333665343165313032636135
31356330336331303064323237323730643534336132303930623166393238326264313331383230 36336338323438313134333965306662333363613734336337393661626632343239333364666534
33643261336639643961373765396264393364383532393465336564343737646365323138636665 33313366633036386563306538633762643866633739393535663630303663343038666666383666
35313832313162323838316563633731613562343062356532373638346439353234643439663838 61376139393065316166613032343063643037323363646165343663646635343736366164616537
38366531313730653965393932633630333732323036626135643663303136666663303933326162 36613336663461316531653136633639363832376464666563323264663664383763366635316431
38353230396161646434616631396266316636666438383234636538636638336139613335636138 39393736306163323830643163613762373134303664653765356532663637383834386535336231
66306635386438636666343038393462373134663637646666363330363030353736303763643366 30353532346239333433386537396462626634306639643863613365636433626561656539353662
36313566326264393039316561323264616361376233663236633030393763343333306564626236 64366333633938643464636231313130303035393439366638386139373537386433373334306636
66306437376432643637613737633265333236336132646536386366373537353862623039313231 34613838623732346266333463346161666631336366656532386463333539346137613463386330
64666635366430663034313139353261666239653635666661316139336263346264613235656231 39363662333466396563623162313837346563623166343865373734666137386664376633306439
35326265646362663335343132633136623662373239376333303637343339616337343838333663 38386363313931393366633937356133323430653138323238663236363235643831653835363966
31313239646436363835376166666439636564336635623933633833616261343838326564393465 37326264363361653837323665646436316464333563383538393661626665356261666631383733
31616661663539653738383032656134313231623935626636383162393230353230316333616463 32356362323137636362323131316634653733356333316336353063636463373139613338353237
30633935323961656165626364323465326133383132306436313433633336346433323330646230 32346466343232366338616561643163613337356238326237663866396561303335656538366561
32373935653335373666383434336261643466626639663536616665306265366562623832616333 61346166323962353435656265613038656131303539346132646139386339653437346461616663
38623861666661343638613465336238376665386562623564396539313432363061316431343462 61643634646434343131656139336532653433316333626661613161613762336438343861383331
65323938623231313236653961653166326131303138373430303034323933383265363834663533 65353238626436343636663666636333396463636538303664393137643033363461373363383738
37663735653765623365386630346331393864363534616339626462396562613863303937323962 32613434333239376439323666626363613937373739393130363166353664363436386435323661
39626234326633353035393337613833343831353261646463373239323031643338393935643932 37363438353966653833326132646565613734336234396662663566396561366334376231353830
31336134646463343064613466616132306235633534393964393830303530393463316563663338 65393465393539333162383332663230323437323930623762636239383431333433353862303335
66316665633961323661336532663432653333356361383635323439656266393966363863316236 64633463663239363230386438393965663636333735626532373031393637626665363265653962
37616535623738386366383930366532313362643335336231313035613734343834336362636662 38633231613037306130336162343939616266623430343536663038656238356435643230356563
65656161336665383332363464306439643133363664373135326633626436376233356237646230 34346631376464326264663764356363626431313961303230396432653332303863393761386164
64306532623464616135323630643438633238616565343334336465376362306664653138613336 33396237643461346437653432376135646562613139636530386132396537343235383634666135
64646163643637336564353564636466346237316631336232656530313637636634376330313637 65383565643739666536373737616133313163393362393762656635663334373532623965393835
36323166363061633532343866643039616566616265343764316163666563366561373563356561 65396233346237343832336665366465643834333837373834313963333332323734323130666463
34346662313935323431313537363538623363373939343733666130376131383531386435626565 61663437633836353664626336363639656362343533343538613031373032343762636435303632
36643463373134303865303436643833373062313761316336346337373234623036383036353862 37373435623633376262643336316431613830393266393363343332636439393938333433633362
33333738663662386536656563663061363236663338323033623566323765393464656630303633 61323133633539636630656631613336393136306661363738346339633534613837303735396138
36353661386137653337383634653962396434326231316265333465656561633438626335623130 33346137356134303362343863643264323565306561326438336235616432363232373235653565
66646334663336343266323938393765383034636662313731343563626261303265386631303232 30316262653765363534336131656262376365663738643631346630353164646438363935616563
61323334656137356134376430643732316561393664666163323831376533613330633330336661 33316338643238653265376363656533383262613061343965373862366439646534383866663331
36376463386263346462636161626161663863626333636232386131623466363931396164343864 65376435366539396439653632316361636335323661306262386232353733373762663633396638
37323730653165333837623066643864623562613333653364363332656437613331346232663731 64333661393438663938613631343565333437623963313032346134393738653434383561643066
34393539633363393337313439336365663531343561633132643333373363656430633435383638 39663331613864656434626166366530363534353037623134333930383930383630626664346634
37356662653561646238623239376166626361646164376538346439643134646365386461633263 64623034623335343061646239363163396461306331653539393163393537623233393230636439
30653839323866376263356630373732626363386663353065323837343863623032333336643065 34643936303764393564363263373934363866343062623733313435643761303465393232613266
65313034306164386630623664613138373936316331643365336661323438313533376661343939 33316561386238306334303565333435303539353230636563343162333661353464386632666635
39346366626631346331666263326239356434343935346133666334386431323134323731616534 32616631306334633736346166623437646430383761346638616635363034306535336665613163
33326464633138316162373136366365663237663564623331316564393734303235613539663833 62353761383639356337653262323339363866616635623734343232626533393638353461336333
34316465356461323064386465626662646364353139363431366564353833613739616465376433 37333962313031346332393832366435383533393066656637646338386430633335346464353863
64323835353438653230323734653137393166363766376566616363366138386665633339643634 66353066643561613935613331666261396165646332356130343438336664623132636536306539
63646234336262376232326535336630396566633961383562313263353863663662383434666662 35343630336464313638643332363462623138323933646231383963353135653866373061366462
35366164393062626162336135613133333862336237373235316232323038323465323530383764 63373164386530373938393066343331303662333266666133636464313063633233393665623835
66393537303636646661613439396235373931306361343931396431663132383262386635646565 66306634623238616438613835386338653935323762653936666130653637396435346532373866
31623733323732353839336236633239396266356638633062336665613131663361316630323164 65303337376562303364313365343733343739663937313333356561373764636435663934653338
65396264306562363961663530643766336138623734386430336436373635326132306134333133 32333737626639306262623935303563303438383430306236666661643031306230383262373032
61343037326138313537323137636236643830643035643065613135396233333264323739663165 34383065303037393137363235653038626566653930353733396461333339666230666532303162
61346333313166353830636362313038626363633263363739626562366134386265636466343864 32616234613739616265653665313232323236666266613965346136663134373437633463323362
31666563396464393964353365383839313832666661613664643634643263323666303134303662 61373761326635313862643831643363616465653333306465336530623135663639343565383064
37336135396662623532333733613330353834313766356134626164343563323739313465616661 32383231663735323739353937333165333031383039323438343964633832333234333332366661
62366134336234383731313035316134656164626635353566613636393739633364396132386164 62323935383338626131316334643933666666636263383837323637356631376134643266336331
33333034336239366638313935333265346130363531303537353465666533353664313637633738 35326163646639616362633236353261653466323363393864653138656534383631366133333138
62323765303563653537323331386134666163333663376661623339333665373366636530343166 62383435636365633530313936366462373136623262336439373962623465336637336161653561
37393433633238376133643831393064323138633231313933346334343266373539386237653466 64396561336233326232656538363936656637326438313866353537313435653062393662363638
62326261353865346630303464363164656538353562636266306563306265653130303266633737 38626138636239396665343435363939393962343035386338653166636366653433323266343533
37613139386132366366633032383639313061353930383134626461323763393937313766666366 36366564353037313766316639376663363538343264333266323064313234646662366438633732
61616530303334393430353739376336393934383466363538646464306363353930336633653532 62323934373039613338353330373235346461393463663832643366303461363738303632623336
65613735373039363437393762636466616534633962313139306438333433353939626133326536 64666362613736653635616266613333333439653235393464383462623661666631336332386663
64376261366261616261636336396235303066373262323436636665343264313362633136356466 63613435353865393166366430653464316439643363643030336164613064346265393136626263
61306461383235313136303338656663373065303634386535376265353038303334306239383434 33326133353631346237353962633539383439346531613035616239656665336463366366386237
64656561633739313636646161396339613134386666333161636266656138363436383265356433 35333231373061323234326337353461323236356636343332616563343663666165306139363163
38653637646338326630313335646561336561653839346462656332393139356632646139376434 61366465333734386137623739303832366465343064626131373431326561643464646633313835
63616331613262316166646134633239323232313261333439303361643361313338326632663363 62383464336165653861346462393332393133373465323062383063633339383831383764666232
61383436353861366165323661363766613338313836313430623038313234626164653837613066 66306566666431613631636366373266346466326139303539363737643662643931323739356230
66373537666331343761653533323034643135656238613139376666306665313837343137356436 33623331666638346539396137383532633035373761346336393933333966356633383533333463
63343933613135353737326364633765313562653030303036653236366533313332353164343066 65316231353838623138656338626230346163633432376238396433386134353963396538383962
37616664643131613363633736616562353065663933633839663361366661616666386533313566 37633438666262386539346633666334323966353133653534336333316464366163346537313133
35343233646337323531313661333363376531343035303339626631633732333133336134363135 34366133393834636565646665633566646337373063313532373035393236626430623332656261
39636561613762353731386365346166393461303034626130653939653934343865316533346437 64323763616463313231333934636664666139373436353239643032313835373633666634626635
36303564366464373031643838366365326238313663366230336137373435663466643065333635 34633431633233646534386261666632306430356336666632656362383332636463363730336234
31636165623862613032663036306535313862356131313666646436383866633331613635636461 35383031663232626562626464323665633634623664363032333932333832636164663561313965
30633730343166393665623662393562323035343037663431323531613334393962373730396263 64326639643038613633303834353863663333326536613036663434356239633662663933376635
3132623065313062646538333335343535653135303830346565 36303131326430623666366363393132393662396231653337323133333161623338373561663632
62636266316664643333626637386535313130376336636630393363313831333566653562353939
32626337626531353435646462313161663033663263393436613266383662373539666465366637
35613862636538633432353330313536356265313964303133623639653938396462616263383731
36346536613536633038326363306465396266303333356262386130656234333631663738363439
61613033306233343931373262303339333432336331366237373164363363353838626263373865
37623966343864313836363437323530633461643831383238316132323032306336343833663861
32663363626330313862366261626463366365666335643532303436336130373061373737346261
61313937383762633463623337313562383039313165643436336465353261346639346466336163
31313037306264663462316535623333376264643662373634353335303766346233313738323964
62366439393066336136373437663666353765623663376261623730323639363732626264376563
37656162666265303335363231626364623630373664356330653132316461376231623033653565
32386138303264346430373838373764613835363161666362616630353264393632646432323639
34366264636266633832623037353364666336656561323661333061623131356237363362393030
39336134346564313263396333636366666538643961623835656638323439386539653237383630
35656365633363386461383038383931633166373266663864636133323536326561643335393938
32363438656630646134306237393233376634613263303762383034616137333833373337343330
63323062303562343836613939326230363835663636643531616530396636363438653762643566
61623034396665373437363631393566363638393462643337643733653034623536653462393861
33616235316666646563623139636336363661356433663132316134346131613931623630366431
39616162333965363264336662303664333638646631323633326432626434396636376338303163
37373436656239346539383134643638623738373835323335363034393434653335313461306365
32653037626162326135346437633039613334373430633662343231336335326663313362393839
3661

View File

@ -0,0 +1 @@
COMPOSE_PROJECT_NAME=gotosocial

View File

@ -0,0 +1,77 @@
---
version: '3'
services:
gotosocial:
image: superseriousbusiness/gotosocial:latest
restart: unless-stopped
user: "1000:1000"
depends_on:
db:
condition: service_healthy
environment:
GTS_LOG_LEVEL: "info"
GTS_HOST: "social.unruhig.eu"
GTS_ACCOUNT_DOMAIN: "unruhig.eu"
GTS_DB_TYPE: "postgres"
GTS_DB_ADDRESS: "db"
GTS_DB_PORT: "5432"
GTS_DB_DATABASE: "{{ gotosocial.db.user }}"
GTS_DB_USER: "{{ gotosocial.db.user }}"
GTS_DB_PASSWORD: "{{ gotosocial.db.password }}"
GTS_TRUSTED_PROXIES: "127.0.0.1/32,10.254.0.0/17,fd64:2::/104,::1"
GTS_INSTANCE_LANGUAGES: "de,en-gb"
GTS_LETSENCRYPT_ENABLED: "false"
GTS_METRICS_ENABLED: "true"
# STORAGE
GTS_STORAGE_BACKEND: "s3"
GTS_STORAGE_S3_ENDPOINT: "{{ gotosocial.s3.endpoint }}"
GTS_STORAGE_S3_BUCKET: "{{ gotosocial.s3.bucket }}"
GTS_STORAGE_S3_ACCESS_KEY: "{{ gotosocial.s3.access_key }}"
GTS_STORAGE_S3_SECRET_KEY: "{{ gotosocial.s3.secret_key | mandatory }}"
# OPENID CONNECT
GTS_OIDC_ENABLED: "true"
GTS_OIDC_IDP_NAME: "KeyCloak"
GTS_OIDC_ISSUER: "{{ gotosocial.oidc.issuer }}"
GTS_OIDC_CLIENT_ID: "{{ gotosocial.oidc.client_id }}"
GTS_OIDC_CLIENT_SECRET: "{{ gotosocial.oidc.client_secret }}"
GTS_OIDC_ADMIN_GROUPS: "gotosocial-admin"
GTS_OIDC_SCOPES: "openid,email,profile"
# GTS_ACCOUNTS_REGISTRATION_OPEN: "false"
TZ: "Europe/Berlin"
labels:
- "traefik.enable=true"
- "traefik.http.routers.gotosocial.rule=(Host(`social.unruhig.eu`) || (Host(`unruhig.eu`) && Path(`/.well-known/{a:(webfinger|nodeinfo|host-meta)}`)))"
- "traefik.http.routers.gotosocial.entryPoints=websecure"
- "traefik.http.services.gotosocial.loadbalancer.server.port=8080"
- "traefik.http.routers.gotosocial.middlewares=deny-metrics@file"
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=8080"
networks:
- backend
- default
- metrics
db:
image: postgres:15
restart: unless-stopped
environment:
- POSTGRES_USER={{ gotosocial.db.user }}
- POSTGRES_PASSWORD={{ gotosocial.db.password }}
volumes:
- database:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "{{ gotosocial.db.user }}"]
interval: 10s
start_period: 30s
networks:
- backend
volumes:
database:
networks:
backend:
internal: true
metrics:
external: true
...

View File

@ -6,3 +6,4 @@ SSH_KEY_host_nc_chaoswg_org: !var:file machine/host.nc.chaoswg.org/ssh_key
SSH_KEY_mon1_hel1_chaoswg_org: !var:file machine/mon1.hel1.chaoswg.org/ssh_key SSH_KEY_mon1_hel1_chaoswg_org: !var:file machine/mon1.hel1.chaoswg.org/ssh_key
SSH_KEY_infra_unruhig_eu: !var:file machine/infra.unruhig.eu/ssh_key SSH_KEY_infra_unruhig_eu: !var:file machine/infra.unruhig.eu/ssh_key
SSH_KEY_backup_unruhig_eu: !var:file machine/backup.unruhig.eu/ssh_key SSH_KEY_backup_unruhig_eu: !var:file machine/backup.unruhig.eu/ssh_key
GOTOSOCIAL_OIDC_CLIENT_SECRET: !var keycloak/gotosocial/secret

View File

@ -24,6 +24,9 @@ module "dns-unruhig-eu" {
# Other # Other
{ type = "CNAME", name = "index", value = "web.tobiasmanske.de" }, { type = "CNAME", name = "index", value = "web.tobiasmanske.de" },
# Goto Social
{ type = "CNAME", name = "social", value = "unruhig.eu" },
# Mail settings # Mail settings
{ type = "A", name = "mail", value = "202.61.232.207" }, { type = "A", name = "mail", value = "202.61.232.207" },

View File

@ -1,5 +1,6 @@
--- ---
TF_VAR_grafana_secret: !var keycloak/grafana/secret TF_VAR_grafana_secret: !var keycloak/grafana/secret
TF_VAR_gotosocial_secret: !var keycloak/gotosocial/secret
TF_VAR_hedgedoc_secret: !var keycloak/hedgedoc/secret TF_VAR_hedgedoc_secret: !var keycloak/hedgedoc/secret
TF_VAR_miniflux_secret: !var keycloak/miniflux/secret TF_VAR_miniflux_secret: !var keycloak/miniflux/secret
TF_VAR_synapse_secret: !var keycloak/synapse/secret TF_VAR_synapse_secret: !var keycloak/synapse/secret

View File

@ -0,0 +1,49 @@
module "gotosocialclient" {
source = "./modules/kc-client"
realm = var.realm
client_id = "gotosocial"
client_name = "gotosocial"
client_secret = var.gotosocial_secret
description = "https://social.unruhig.eu"
root_url = "https://social.unruhig.eu"
admin_url = "https://social.unruhig.eu"
base_url = "https://social.unruhig.eu"
valid_redirect_uris = ["https://social.unruhig.eu/auth/callback"]
web_origins = ["https://social.unruhig.eu"]
}
resource "keycloak_openid_group_membership_protocol_mapper" "gotosocial-membership-mapper" {
realm_id = module.gotosocialclient.realm.id
client_id = module.gotosocialclient.client.id
name = "Group Mapper"
claim_name = "groups"
full_path = false
add_to_userinfo = true
add_to_access_token = false
add_to_id_token = true
}
resource "keycloak_openid_user_property_protocol_mapper" "gotosocial-username-mapper" {
realm_id = module.gotosocialclient.realm.id
client_id = module.gotosocialclient.client.id
name = "username"
user_property = "username"
claim_name = "preferred_username"
add_to_userinfo = true
add_to_access_token = true
add_to_id_token = false
}
resource "keycloak_openid_user_client_role_protocol_mapper" "gotosocial-role-mapper" {
realm_id = module.gotosocialclient.realm.id
client_id = module.gotosocialclient.client.id
multivalued = true
name = "user-client-role-mapper"
claim_name = "resource_access.$${client_id}.roles"
add_to_userinfo = true
add_to_access_token = true
add_to_id_token = false
}

View File

@ -17,6 +17,8 @@ resource "keycloak_user_groups" "rad4day_groups" {
module.minifluxclient.access_group.id, module.minifluxclient.access_group.id,
module.synapseclient.access_group.id, module.synapseclient.access_group.id,
module.seafileclient.access_group.id, module.seafileclient.access_group.id,
module.gotosocialclient.access_group.id,
module.gotosocialclient.admin_group.id,
data.keycloak_group.proxypass.id, data.keycloak_group.proxypass.id,
] ]
} }

View File

@ -7,6 +7,11 @@ variable "grafana_secret" {
sensitive = true sensitive = true
} }
variable "gotosocial_secret" {
type = string
sensitive = true
}
variable "hedgedoc_secret" { variable "hedgedoc_secret" {
type = string type = string
sensitive = true sensitive = true