Tappeto un aeroporto


17

Nel 2015 l'aeroporto internazionale di Portland ha iniziato la sostituzione del suo iconico tappeto . Voglio che tu scriva un programma per disegnare il loro vecchio tappeto nel minor numero di byte possibile.

Il tappeto:

Una tessera

specificazioni

  • Ecco un collegamento a un'immagine pdf scalabile di una tessera. L'output deve corrispondere alle dimensioni relative e al posizionamento di quell'immagine.

  • Tutti i colori nell'immagine finale devono essere entro 15 da ogni valore RGB nell'immagine specificata. Questi sono elencati di seguito per comodità.

                Red   Green Blue
    Teal:       0,    168,  142
    Magenta:    168,  108,  185
    Orange:     247,  58,   58
    Light Blue: 90,   166,  216
    Dark Blue:  0,    77,   117
    
  • L'output deve essere di almeno 150x150 pixel e deve essere quadrato. Se si sceglie di eseguire l'output in un formato scalabile come un'immagine vettoriale, è necessario corrispondere esattamente all'immagine.

  • È possibile produrre l'immagine in qualsiasi formato di immagine preesistente.

  • Questo è quindi dovresti mirare a ridurre al minimo il numero di byte nel tuo codice.



@Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah Non ho pensato quindi stavo colpendo in modo casuale su Wikipedia e ho colpito la pagina. Tuttavia, potrei averlo visto prima su reddit.
Post Rock Garf Hunter,

1
Deve essere un'immagine bidimensionale o potrebbe essere qualcosa di simile a un modello visto da un'angolazione specifica?
devRicher,

Risposte:


9

HTML puro, 873 byte

<table width=152 height=152 bgcolor=#0a8><tr><td colspan=7><td bgcolor=#5AD><tr><td><td bgcolor=#057><td colspan=5><td bgcolor=#5AD><tr><td><td><td bgcolor=#057><td colspan=4><td bgcolor=#5AD><tr><td><td><td><td bgcolor=#057><td><td><td><td bgcolor=#5AD><tr><td colspan=7><td bgcolor=#057><td><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td bgcolor=#057><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><td bgcolor=#057><td colspan=7 bgcolor=#057><tr><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td rowspan=6 bgcolor=#057><tr><td><tr><td><tr><td colspan=11><td bgcolor=#057><tr><td colspan=12><td bgcolor=#057><tr><td colspan=13><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057>

HTML + CSS, 625 byte

#l{background:#5AD}th{background:#057}#o{background:#F33}#m>td{background:#A6B
<table width=152 height=152 bgcolor=#0A8><tr><td colspan=7><td id=l><tr><td><th><td colspan=5><td id=l><tr><td><td><th><td colspan=4><td id=l><tr><td><td><td><th><td><td><td><td id=l><tr><td colspan=7><th><td><td><th><tr><td colspan=7><th><td><th><tr><td colspan=7><th><th><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><th><th colspan=7><tr id=m><td><td><td><td><td><td><td><th rowspan=6><tr><td><tr><td><tr><td colspan=11><th><tr><td colspan=12><th><tr><td colspan=13><th><tr><td colspan=7><th>


9

Tikz, 725 693 681 671 byte

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz[line width=20,every node/.style={minimum size=20}]{\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}\fill[t](-7.5,-7.5)rectangle(7.5,7.5);\draw(-1,0)node[fill=o]{};\foreach\x in{1,...,7}{\draw(-\x,-1)node[fill=m]{};\draw(0,\x)node[fill=b]{};}\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}\draw[d](.65,0)--(7.35,0);\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);}\end{document}

Provalo online!

Spiegazione

Una buona parte del codice è un wrapper:

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz{...}\end{document}

Questa è una leggera variazione sull'involucro Tikz standard in quanto ha anche la linea in \usepackage{xcolor}modo che possiamo creare correttamente i colori.

La prima cosa che viene fatta è line width=20,every node/.style={minimum size=20}]che imposta le linee e i nodi in modo che siano della dimensione corretta.

Fatto ciò definiamo i colori che utilizzeremo per le varie parti dell'immagine:

\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}

Ora che tutto è impostato, dipingiamo lo sfondo della nostra tela verde acqua:

\fill[t](-7.5,-7.5)rectangle(7.5,7.5);

(Non includerò un'immagine di questo perché è solo un quadrato verde acqua, ma includerò le immagini di ogni altro passaggio)

Il primo nodo che aggiungiamo è il nodo arancione appena a sinistra del centro dell'area di disegno.

\draw(-1,0)node[fill=o]{};

Un'arancia in mare

Ora disegneremo i nodi azzurro e magenta. Ci sono 7 nodi blu e 4 nodi blu, ma possiamo disegnare nodi extra che saranno coperti da linee in seguito, quindi ne disegneremo 7 di ciascuno.

\foreach\x in{1,...,7}{
    \draw(-\x,-1)node[fill=m]{};
    \draw(0,\x)node[fill=b]{};
}

Sentieri biforcati

Ora disegneremo tutti i gruppi di 3 punti usando un singolo \foreachloop

\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}

Punti sparsi

Ora disegniamo la linea giusta. Questa linea sarà una linea semplice con offset di .35in ciascuna direzione per corrispondere alla dimensione di un nodo.

\draw[d](.65,0)--(7.35,0);

Collisione

Ora dobbiamo disegnare le linee e i quadrati blu scuri sull'asse x. Li disegneremo con una linea usando un modello di trattino personalizzato.

Questo modello è [dash pattern=on20off8.5on162.5off8.5]Questo crea un quadrato con una lunga coda solida. La nostra linea inizierà dal basso e non coprirà del tutto 2 cicli del modello.

\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);

Finale

E ora abbiamo finito.


Puoi usare i numeri per rappresentare i colori RGB in Tikz, invece di digitare gli offset RGB?
Yytsi,

@TuukkaX Penso di sì ma non sono riuscito a capirlo. Se sai come sarei grato di essere illuminato.
Post Rock Garf Hunter,

Non conosco affatto Tikz, quindi non posso fare a meno :( Tuttavia, se ho capito bene la tua regola "entro 15 di ogni RGB", puoi cambiare da 108 a 99, poiché l'errore è inferiore a 15.
Yytsi,

@TuukkaX Grazie!
Post Rock Garf Hunter,

L'uso \definecolorcon la HTMLspecifica (anziché RGB) consente di specificare i colori usando hex.
Julian Wolf,

6

file PNG letterale, 283 , 234 227 byte

EDIT : utilizzando il servizio di compressione delle immagini online https://compress-or-die.com/ , questo è sceso di altri 7 byte.

albn @ alexhi

j:~/tmp$ ls -l carpet3.png
-rw-r--r-- 1 albn albn 227 15. Feb 12:01 carpet3.png
albn@alexhij:~/tmp$ base64 carpet3.png 
iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3Ojpapthl
S7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQT
Sw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wG
MbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII=

carpet3.png

I 227 byte sono le dimensioni effettive del file binario carpet.png. Se codificato in base64, come visualizzato nel blocco citato sopra, è più lungo di alcuni byte (308 byte). Incapsulandolo in uno snippet html che rende l'immagine rightaway aggiungerà altri pochi byte:

HTML, 414 , 343 , 336 byte

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3OjpapthlS7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQTSw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wGMbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII

Modifica : ho rimosso le virgolette e la chiusura> come suggerito Shaggy. Comprime anche l'immagine di altri 17 , 24 byte


1
Non penso che un file letterale sia considerato un linguaggio di programmazione valido qui su code-golf. Spetta all'OP se questo è valido o meno.
Compagno SparklePony,

1
Forse hai ragione, ma anche la descrizione del tag kolmogorov-complessità su codegolf.stackexchange.com/tags/kolmogorov-complexity/info menziona una stringa complessa, la cui rappresentazione più breve potrebbe essere quella di stamparla letteralmente. Se una stringa letterale è considerata la "soluzione del caso peggiore" a un golf di codice basato su stringa, un file di immagine letterale potrebbe essere considerato una "soluzione del caso peggiore" a un golf di codice basato su immagine. Modifica: ho pubblicato solo il file, perché sono rimasto sorpreso dal fatto che fosse effettivamente più corto delle altre soluzioni pubblicate in precedenza. (dopo aver rimosso il pezzo opzionale TIME dal file)
domenica

Se dipende da me, sto bene.
Post Rock Garf Hunter,

2
Con un po 'di compressione, potresti farlo. Inoltre, rilasciare le virgolette, eventuali finali =e la chiusura >. Ecco una versione a 366 byte su cui stavo lavorando prima di vedere la tua risposta:<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII
Shaggy,

1
@ComradeSparklePony In genere non è richiesta la risposta del linguaggio di programmazione a domande come questa: codegolf.meta.stackexchange.com/questions/3610/…
isaacg

5

Mathematica, 285 byte

e={1,1};r=RGBColor["#"<>#]&;c=Cuboid;s=c[3#-e,3#+e]&;a=Array;b=a[s[{1,-1}#]&,3,#]&;Graphics@{r@"0a8",c[-23e,23e],r@"a6b",a[s@{-#,-1}&,7],r@"f33",a[s@{#,1}&,3,5],s@{-1,0},r@"5ad",a[s@{0,#}&,4,4],r@"057",a[s[e#]&,4,0],b@4,b[-6],s@{0,-7},{-1,2}~c~{1,10},{-1,-2}~c~{1,-19},{2,-1}~c~{22,1}}

Più facile da leggere:

 1  c = Cuboid; e = {1, 1};
 2  s = c[3 # - e, 3 # + e] &;
 3  a = Array; b = a[s[{1, -1} #] &, 3, #] &;
 4  r = RGBColor["#" <> #] &; 
 5  Graphics@{
 6   r@"0a8", c[-23 e, 23 e],
 7   r@"a6b", a[s@{-#, -1} &, 7],
 8   r@"f33", a[s@{#, 1} &, 3, 5], s@{-1, 0},
 9   r@"5ad", a[s@{0, #} &, 4, 4],
10   r@"057",
11    a[s[e #] &, 4, 0], b@4, b[-6], s@{0, -7},
12    {-1, 2}~c~{1, 10}, {-1, -2}~c~{1, -19}, {2, -1}~c~{22, 1}
13  }

Le righe 1–3 definiscono nomi brevi per le funzioni, la più importante delle quali è s che disegna un quadrato centrato sulle coordinate che riceve (in realtà 3 volte le sue coordinate, per un ridimensionamento appropriato). La linea 4 definisce una funzione colore usando il sistema RGB "scorciatoia" di Mathematica:, RGBColor["#xyz"]dove xyzsono cifre esadecimali, sta per RGBColor[{17x, 17y, 17z}](in modo che ogni coordinata abbia 16 opzioni equidistanti che vanno da 0 a 255). I primi comandi sulle righe 6–10 cambiano il colore corrente, usando i colori di scelta rapida più vicini ai cinque colori designati (nessun valore è disattivato di più di 8 quando arrotondiamo al multiplo più vicino di 17).

La linea 6 disegna il grande quadrato verde acqua. La linea 7 disegna la linea dei quadrati magenta, la linea 8 disegna la linea dei quadrati arancioni e il singolo quadrato arancione. La linea 9 disegna la linea di quadrati azzurri. La linea 11 disegna le tre linee diagonali dei quadrati blu scuro, così come il singolo quadrato blu scuro nella parte inferiore. Infine, la linea 12 disegna i tre lunghi rettangoli blu scuro. L'output è inferiore:

Portland

(Suggerimento per il golf: il comando Cuboid, che è destinato agli oggetti grafici 3d, funziona bene in 2d ed è più corto di Rectangle.)


2

Python, 420

from PIL import Image,ImageDraw
B=0,77,117
I=Image.new('RGB',(300,300),(0,168,142))
r=ImageDraw.Draw(I).rectangle
for x,y,c in['7172737a98cde670123456bcd70112233456666778888888bcde23232323331111300000003333'[x::26]for x in range(26)]:exec'r([W,W,14+W,14+W],[(168,108,185),(247,58,58),(90,166,216),B][%s]);'.replace('W','2+20*0x%s')%(x,y,x,y,c)
r([162,142,296,156],B)
r([142,82,156,136],B)
r([142,162,156,276],B)
I.show()

1

HTML / SVG, 550 542 521 byte

<svg><path fill=#0a8 d="M0 0h152v152H0z"/><path fill=#5ad d="M72 2h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8z"/><path fill=#057 d="M12 12h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8zm40 10h8v28h-8zm0 30h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zM82 72h68v8H82zM72 82h8v58h-8zm0 60h8v8h-8zm40-30h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8z"/><path fill=#f33 d="M62 72h8v8h-8zm60-10h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"/><path fill=#a6b d="M2 82h8v8H2zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"


1

HTML, 366 byte

Domenica ho ricevuto una risposta da Base64 mentre stavo ancora lavorando su questo; se sceglie di usarlo, eliminerò questa risposta.

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII

Se la stringa Base64 da sola è una risposta valida, allora sono solo 335 byte:

iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII

1

HTML / SVG + JavaScript (ES6), 500 499 byte

È >necessario un extra affinché questo funzioni come Snippet, vedere questo Fiddle per il codice effettivo.

[[t="5ad",2],[t,o=12],[t,p=22],[t,q=32],[,o,o],[,p,p],[,q,q],[,42,,28],[],[,v=62,s=82],[,52,92],[,42,102],[,,s,,68],[,s,,58],[,142],[,112,112],[,122,122],[,132,132],[t="f33",,v],[t,v,122],[t,v,132],[t,v,142],[t="a6b",s,2],[t,s,o],[t,s,p],[t,s,q],[t,s,42],[t,s,52],[t,s,v],["0a8",0,0,152,152]].map(x=>a(x[0],x[1],x[2],x[3],x[4]),a=(f="057",y=72,x=72,h=8,w=8)=>(c.after(r=c.cloneNode()),r.id++,r[s="setAttribute"]("fill","#"+f),r[s]("x",x),r[s]("y",y),r[s]("width",w),r[s]("height",h)))
<svg><rect id=c>


Spiegazione

Un array di array viene mappato funzione a, creando cloni del rectin HTML, inserendoli dopo l'iniziale recte modificando le fill, x, y, widthe heightattributi. Ogni array contiene valori per quegli attributi, in quell'ordine, con tutti i valori mancanti impostati dai parametri predefiniti di a. L'apparentemente inutile r.id++consente l'uso di cloneNode()mentre assicura che ci sia sempre e solo 1 rectcon un iddi c; questo risparmia la necessità di usare il ridicolmente costoso document.createElementNS("http://www.w3.org/2000/svg","rect").


1

PHP + SVG, 425 byte

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><?foreach(["004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]],"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]],a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]],f73a3a=>[[6,7],[12,6],[13,6],[14,6]]]as$c=>$p)foreach($p as$v)echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />";

allargato

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 />
<?foreach([
"004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]]
,"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]]
,a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]]
,f73a3a=>[[6,7],[12,6],[13,6],[14,6]] # Array containing color and position ,width, height of each rect without the background
]as$c=>$p)
  foreach($p as$v)
    echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />"; # Output the rects

Il risultato del codice in uno snippet HTML

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><rect x=11 y=11 width=8 height=8 fill=#004d75 /><rect x=21 y=21 width=8 height=8 fill=#004d75 /><rect x=31 y=31 width=8 height=8 fill=#004d75 /><rect x=71 y=141 width=8 height=8 fill=#004d75 /><rect x=71 y=71 width=8 height=8 fill=#004d75 /><rect x=81 y=61 width=8 height=8 fill=#004d75 /><rect x=91 y=51 width=8 height=8 fill=#004d75 /><rect x=101 y=41 width=8 height=8 fill=#004d75 /><rect x=111 y=111 width=8 height=8 fill=#004d75 /><rect x=121 y=121 width=8 height=8 fill=#004d75 /><rect x=131 y=131 width=8 height=8 fill=#004d75 /><rect x=71 y=41 width=8 height=28 fill=#004d75 /><rect x=81 y=71 width=68 height=8 fill=#004d75 /><rect x=71 y=81 width=8 height=58 fill=#004d75 /><rect x=71 y=01 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=11 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=21 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=31 width=8 height=8 fill=#5aa6d8 /><rect x=01 y=81 width=8 height=8 fill=#a86cb9 /><rect x=11 y=81 width=8 height=8 fill=#a86cb9 /><rect x=21 y=81 width=8 height=8 fill=#a86cb9 /><rect x=31 y=81 width=8 height=8 fill=#a86cb9 /><rect x=41 y=81 width=8 height=8 fill=#a86cb9 /><rect x=51 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=71 width=8 height=8 fill=#f73a3a /><rect x=121 y=61 width=8 height=8 fill=#f73a3a /><rect x=131 y=61 width=8 height=8 fill=#f73a3a /><rect x=141 y=61 width=8 height=8 fill=#f73a3a />

PHP + SVG, 375 byte

Questo conteggio byte può essere raggiunto con la compressione dell'SVG

<?=bzdecompress(base64_decode("QlpoNDFBWSZTWY2177gAASSZgEgA/+c/5B3gMAE5TQVtQeig0AAACU0VNMAAAEYIlEnpMKNlGahso2plh0zoaSEpIkukINaC3RWRF74IvArdRF1FcBXrSTFWXTorp2xvpb3k7FbaV62syISgiBEweHhxtWUmgWCsqqaKSEARyAOAEZJJOwYBQqTAWotSrmEXJbBRTYNhCg4RPaKOUUbAX+Fr4VfIrzzIQQkkJCWfMEEOOISTuDkOzgQzDQDNQKu/4K7AZh8L41DddV8iv2LQOBXv+iugriHAr6sK/IrUV1FeRXMV3FdhW8V9KugrmK8CvOQin+LuSKcKEhG2vfcA"));
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.