From 0f926ed86aa2ee7915f1cd6a6a1e500389328b0d Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 7 Dec 2024 18:32:22 +0100 Subject: [PATCH 1/2] Load Sqlite unicode extension --- lib/music_library/repo.ex | 34 ++++++++++++++++++ priv/sqlite_extensions/README.md | 3 ++ .../darwin-aarch64/unicode.dylib | Bin 0 -> 133552 bytes .../darwin-amd64/unicode.dylib | Bin 0 -> 95496 bytes priv/sqlite_extensions/linux-amd64/unicode.so | Bin 0 -> 120032 bytes 5 files changed, 37 insertions(+) create mode 100644 priv/sqlite_extensions/README.md create mode 100755 priv/sqlite_extensions/darwin-aarch64/unicode.dylib create mode 100755 priv/sqlite_extensions/darwin-amd64/unicode.dylib create mode 100755 priv/sqlite_extensions/linux-amd64/unicode.so diff --git a/lib/music_library/repo.ex b/lib/music_library/repo.ex index 8251777c..ce6174f6 100644 --- a/lib/music_library/repo.ex +++ b/lib/music_library/repo.ex @@ -2,4 +2,38 @@ defmodule MusicLibrary.Repo do use Ecto.Repo, otp_app: :music_library, adapter: Ecto.Adapters.SQLite3 + + def init(_context, config) do + {:ok, + Keyword.put(config, :load_extensions, [ + extension_path("unicode") + ])} + end + + def extension_path(name) do + [arch | _rest] = :erlang.system_info(:system_architecture) + |> List.to_string() + |> String.split("-") + + {_, os} = :os.type() + + platform = case {os, arch} do + {:darwin, "x86_64"} -> "darwin-amd64" + {:darwin, "aarch64"} -> "darwin-aarch64" + {:linux, "x86_64"} -> "linux-amd64" + _other -> raise "Unsupported OS or platform" + end + + extension = case os do + :darwin -> "dylib" + :linux -> "so" + end + + Path.join([ + :code.priv_dir(:music_library), + "sqlite_extensions", + platform, + "#{name}.#{extension}" + ]) + end end diff --git a/priv/sqlite_extensions/README.md b/priv/sqlite_extensions/README.md new file mode 100644 index 00000000..863c9bf8 --- /dev/null +++ b/priv/sqlite_extensions/README.md @@ -0,0 +1,3 @@ +# SQLite extensions + +Lifted from , original files under MIT license. diff --git a/priv/sqlite_extensions/darwin-aarch64/unicode.dylib b/priv/sqlite_extensions/darwin-aarch64/unicode.dylib new file mode 100755 index 0000000000000000000000000000000000000000..6a7a2b74a651340597b94d0024b784a5c5ca3158 GIT binary patch literal 133552 zcmeF42V4}_`uERPDHc{yS1hxOsDKMDRj`7JiYQ94U_(Gqq)AgijaZ{%qF6D-lB$?u z5{)rUjm8*FqA|vhn8cE1Nn*U3L~~8{{XH{hVQGrqo8098&dld~p3}=SXU@zyJ2QLi zw;%p!%$R~<(}HHe36@37iM&`F;I3pWK0Y>VOswct-Pl*%$+%ksZ-VlqEj~Ukxgbxn zOYZ9Vo%NE!oZCr~+$gqcQ?ueK2j!QWm!Fth=~c6S*TbbCJ&!?d+x+Z!erUV6N%_T3 zO-`SloCBYl`86IQ#WPESk=r&uR;zwVxp_IMnNxWDn)&tO`HdDe&zRNCqgT%xp7HTX zS(&+23apvmng}W7yIdvY=2=^_tR~~*^D}3rW=@Vz%}mJ>^RIq9Che7?Z|14UU9G*` z-zun|TmbR$143g%&)}Nmp;)>foDLr?I z{mr(Xwe?oLes)Mto4$!8$xZdCZ=-ewL9tRhZDVn5@3Z<(sCT%tA=frzMUa=HTZrk)cS*0MoWn^S! zT0Ls!x1?BVU*&N?MBDs$>#fPfabz%D@$o~$BO}5FgiF1Hv3)#dF^|gKJNWrap|*L^ zVG06tUfcRlPR-5hmXMPX=-(|rGc_q|anKVM~6**^{q?3@G}5piw&h}nu>O@jK=NNp75o1ST`ESf&k@3bypUI zqBsTXmY%-sN_WLZww%_}+(rYSKz7>x$D#O^# z!8=24;t9Xw#-H3v@u1+!C(j0zDp_%KM>a27rQV!_$C*!PK_kEveNUZLwJ866R_M0t z!{6F^Ud5a#AG@%So9dCFQa&aRO5a?C_{B^(Wj9+BgXbcTdqjDcy2ni|z~h|9J&df> zqj2gC2d9u#b}j8n@KobZX$YUHuq&}sIFvXjLV`WwrWM#}LW1FrxMbNB-B;m|#_U6j z7+dPHPZclbi)R#9dR)|1<-6amTE1Nw+mVLwyUSM_gM4>*6#7@?Yt%{kI-|aA>`IXD z@w7tcyUN$npM5CYQe@jHSgfm>?R1BZ@f_@)3q4sWo;SUT@KT$0{p8`HDD{B8?4Tph zmi8qPXlok$ra?c0p(h9E#u0iNtZ*UYL5rL*rO7pRt_|y;*bk??GE` zdMH8)YwFNi-i`P-w*4|%f#a#%COEOHXPdKFLCvlv2rRZQQ>D4@Sl|-FLV|JJR(j<3 zDs^xwj=pSJ5sl|ecPz&-8wU9-j^}eYMtEo7_!ap51iKIHKAwtF1CA|oSCoFEQkH+K zQkM@x{O>lmDt%JTO7oPeY^4K>J?R`0v=;V$jah7dAJ%-YQkkt%ve=)|*Jkw5!~~9= zQIOv}WYs6FT9veBtxJAZwk+AL4GG?*3<>_FV8)GKl`SJaF3K<1t8_{`>kwL$t6b}n zk92F}@(W%r%)c=cX?L}1S@N@@WyvmO>yq6_cWUg+f?Z-Bts~AL-DafASFUqejq>O6 z@~^3!%h&PpSKE|-P1&MkCer3smfs@cqoUk`xxD-}%GJn66SF!l7v<;PSdX;1ty+{^ zQ?w|_Mfo#%`MF{qQu&im{u-435>p;M#neaVDqCI7eQVuAf}%xQhK|L)gk#{RWBxCr zerH_$)7UST*hP#v`-SHP?L^pGt&6BP1^U;nb|FD|DK36g|Cix^UDdMu4B8Z8vBc)x z=NPjolVwkBKBOq`K1IyJ$0CY8Qml5d9s|{NORRr*e$dCrlhRT;%JUTRT#Gy@uTS9r zv#M3Oh3B~zdG1A?OOWSUly1t#^6vnpMAC+K-mTylW{ zI)2JoQ*ub5E!oFdiB=sF%+Ll+QSyyLj74lNm{cIJCTaWZLW_Kq#V(6jNTC5~4RMnS z1{O}b(FN(5Gb@>-U?q$-DrtnYhsI1PU}8RvBF-Q!Lt2A!vCCeR{}pud0>-w|xa@+b zaE^9qr7L+y(WvBGrY(5~X$~R1t|>*u04DCvH;@aViYX@CN9ayEA-{B(dWKVwJx{49$E9j^X@zJn>=_Ly_m*Y_U+PH%SdcM8B$z*ImK;A-ng#r zFz)my{n}#rY2l>cQnYjBu6~`wI=b5A@eSHoSDVE26&|I(ApNPgdQ_&X(#37k{Uqta zwj4K$;vBIP&ymoZAuQx3 z)$KaMtbY5nlHbo(zehuF?o&#B6vty)S+v0H)3)P$RfUT8S38VPc$S9YJh$6b6?c=8 zT~5HY)6$e>C#Z04^D_52NO|qku$`?i9^tzF!aG;tSFAYg!AbF%Er5S&JOKE zg1Ty$E?&X1)onswJ*#H17gdhs@d{OTM_e~3JVN8re6B*7y%}yCgVwE($InW(^CS?< zTpN0mbWZKWy`k7n77o8g4F1mIx%?H%oT*@I&LN!Qo^KR#v*xjYeoI4e?^u^VjbYm` zu2FfFI#HX%zM#Z?XI*I~A+IyIzj*vNODyiWR@&h{=3S*K$}T)L$R1<0C)yQ{cF}dt z0pqECvWwpZm3?`5OVWwd=1FL?{T#=bz8Ngr9``_Yy6__VIf|G|xEFHUGNfo5u2+GI zB`&W+FF&f-nj7)2SKe3sJ`3aL0an^q&9WoxSnPH5lUjY`?W#T^IJ0clh#$v2p*M?p zpQ!97TdMqivGyICcze+ww%{25jQh+_9GFf#Haa>st;J(=M$3HI){x(dag3=yZdS3K z=kE(yZ9PW6qy9^jA%#nz=bv%hY93qaGn)}k$9c1o6>jwoDY)>5C4l0o<3ew$E{2Hx zfX+?nnDocFX1xv_+*&Li+vq1&JzaUQYt zv+f0l3kwT^8?n+~wM^&UnEBh!!CY)yYJr1}HUBrw6)>-`SK60&U{2vjb1uv&dMR2& zY-+^Bb0KxswSvAH=Ck>COY8;ok4+0$_I!*lc!$o}5q_f@wR8N;fkmOO+_dwd{w1}I z`UUz}HubSd7`v$bG{%VW#N#XJx+U8EBhLStZMBxAqVw_Q+>g?JoBL5X?%h2UZI5~= z9FO)@D6S@AeqfLE?wAX0)!LPKBHj>9i;`(7hmxf#`=b$^LJAx^u>ubbySfGE?h;jN z$JQDaWvi1VzghzD-ktN(v{|dll@29C=CRT=m19X7xBcFJ8;+Ft4)5_^rY*8_dT&am>TDpxT&+dwc7c zM`Qd&l|wm=^E6+$)0pRuG0(tge77s7bJ(I%;`~&iKdR6#)##rZ^i!Ohvl?LxRFr`?JrO#rF z9S8fYj;s`~haZ0gem}x50QOxtM{vXcQ!vh*iHP&%%Fn^&r1daFmIv^bLnx8P2P^ev+Uq!w8B8=Lu!@Q<1<~4TBBZ_pG*SI}4v}lK7 zrOPj+CV9Lw^UqSU072=HcD6I-&Pw~VbI5lE%C$iENp38b+PMPdUV&~c&}-MbZ6r6u6JG@{Ha zzgYaKu2-q9&`~q!sIGFZ;+lA+4jo;kYa(=XK^IYU71u-3(esKGE-7}*Ux#@}U(69{ zE`L?!RL(Hp+B|krfev#m1?E~tm7>H4^Bto&&j|_MH*3-jBhy9b3bHX@YMN%ie91{! z>Y_ussBzf^lV)Y#P#~=j=31pHU5SrUQDTHn*q8)9S5ia>4Cydea>5+%D%L=%%5PSF zwzpLNRb9i&zoIC0aY8$;BCWL!=a9Z3b-1D^cDaH&(6JSi&C-f5TVl6B|4z=#pRNHN zaeihqRrUesM-9FE;2f~+n+BYhrITI!zJ}gayl>96_D$qT=lX)#jxlr7G52kGXk@?0x7{R41I9&N}Wl4}Dvhp~ybl zdXo#acQP-(Ma1NwjwpXJ%GqR7ev-Iup(|CzSPduV)-pl z)-O2M@h-e`N3IWd=%Zt$KIXa1-N~{yqkbLHFR8BQVDFCj`_X^;!tJIHDVpjMTC@zh z5tOPl=Df+}8pf&vI5!edXVo7#M2;DYE~{V zUE2OnEU`3RQ9sQ3#Dd|H=0AflE)T@`9ENdv0LJV7xPR!k4db_X|A1?Cuz+450Io z#@1sPH!Qf9K8$hW7{-mSw+t=Xt$0uzTP+w%ziu90MB}IhEJLw!dpnZE_&+<8ZK(}?86Gm&7n%XjLBc zhh_b~UoHN>qQC#rEac|5sy5}gh8(AB$RC)S2xzAPy4r>OEEtzVaUMP0fdy>s5Y(OY zbNFYA|HoSPA=b^E-EseP9rp~RTX*SH!w<@R3>5Zlo#fBe3>d&{xqcZ4%b#?G#I0?2#@U_nOmYrQUEv zTDsT7eHrfI980<)-H^C6+?!DzjuG)lXAsjZbGb;@jLPy`mtVrzPvu|4xZlw7e^o9; zK2_ykM%spye^I&2r90X$^kzAmF^8Zv^mwC3S_te`{Zn7BssDS`{r_6m)K0oTx462e zDQ;R~?a*HLGt_rmVUFTl{#COOoG&fQe^#|Czolwh{%@5_`ENLX=v-Qidrj(>)IX`8 zQh%j$=36li#icZqw(6Xsc_W=qTQ8!FKP;`c-m>@$iq>ff=)339@2&TmHTx)yLu%dV zA_LC#%Hx1@rPgu4`E9ca@mVI7#UmR5AZul<$W~6eJFG9TB?9F4((cs zb7W=G?5?GWv*t(p)r>dBt42Jp(({YvN7u^F&AV2-#AWlbzEh*zS4`F8T{o3JmNh>b zYlqeAS2Ld8tMsk3`O#PdzI{B(5Ao2pHPg{9Cz|&vg;S!P)}vt0hQCigR{GPRz1v3E z#DQIZ6FP)`=-VfHtV_0bhCMesJvkvWenxUmZYsVMWA^s#?(M_)=T|Dd(^J!uS*BynVdQ-afu;Xm~`J zAuGo)Xz1{MhUp1;dC57MhP;p5Vd4V)}=U2s0!XOwUQqrBsHD{Mn|@~E>PBhtN~dA zvIb-g$Qr0y1HD-v*0(Y!goUzxtbe6jw#XWgH6Uw1*1%t*fdSQvQ7Bbvjkb}Uy@O-p zCQX|;>6*82ZrQ4}zKu)UcI`U|1|~<4^&s~L`Mi+F2YH;7F9-5v@t=5mK({>7uN=}B z>s73--#Mz^7%}|rVf#x56MyTl{iUO3{C|S`pZe>}?R87P-Q4b%j@qfa!OM)tXYY2q zmtRKiwv5{GrQcTQw+`u-j@mI~A6Wyk24oG$8jv+0Yv6yO0ebqNcV)r!iwFJEA#bt< zWDUp~kTvkvYM@{B;^ZGOV$d%X^bSV#Unb}_ z#`+dU^Icu;vOUDujf z?e#J#y7aXY+b4MGX;|yCqZFrOWxj5(Redvqyy?3c^>6e=4QZqAYSi^?sV{sR{#6Zp zFG$=1SRkbJ8yDOY0^i=N+i`X@lBv87R_St5x|jb6dTR(Jx^?LY%Ckc#^b&4+reI7FY;Kj zkToD{K-Pe)0a*jG25M^HC3x(t^xVZ>X1gn0vPIT_tN~dAvIZm#yu$XdSJ`Xqb@m2( zlkH{u*najFJHQUIx7i^?d50Zl@3JH8D0`2+&pu$s*m3qDJHb9;C)vmB6#Il#uus`% z>@@qFeZjtDXV_VGj-6*;v9H-T>|6F7yTC58OYAcHp8ddn#G^9*$yZAR*G`>z4)uQa z#MsaXclG5IXPakGjU8EKBPzeV(yH>iE3^pnpEa}LUvJUcIW%tS)Vx~ltUorQ4(jTk zhiTcma-parevkaCDk*=Y#vrTu@Aplj`o5cF9YF4Ce86Lgt=qJ%Cz7 zuMbuS{G|QAu0zAGIRC}Ly!I!{?)B8Oxj6ry*QEG5kgTY`-AC>kReM84-?m)`@z*$d z>dV?E?H#Lsr?2v97Hfq6!WdPp7F8bu#J>w^8`(QF!HY!IJ`!lXS@i76l$v_4cw(%& zD%q+{JKU4IclGx1?;gw)Dy^NpV^fsSS~@&Nx6WNWOlDud0P$J3x^k#io4;LzrcjrS z66@8&-@6snd)?ph((KrznXZL+2UXdfdi3cxkg4q&J2~sy8C=~uyL+0v&AtIaJ^O?X z7&K(qh?r4v^|`yY#X zMv#A=CTqPki2?afYDMcd(q)+jh(D%g$<5~jEWsScEThvg6)N*ZF|Aku~Qe1u3p`I`~v7s zta5>pz70(agnE~D9i+=>H@|?u8W9?DX7S6jwH$`UMQQO77vJ^w;zv0eB;Nsq_ zMXNR)=mxSIF5Eq#hQY&P#*CYkoSL4MGlOa9+D=t(Z|LN1^6?K0>K!^TJW{&!C#6g! zJv4D@(WX zvK1|8^@fy4_p+oyiq$`CFjHyl9GfBs7cmE~svs$c800`|XfEBnh}yw@ieF$*FG`Oa zmC7P&-KFpYdS^vdKbj3WSn{X9D;MVF>*l?57@Xbq_+`QNoAToDVLi$3y3^X`BrcQQ zbq>`k^Iur7!lUChb&!5WsTw6s;(J7<3HgsAh;M+2b*TIu$F>5z zkXl7phhXbCRVzZ}Z0U}b3o;){88RMMq`YiCby-+)2GV`4{+suiKKTl4$>S`liD z#I{}TpZ2#6)=MO=^tGBy1NHJ#$|?T0&Do@<6%-6Z+9t?3Kb_+NDK ze>~l#ALj9PwDiSmF4Xw4g8D2TRUZlu;(9m?Y-G3HRB$xL-V6T+icLk&Sr;pqTCZdp zvzBSy?UBZwH9FjwDL-$<6xW;K8EYq|bZg7-SH<{<1?-K?ObKr_{xe-onOHYHukRQx z%ebuIQcpQx8^dK8mla&w6_&3QPNWn5Npsc*r59hLs%L*>_t#~+> zWn5Npsc+50xh&(df=j)ghjUrRWd)b|HawimGA=8))VuI-F3Y&A;8Nd~hjUrRWd)b| zc08QRGA=8))VJs1T$XWJ!KJ__%m%$zg(7aS;3{=z{9yLN{~am-^1!&85BzcXO$C=WZ_b9^B2P-jlnz)OY1> zF7+nv=2Gv)-CXLuxtmLUH}2+AZ{}_;^*-FqrQVmjxzzh{HnZt<;&L6Ar?_m@i-&W$ zj>}VAw(8Bpxm?HPDK1;};o)4aXax0e? zxO5-N!@1nb6fZ$mKI5CI11VB)O2wgIuad^KdQ~ za(R$T^%x$`}VA z>Jz2#F%$E<+60ieS}Mg49Pu&%Vk_1;nE?KhjY1%%OhMmWbtq=mvMQ7ONZ$^oXcfg z9^uj6`jLUDi?3^QoPvvqemlwEn&y~Wbarpt4k$IB;2V4%wm)x&&*<*&}ewE9h znUecOE`19mcR81yg_8RcmyZ=m?!;M=e2dG>*^>K3F0XUxKS%P<<8mjL*SYk+PYPei zmqK4x)s^b@|5b2>{lu=af3a)qI{TUZ!Yq~>>?Zq-{hQrl zzq3E!RwyhM70`f2z#ce)CZHM6ffk@8XbswcwxB%_fDv>Aoj@1h0lES&&<)V$2N?jm zi|!sUdx1V61oQ&~z(6n%5ln7uuoDZDUr8ws&a!E zg1nVE@X1$hf%|drBq&yHg}DI!7R$4+Em7`(xlCE2+zI(ISf$(pleRawlw20eA;ls1 zysLN@=6j0wV159OgA?E+I0Y)eXW(;Sv7CW<4txc^0pEd(;4=6DTmcr#HN`c^pTSzi zUd2twe}mtF1t?Hk70`f2z#ce)CZHM6ffk@8XbswcwxB%_z((ZJ5wa8L0z5!h;03w? zAK(XUw`5Z<_&lUYF_CXS*ozfQmCKcbU<(HkU>Fz<8ouqR^ZaOd`nqFgBiCG>^UOPx z@C?GARXwMA9`Zf#zUl**FQ{Hry`i9v zt0$-@s^isWwU63Y?Wguv2dD$p-PJ+rV0905PjxSKZ*?DaUv-E&RNYVAUp+t_rXHvs zq#mpeR}WD~sE4YDsUy|H)pycD0%9bAWH1G!f;5l;vOqS-1^HkmC>955Hm12wl2 z_&oqtfKsp;tOe`A2JkR=6l?-pz~kUa@HE&4wu5KE^WX*W64(WHgFWCi@CMimj;Y^* zc@P`|hrto>9{2!QEFZ%B2z(4a0iS}?;0tgDoC9BhZ@_opBDf5G09U|Oa1Hzneg!wd zzrpXo0u&mY|3Cv80ej#Gnt*0N2U>uZpfzX%+Jg2#07lRe)W0QY5;aMh$(m$Mie`#t zswP!4O_Qcc*JNliHCdYJnruyuCRdZE$=A%#%+wTU3N=NVS(@3JIhy-4b2Y`9d7Al} z1)7DLMViHRl*7CfUP>>Om)c9?rS)p$W#?t@<>2M$)!3_vS5vQMUQS**ujXDYyqvvS zdbRRu?WOl>7 zPuB|HA-o_=7qW$y5K`9_KS#(F@`QZhK&_M(aXT)2D9jLM))Q*6oE6RqMZzrMn|fjt z2!+CIVUBREj_`NI>mtq{{BM|87&jt~wyx^->BekhjxpDmXUsRwFwQg<7z>R>##zSM z#yQ6OjB{_3(l(!k4UA`-=I-ss-9B_X;r5Z+Nw<&PPPu*JR^j%k+h=a4-9C5w!tG19 zGj3 z-vwY1xF0M9CEx+D0+fQ)U@ce=Hh_o0qhJ%*0v-oXf~UbYupK-Lo(C_0m%uKt8|(qE zfj7Wjupb-%Z-aNhyWl8z9~=W8f{(z*;1lpEI1Ro4XTUk|6}ZaMWo}f4A3qnDE5C#T;a1a58f#Dzu#DI}tG>8M^ zzyuHv5wx0`g9#{Ytf%}29Ew8j$ed?E?mVTE0mI0P9 z%RtK@%V0~mWr!uhGSo865@{K38DWXCL|bAkv6hjRQI^q`F_t*X*!nZOhmikl{p9by z{*j6+!QXfNgASLx{_%ff{iE(v@1L-KQFqPB_Y;0cRTblI*DtIorBx7l{bB>={11ai z!6qQDU&!khD$HXwpb@YKj-Ux>26UhWXbD<_HlQtN4+LNY9YH711$cn2zzcK(KEMwI zfbJj|^aQ;@Ul0oVgD@}%go6k$3=9WRAO?&Cqd^=P2PS}ckN}cEGMEBVK^n*aSs)wa zf_yL&6oOe`4wwt(fdya@xF0M9CEx+D0+fQ)U@fS*$?F$2H6pKH+|Bw$ZS7es^7=(x zTKVtz$?F%j^(e1j$m3hFrWl#papio0W=0pffHyB zoIxv~2QHu;=l~4B6}W-Uz#Vu36YvJ%DAgCz9|Qv21H0&^5GtiQOzJs+-x zV%YtniF;r!DSoMF|AqUMDSC@(&~j03hW}&W2{HU>9?N2RMzlT8-7i7z678>WpVuLO z<#sCNpyD80?sp=KJ6n_z-*qJ_etFPr+%$gD}4YXTf>!HTV`>0GGh`;75Sp z@Dx`euZwm(!vOgkxCQu&cGdb z0u%5CX5b5|Z#`{%LM!b9VH*sFfT18#nPtkr>ij&#V$^i0Vj0X8U?q^Y)uL@prF*?% z9qfsGMgI}lGfj_*p_?k>NGT_aah?)=w^fEcrx>7oLGhv@45eGQ-IbwMpFcxx_*2FQ z^nc`=!}FfOM7OJs;#PRs&dtK)pFH?suf7R3Mr%=JFB~>-PImyPjy$dN$sWfR(De~wL+~_tJG?> zMy*vhQroHR)edS$bz^lCbyIaStYA$7iC{8F0aL*=kPb4zbdUq`zzk3Tiok4eA1DSj zw`K5K4ju$6!78u@tOI4>A@B&;2sVSqz!TspuoaYpXTWn{2Y3WRZdUo$`xrWvRiq#3LU*9_4_XohNrX(BblH6t`p znrKaoCRQ_2GwOfXioZ^KbNFwAN&FhYu(G8DYM=#nzyUM{O@R|=4xB+Npa(9X9q0fI zz!kWG&cGdb0u%5CX5b6_K_CbMJwPwe2ZVrrU;r2h27@7BD2N0jKs1O2qrez27K{fI z!6c9fCW90(6-)!^AQManIUop1dG8Euna5*4}z6o6<7nT835SJug(JdI;WOd1 za6`B$ToNt|zX|^q<1P`F3d@8NVY%>t@Sw1wR{AnwgYb~>u<(fRsIXDkR4aU|uuUiz zwhPY)&kD~8&({inMc4zs*K7G(uvOjhyjN#9#i>WMhhPigBtj)i}+VW=uC`7&DDol_e~wwB1GKe?ioj-FCaZ z;|@)oZkllXO{hq4dm z3{&7r1!>$@s%Vbr%CF{UZ9*}8=Yxe{F<1hYf#u*quoA2SYrr~C1|9;BfQ?`?cnmxN zo&sAzId}#<2X=rL!A|fpcm=!)UI%Z2ec&x{5F7%B!4dEt_y8OSC%{Q?3RHm4z~|sg za2A{g_qJ_z+T!$>)8kH0I6dj~l+)8rTb;H!l{;;BddBHlr{|oWciQ3fg42smFFEaW z+U4}J({86%oc1`q>hzk^>rQVtz3H^qX`j=6r?;FAI309)+v(nF5Q3+o`hfvpAQ%jW zfT17~i~!Lf7K{R8z*sOIOa!zgLQV!LU@Djf(m_MEV#J#d7J|iK30MY}g9pJ%unMdJ z>%iY}bHzQC8|Vz&fhRBlZ$O(bq(2A*L7)fd1^R#x&<_j%1HoW01Pld{U<8N;v0xM! z1IB{!U?P|V62WAU0;Ym#ART0a+FK!fXNe*A!7K*z!9uVYNLxvz&Fb@KNu$Np($V5( z>163_>0)uWcvw6wT`eYym&M!C&0@CrSbQyh7Jo~CCD78{5@ZRs^!T%?au4|$YOJM_ zJE77~3iV}v%)q4g_YBO3Wg*;$4KVn_KEObsWXC!nv)#k6svE}laIEUmjvj$EUF(it z$g!#`?Qvq63Cwm+W=SlW@2Pk%k#_V6lyBYf8#&A8dm+LKQGt3xZIL*P3N<}|ESr=i@Tcwe%L-Ei#|-H|L4tJo5+D>KD5 z4oB^)2!ksbE8IDi#Ncg9TVh!rR=*`iqOEl?8gFLCu|jceya?;#61gl9YwP`BN*#lA zf%8<U%!k+)C>`aE(GfBUB}rw)iFzFmv%6AinG|a(>+&?6 z9~e1No^%wml=K#_)bFHNI7gI)${h5!9G*M9L)sm=EdWv-XYdfrGsPNOkEk_=M8u?e zQcc&uPTS*LN-i>!mC4Gf(9txML}kuX&a7-vRjj+S888l6cS@P0OotW=*xFj9-(9|U zioM4sf9r_ZvrIXcKr6E1`StVV!aVR#IQU+lsr9`t5s2PpS3- zdYgmZo_tc=rMD;V)XtjW^!DUi$frzvdy+yQuU4a$SQW+dRe&}vmsnrHI%&sBmlP_Q z`Z|4WW8B^zbXVyE@YW`t-{NUTRi^EM_c;4kx^7>hH8fA1UzuW(I-$~T4Yx`?@+P|h z?}oO(o1<1*;r-Fpc!Sgh?~hucc(3Q!uzWP#cwI-~6N~m0FM_0VrN|Neitrw-a-9|O5FWg$|`oizdKN)XY-dzeQb{B0I?O-rO z+tAe8wA-}riF-p*Q2uzjP@9KR^0e=OAwWv$srBSGy#6WLBoj{`YH62ZNj4vC)s8zb zt)I9DXals}wZVuPstpxQ+>dMfi7ESQ`$H1XS292=?E}Ra1GOXoEx}!DyOXX+C!~X5ai_M^QQ4*q!%nRl zh<1{`{1Dd*rVmUy64G%Sj5eLXP9c7xmTXHSySsgLAG7H8tKnNcPQzU-?OWNmwr^)| zw0E`dYTxaibKPS97}7p}$Miewcib_~oonywKyiXZ^UkqvAET8+Yln7XPF??l{EUvS zj<+wTdg!XVid{V|=D|&C`rMuS#s4sU?b5b4-OzM<(=E5n*RfgcboKl6t0VT%O24Q| z+o($0xJp~iTtn&&sTs4TyVE_c2Gz``A@0xXC`;28&yxdt;0T%k+H_n>u7;VLZ0;VB zL;HrMs)|Lk>M+dXXzmuq9#qtPN{Z&uuF4UZHPBO1qcIN|p^Q>0+b3eikj&^CFyqCU zLK?p56QRgrvC3BMTeqK%8A(2C-#$w@gLP^zedB|^;E{^^b^6v1`Ro_J=|MA)$(Se7 zTw=O7bI3(nn(s+>E?6;D()@6lQi?aF^7}y)JC`j$2?dCsz@n5?BdSlFG8Oe$pv-5h zl+ns0%!qzsv_^NNb*U^L&gLNhJvtlw5z=XrU?7n0MLk>oKFV-S=QtX1i~|e9v~@i@BF|r~EeI85!$N?zb^Bv)yT) zXv@2px7qI7FpIR^sclq$sw35d%A))z4drj!cCuG*J?5x2cH6d*-L`D9+m=oCs{Ez0 zs`59mJt}E#E|nqal5{JTA%$6WM|CB;Rd>=H+Q6*3*^jY@>`(H2iLxjk zO<;Y+okIK8TRQGEc;2?Dt4gl!YwI#&q$0OJ3t)k)I}2jLtSf8o+MBsE4~$A?tl83v zZQbFt_M41#F^m?~u35GvRJTX-aihBL?OX}08%AX^bFmV(1JLSLHrI z8i{GAH6&U)rty|m@gfnE@|T_rj>Z^Dt{9BHvA8pMCQVmY z>yF>hT&;Wk>7|ffVh;U9GYsZnn;h?y7WZN}nhABL80OlG^+*IZG~aGhB# zc9H8W(LLXFfhZTd-tTI)-?{YqV?5@%)peWe_G)F-j4dE^w(A_%QrA`0;=SnllIu>_ zU6p=zu6C{tz-rdar@GtDY;Uga^JloI?x?-ZxwNIzy_NHB$0HqaRkJbgJ|7cuxVNqL zb-_oxTKI@p3?GbKJ{Z+}Fn0Oi%Ho63%Li8%A6#F25zieq51789=_i{0q8T8Xfuh-6 zG=oGlSTv~&N=KzgQp$nKliX4+RIcQfa-#Ajx0D;zgWOaX59H+yn>X_CMxDKp)*E&9 zMjCI_*&A`a5yvc=6qnjgCdH>#l1XW(rDRe%YAurGeb2ge96RY)9)M7@9y>7s6X#5onGSS+m=q!ezcRc*Po`o5U0*go$)j&xYI@@9K(L6 zcy|;2&TVshQXFT_bvf6CT6s75+QvPOtLjO9^;?arvuzlDyA|E5YFy!~$604wZ!9xz zsFAXIoSLp49@Ty59-+F=y}Rh1+DiQ+zM=9Og1czf$Hn>>U90c-ih!%M-)n6SyB@YF zr@maiveCvN97*a)HRE<;;~RWtRo!cJtyQ`;jAT_AT`?!9+MBydyA=Kj`{cGId$@XH z_rUIHlVerh_@%?uy+#Q6NOXb3+B%Ox_bjyaa+U6VZ0~t`upX>;wOxv9HRpKV=V`_2 zcRRV(bDd{h;alqTwbrbz6xIFcKB>CT?OZ1j_lwFB-|A8o_l)P+N`HKl!gV&A&7Qc6 zoU3vo8=b=||BGiC3*yTHm4>9_1>n zh*_U!NXByrGVXm&YjM9O7EWb&1Q38!@hU+>LR~#=DLW8lO2nd;IAM-%PkV;g1P9 z6N@I!op^oX9}^wpTf~ouPl(TrKM-%17?>E5*e%&V`Tpef$xkHjNj{tWP4Z7Ec2nG^ z7}65c3e#RnJDPSf?Q~kRbmw&c^t9=oIe|GnbNc2C%8APvm-9@{!rY~~pXYs>r_UGi z-Sf@)CHbrJXUv#0&b~1_aBkGxWpm${ zt0-<<+`QPYcy961;;-gins;s9t$B^-x1BG{&zzq#zhM5b#c7K}mJD5zwB){}B}-2% zWy`uRAGmzv@`B}$E}#6s^aoygVEcnd9(;JkjupFBl&%afJyiN$>4&8=*A}mBx9;V2 zd)8f87qx!k`o#6A>yNJgVg0rBin6U`r_0Wit=q6+!!sMUK2-70nTI+(-0flChkHFd z_Tg_H$=^74qBlLT>5)yF>pX__uU^?6 z<^PVoIc8F!F#}@4V(y$@1mX?@!$A~?0VBa^5C_JA2_POM06hB%GX+c)UDgt^%vo^f zm~&v_5W_4m7r>llo&~ev+rVnErFFtb%}dP7s`=aIw;dtRg6F{t;3cpN>;`+lYv2vA z7wiXk`WogTa9DI%^Ezfe2KNc`378+7KZaRhu7G*kd>UrMx2MF|SIj?|ubThGQ~qv# z$y~j(y7OZ?g|1wu)IFnnR;SXbbsF6c-3z)Gbua05>UQZ|bXr{_ot@68v)4K39CeL# zO>|9l&2&yWovyhqL6@jY(oNPS>r!-6bW?Syx@o#JUAitqm#NFrP1j}Xa&)=6JYBwS zlFnJzQumJTu!35}Ty-6FU34D0t~!&>OXscYrt{SW z>OypbbVGGlb^p?h){W7{=@#l1>6Yk9b*pr1bQ^VBbW)2LMko8o)1w?By&@eWee>fY z+e9iNJ>txxUyXEUOh@xRrD&=|QzM#M(QG7|_M+)1nvF%Xsc1G6O()URiDq-rWN5jR zt0Yz2t>IG3Wg{-_xpd^RF_%rbY{sP%mpU#wI=Gor|@676ZCeS&BYjUj)#DP*QiC(}QjOn1@e!&0&fqsjaxnM}{A zWZH|NeG19mB$mv=95S~oCv$@6zcZTbUx}s67UQIh6MbfosTfY?J7WA;u?`txDxK(m zX&!}MgIRZ6p^-q+?0Pk&Yo9KRR}F+~}Cm@uFize!F!{JW82}nFlh_ORYV0 zO=L!tDl#oYKCI?JIiBZ+Qs>y)qZHTA6o5)R{NvX zv>HP?q4xTVJFPnhg6<#)1VazB;%_&_7x)2x5C8%}cMt@E0j-9RNpVT%c2fpp1wI+S z-;y~>Tvs2!9y32-e#*SnTyEZOe%AcF`2~zYyUe@Id(5wy-!Shr?>8SbAHt|~#C+8J zp80+A2N?fOVBD*~c=x6GjQOnjocX-@YxB3}3+9XFOXkbw@6A7$tH!m*%(syGnE5e; zd~DtVc@0#6Tkv@Txn4u5Pr%%ddTfK-in5;5FzP`eSHv8pFftD#zvr=2 zEq{PEo`-o08h8Qb9%$(@bn+7Hr=hPW#CW@qVn2M&LVuUU)USy?WF8h%?M28Tq&zI< zegxY5KrHnbayW<>Qp{tp9fZzqL6?_B-R(jA%g{U3<^)PTAxhGxq=%2qk0bVB<^k01ON2fT^BQvc4(1s#2FXhzl=>KY$#y_GB`InBYf+MU8U2TP#wAf3 zmmx30@0Qq33jG+GI18wT*Kh=+V`XN0ruzV2;0OFc00;!#K@bQAbS98Vap_DTlj764 zMkb}9bwM&I9jyzJNoi?akW8r@N=suBnUr=ae)CVj?=JKd`$#;ckbtu*3+L8!{%Z{V zBI7ImF5`#acSf?@iB5@LDa&KK#3iLQO?fTdb854Am*IU1rz1T*%l==-0J$_)2m*e(}l#ud9eDNI}nM(64JnkYo-MO?s-N2%|2UudC?)pVCnm$|s#a z`;h_v4ESdt=M4Buc3;uu3zx6xN45;Kn&SA0P)xG5bj{_auc(PM(Hth4gG4h&)Q@CR z>?)ftw3Lf>``b5X>&CEN5g+K{71uoH2g_!Qw;+NSh>vr z{a7~YNc&{`lGf6dbkZNk!y9hWVDZC!gKMuZ@B{uJ00e^WAP58l z>Xl?tTXl?tTI!W#O65>m>Xl?tTDqo^Nonc2N+zYHYb(`> z($e+yo8&2CzpC$wZS|*Tgst|5O6&8^4UJ!4Jk!(k-SgU8(9`tYbJ`XftAQ&)^MoZwCbph3E#p?s2P+p3-yQX3^ufs=O>@fmZib>*yLkNK zD-Zat&wBW`N0%4OE!;fk-398^b2pw^c4mw^e$wpwiW75=6uhxxT`B`T-=u`D?9yK&7Y-Jd%>zje&N3-%7* z7T+ZDz4U@)*Et7bCXP|e3}0Bj?A5d#E0(1Hk@(I0%}L4m&qbz2y&E-e>UXoV=AT%0 ztn}yTezCc6-%ory`Hw8m!e`e`duaW}4>mp=eJEvSTH=bli7W9V#6y!iW`$=j%{x+f zeNI+!=M_IL?6`8s>ekVZN52t!c=}sQ%9p)6@#pwiNzbMAnVp~eb>z)a-;H~9Lc2*X z=BDO7G8INSz=f&lx6*$eASe6mxomjB0>xecJE@gPGD2X4C(0c0qxr^6% zL^q2~9^WD*a>~}J-=u5v&gU1-J+|cBlJ`o_uj?E0YG(V`BQtsxPAp6=Tv0e`{hPDjn2T>&EXFqwmQi@n%HLO##6P{1 z-70h6u=7!}KR5il5yPV1js7}1D(2CV+EG(Sg^bxcW-?Y~)=Zk3@LhRh6^ z`Ch>bsO_xT$k7YkB3ocn!V)sDMiky`j zN@uK^z3!`Zqt>5ZZ&~kH*0Zen!;fs@jj-rLfr*gpSZ!p_ z!}w0mMM|k^n|b(us670OR3834>ORq)p{a`XDeV8!oYx%36DcP(r!}8zzR+CIT+(!9 z7d6s;9AVaHR!(X@)|^6$3eBgQ&&1g1EpVUJoP+t5=4+VWYQ94b7m>%uc+%xG{Ej2n zY;Cr77T@pFN_(+Z+KaT(K36O4g<5HULM!c0X{CLkR@xV6rG2qh+V9s&`vcksw9BzS zhY>#p?%VIUj~!TTX5;03%v7zhVLv|Zuf74EKZcZJ)8I3~Es z^n&z;^oGqFc0btZJqSOz{NN6NJpeKg{(-Ou!aor1?yz@<3*fb9|ZqFa1Vle5Zt5zNvqzFRhl*9&5v+x)w6(jgBjtzJPzeV zM@KpWKG3)?*Zx48Bj5v#`*Q6Mv^fGk(7Z1{3Ii*TL@08UG-Iognp&`Jc^A}|TIK_M zf%Od*sijoEy6arC#iWPY{b&$sT(b`i5^G&|pQ*3Ec-Px!8q!~^{iLqGQM*sjk*(ez zYWIUdHhrM>(We}!myky2Y$7et*(0^QDevtl<{*cz5O1)A#29#RLB}7YmcO2R7 z@C$|vhU@{^1JV!D57HmfAJPkw&TkVW9V2f@>XiYI0g!=^fspmzArkT@pTjv==3tmB3BmfM|2Wa^7_9B7=XGRcR|dpbtsPvaPwG>S=M z8ksb%k#=cppz(}GHR{7;k`KkHGAWeKE6JoWk48PoB!AL;l}X2mj)8O}B$GlZCXJDF z#HfanNv)Q~O39?Llj=sJCXJnxs>-BZLOx_tuc7+WI7*``nKXV%qbQ9ER4X!RtfX@3 z?4U7IGATZdon%rf$t0Wgd?7paTj@GLzE(X_Dmp?G=8Yatl1%FFR4SP?=1`g{lYFS& zWYSnf@g`B`B0Ci<469KigKj$f$}Fi9W9DO$Ak1vCTUr^K9EWA=~!Dw zb}CUSm99Btr`k$((gM|=G)`9_DO74d)rWLPS0JjnWT)0iS4t{_jy>sO2#yD(rR%Vi zk8~ZRD<-9-I!jlihQBL%=QBcz5rCSVK+DMN0&@V43|&dxF%HlX4a5766o=YKqr_m* zPFK!Bu=~M9wWO=5WEz+?7Xu51KgBaJYfS1-21X{u8iX9*6KxHvt%)hjN^=j^Q+$fO zmASQ9dRo3=sijzy!r9Qm5YOWATYv|f#pW<)b4#<6S!Z@IJDTZPp2p@T=BDOm;xAtG zjF0syPHEy9)xsP1+dc85NMF>%*s?ttpD(y7Z(C*E5dS}&)-3Plb zcIgdXKlFcT55TdbJ&^C+F{;oW#P?tvecF5Qo!)w-o!UVhwf{w?U8x`^@O^y9#+ZkxJq}MoO<)soyeDD(DN$UnOUBHrq5oAs3(wKa!P6FtJQjN>#U7Ecw{}DobwLUuMZI{W?oF zd}WM1&YrXSAF2xXKk@5tTMw$mGKG$?>^)`HAs~shN|Lb68Y1TZu1>>O$h< z;}ddolXLRobMi9D&klYW$r(x03*q9MA|BsFz@}zP=4qLV-H3-#F&@UssW8rtQ^coc zOiyQRRBXot@|Xx?$wbDKnF&ewr^e~iQKUc9BxR+i|G(1C1gxrhYvV_R#90&cq&X|j z%HB)|aZC%e978!y9YIh~8ANc-u0y7nmSstUIbO9sEH%x_EC)2h;WMYGuBPUYrumin zpof^(RDq;xkel<+IaLMx-Yuc^uJY9bZhf4l;h+*p#fK5RW67Q^m^3r-!&3xZUpD zGP(Y@{F&wgj5yj|u#Cq@L*5GR3 zzLAu#4PMutxGDHpN8)gBOef-}z`i|*3P<6!0|gBJgVPI`9GTS6=pWI2J!m z$3M~Edl z9hCnJ9K4J8C^#mc_$qka9^!IkEqw)tqng7qV!djDo#2*WH@Fix7u+9Q2p-A$GIYEt ztOqY-J$NPS!Jn|+hx7%k2cKd+_&V#s{=VeLS(fy5!EUe#&ILz<3&BHK?@Rh|tOw6w zJ@_5ggEz3=kMw(35B`Dm;A^Z0`&yqhZ$F&g3&nap26ltnf^)&$z=dEp>&uZomG$76 ztOqY)Jvfi`{-oc@dhiL>gMVc`*zpL~U!L@VU^loWI2YU*TnLV3eFf5|upT^}_2Ac8 z4_?RmilpDpdhij}gDl70m1!IN1Jeueemzq7s; z>9?^S{4MLj7g-O!%X%m2YgEMg!7aeK;LhMe@Bpy$G18A=J$MG|!An>VUe9{(AYi?A zvmX3C>%rGp5B94>>vh&4eI2kHY=CpY(cnVxFxEd#`ths>&tpA!8SBAYSYMa)`&kb@ z!+LNL>%o;PWBv6=-x%x$M}l*~eZYm_B-Ym_{Z!V27qK3^mi6H6tZzX2qpSyCVm%oClu>OXmZv}RPyMlAUao|F5D(f4OekRw0mvFu@zr8yo~ehD8GgC;QgErru-SsgNrzCP`+|? ztRLJM>@+DK$$4-e&WBJwiSyv8oDZe^BF=-?az2dm+c^(D%K320U*bIYKIbDSANVNN z4{il^x+vcT>;?}2uLh3>UjV-VZXQYc#o%P{``{13UxNP^d=wnsp7g(fCxGvQKLOXM zLF@OAqWTu#f#A;IH^BqIC%|LCH9L@g2J68~SPx#$dhl-6cO?DytOs9XJ=iaR)_Ve6 z2VAog=?(Bea5VT$@G#bc$FsgO>F2Q?yo~kWEvyIcXMGpapJ6??i1pygfmlDdF}P+| z(no^b;6C77a1!`5cq+KT6Qo}R9u8g$UJl;Qdhk)!cO(5J)`Rb}9voPc)_)q@3f!PO z>AQl5gX6%FTJLIbUGO<@2)Ic! z>3e_^!5-Fwvsn+G4-SeU{R;3%@K*2|@Imke@XxI8LHgUQ2Um5{`qzM)f-iuhz(GAp z-w&J&9tB%m{K9(QDN^-~{kR@JjGK)`J7<(E1xaOZwK}1aLR- zO7LLtS@1a4$C7?7>%q&wzkxpi=MA9xgW&E1iO+#&gZ~N62S55at=Bh>>RW)jgS&ud zgX6&Y;562|N&h12!SAvj{4wjn1*{)L`ZKHt-(o$uYF%1yJ~#;MJDBtx!9BsT;2iK6 zZ~=HGIA93r-vY;iH-Hy|zXl%zpJM$`(%)n~xKce@?_zLc@G)?EaKJFq_XEd*lUWab zf%V`wS^pgA*Rvj+&wB8WtOx(WdJpN#*QfQyf*XJrgCoGlz`el%!%3gSdhj&XgI{Mo z_yg9*lYS?7Ah;0xCioio1o)8#v|eWd>Fa{s;81Wb_-SwSMqwlZidxgcRZl;7X&37l7Xd zuLeIchVt9M{{SBW=ZvNNC2#@Q`h(WR_fIOMQoa_rC%7#*2mBQDBdN+Zag3U>k?*RS){4BWTWXg{QUk1+rube{pTyVlv z;*Y?)zV>XMrQZo56j-H^8G-lY>&yCfv{>u?;lFU< zUwEHY`Hl5eV14m>tHja3;o(Q1-Up;5z)wT@vFZbf;>WBHM2jDus!@81`#_4G&^{2( zE`GTCV7T~cuZI^$->uYBW`4f>z*A}Ov6AA`JQI>K$ET#HIrz;}*=Zvjp0O!olIY!t z`0;pGyao#56b;B4>FS>ppXl&p#AjtCWu|pYPtAzWOtSTDt@D-G)^K?EFeQPKqm@KT zALIWFn}7X|R2||dIThY^c)ZWwCnb&lOEe?h`u`DHmPNeytUp*zVWmFXd)^XdP|Z=O z<|tHi6skE2)f|Osj>0rYVVa{b%~6=z&HAmsXk-hhe#oIx#csnQ-ZwJNV?Vwn^9TbbVgJSV^P%PdKs*4xxuq)+G zEuyL?xmSx?)s@_>MXl;f?$@GLbtZRgQLB2Bd$wIGH*FDB8z#4HQLDC0Zrq|)ZJOM= zMXlO4xp~{Qa`zTdwQq9&7PV^MX6) zR_&YI%tfu*H@TgQTD5O-L$_gu&?RbQp9Ub|LxR_f}tYgKQhuHKT`Qdh4XRU207 z>a}atmX*4C?OL^IrLJDPR&86UtGA@K)YWT8)xMRwdhJ@ZZ>6qYyH@R6sjJtnRr^-z z>a}atzLmOqOKMA9y>?XXn|}4mpP=n)T25Ues`gDzU7}X)o1D7rS~+!zsMMc_B7O8rRRJ|F&syQQAb!P;t_KaZFpAoDY zG=f!!MzCtp2v$8B!Kz6kSaG?4x$e(hP>e~tMyN; zyy-8i^%G)R z8ACo45C_qR8ACo8kkxuG<--A4t@lzsAduC1FXcl5QLPU(hCbC8@=<|2h~7*2xIk9x z*QI=9AglFW%Etz>TJNPk-Wd9PW9S2pp-(u5KH?bqjAQ6Sj-gLEhCb#P`kZ6vgN~t3 zI)*;#82YSZ=);boPdkP_?il*KW9S2qp-()9KJpm)%wy<7kD*UJhCcQf`rKpagO8z4 zK88N}82apE>a&lj&pxI;`|^S)kEzc-rat?ahC2J0`s`!s zvyZ9IKBhkVnEFi`Q=ffI{WguM&pxI;`NjpoefBY}TQ~OW&r_9lSbx0aZ7X8^W?k_s zz=~PFF6cYQ;p1!lg%RtY!!gqOa#PyT(Bb1(t$~lj`Y&StKd;9FxC*~m)Yke{rIZB6 zo<;lCzmWIA#k_NY9aHi?dc?JB%F;m%@7Bv1{Mz-P=$%)sHcYKk zv)Pza&(_{haY3jgR{GQ zZV&BM=iK&dcLw-Hy*4Q3?EYofM;*J9@!`C^_j2>2KZz@t(WdNcovy4re{jx-!3~`g z-(IlQcj=e27tY;Lv005{{(la++V1y{T-kA-w;b5ccj~>Dwni@~YIwMA{hzac+;J@I zanJs|$s0qQS7K|l-*a;5t%d#0{BrQ^KjV*|%kD6@!u*cgYR6pI+ig;vW%GAr_3&vl zu&pBs6gLO|T7zrXZC=EcRC{ayd={Qsx< z-DRfsd3oWkifOG6EZNq7RhJ%n7Vqzxc4yP!pmp1tA9Ogwo>_E0XZqHAO%9dYkXSpo z*7?7MyM3anY&_I=T!nq_4ypav#l*v9J7?cp>ND(!-{y4B`&w%t*t={S!RrinCewTmxF}81lbJL%11TLRDb?CJvuMAF) zn0~qAllk?&{`K;N#&MsH_P;d1wf;=U&n6W(M>h?)GOXOQliXGJxq>HV{Pta|nRlzU z{-)uvUAKGP+*7?C>J^-WyzQ+rYFB@167?m{4Ws zuC09&UM+g=KRv(yPJbtFgqVRI2i2*~Rhs3zL)M@6=u~BJ$C% zM{oc8il`1Pum4y0sQjyk@28DQ>sjTwiUpnMYglXUkoH6NtzC8H^Ov@)D$2RjV|%BXt+!QpZ&Kl?_oI$7jri)>r@)EP#cgVk{tPJdp%VVo4Lz z6O(BENo+9@)F_rHnix$?6gBn~6O&kCy!ZF)&K-9YMgQeZ-uHGt-+89b?6b2oJF~lY zhj0IQw+3S}1!K$&)By!5#uhP8*cfX9+R7P=jU8+nK3Mc}HVT}bjJuHqBPdVWVq?=2 zW~EDZ$?cq9p}Q2;(Myu#R+dF4N0y^AHa0CiV{Dq;t9<>g`$$2xc?_G|mcX6oS5`mD zFLq)=^0b6hL@J-3mFK798Q9#m{3_OOTv~eSq$v}4g!1{dY9|E@lS$I%w&e$vJ8iMC zOVc z$EIbbjGdYsJ1sr6LjBy4o;InqGe&Nzk8Q)X;pDD(9-NO?TOg%uOBWJ0a^L$rjE_%` z7o&)#A#Y;1T~ z*kB%J;4!0|-R>sIO`(o?kva^ZaXJ6-lhV>V%<9sqL&lUzx9+;~D#THDqZ?zV75L9T|Rb57yz{xWs|1(!s~SeG`8)uK3nwjJ;%JYX+| zbUbb`f`hRI=~WJHo3$A%RL-Rie+*vTI&j}>zMuK^eEr&5>KCY}9M&Mp|kI95E4-nU_UFUS5oa=hbNqJ^3HqDs$H| zlYgN#ea|#b1gCFmQ`)Km2*=DQ@wfb=v@x=vE^UV)t>*etE8@?2T|y`=iPN%jBpu?NmSF~>T8W+U^Wqv>__%BkBj=b7%BEpF0rZr*FQ6q$=I ztHSeChY}bwL51dU@;ajmmlfgUZOLFPOtvqlROqeV6z(pAsdV?Dkh;%PWeNuUSvSG9DK+UQDVvXQXLLUv3gTiz?deg$P&Y_@G6pH{Z>+X2F>{BFth9EBYCS z-tdd@jP+A**3FKvTnsC^sEUwXgzqP~7mAP_&$%GIG$+oIIa%80Zp6=M*~OZ>doCB56^9I(_}eq%(*CpS?+`t zeXk0W-HDJL?4#b)y$v+pV0J(Cra5h7MjvaUG3U0`q&9tHgg!{BH{U9&?(MLmD`@LM zI#jnW(hZHU9G9wl9KLl?-7wjWoHJD2@xfHx+QCMjg9sY8hOx-p245L-exvHv?r*g0 zH{#ToJkF{^52L!b!Yx+E>V{fwAs?sOBD?NhVr^jy_mcVCvQ_qW&Mm6z?QqM_W}o8` zmS4l$4=D@}J|3#? z>Fnb8aXLj{jw~W*147>9KM- zRi=BeNxiA3sFy-1hYW4eMK_$(UZEa1Wt--q274UC(@QP4vd>Tzj20{6-OauwR^k>4 zES8Q3l_)maYf)@(o9di6)Zp@mFv4?9h2kY)v>e7&5vmTy)jOmZ=d7LoK673}a|^mC zdK^I|aZPshWh~S(ce|udoa*1R?~08*-fX#MMo)=meIcHXd9$*2m}O^J(OERcooLY| z)2Xq4W3>Ec%=unGgG_E9gV~^g$>$h?y;h-dbACs|+N_K+T6Rh;=t{cWvd3uo z9ZloMaLXksgfchh2JSUkt{Bk;hgo(@jefV(=#}26ePCbYKG++Leka<|U2D3+B<7)W zN8NVgGC-3G{k?}+`7vTm#is9r%JZgwEUf4}uGC{_-}O=XFxl_uq|o$7wG}(5wnm>_ z2%3n&Kx+Eesp%_w+bjM}h9cBbYP9S|&41uEN5yo#5&fdca@Ck~P6)S@nu|)&6_$p} ziqS}#D-c=t7;K>mna>H-{Ek@j^B6o(-}AU^<#S@pxh6V6$?oz*)1n{KHAd@Ub50Q) z!57pEC!o!vA_u`9pW@tzlH80h7Zql7zuGBhZZVVGv)Uo_IN0S=f-vpXra5!B^RRii zDmH&9rlv5Z&mqgTk;YNR(Z(^x*wMQjuMemGRvM@O49{z=5@d8Pb!7wfJD5SD^@O8; z#6Ycb9H^ZmJ}pKJN_~>z_n`O~$hSeTtxBYduw09<+>%CkhlJsIzOhJ%sNt5Mq}WtO z6|w2oATP)V3AUkUxM#*ZM={#Ha?A@lk9&WNarqXLkfFTsY+EvohW5~qxzY5uYTr@#mwt8RhFxc{RWIq4>WPB zk$5J@qLeTA12~-#@B1 z&6b(1JB^l`#;nppW7f^A^dGKzmK`s`aDRg_5jRhHePw2h{TUxG`Xjxabf{Up&YwIY zs$SF>l@uZvy}&@pSKjZ76;4yIcM+opkYe9=`vdOh0um}L+3tL2X5(xLjKUdO|u z&aBG*ENamo>L<~Yp(%VNHWFXorqoDGXlQ68OHhxTn=19fJL1VUA*81@e;U=!vX^3s z?hv>!0@&SRc<^5Jq9SVJi*U2@2`r|(be){ygj#M`^R+lE>i6ep&FFudi6x4&8OIY- zV5TdNTFo3Pe;lf~H{5a;&GwQN#~ER{fw7|}OYab2xr@PiAtF(mMCC1~B_*PV?`bVb zG+NvcbDo?<-5!<#yLe8Z}#X+1;d3T#JQv4^pW)c$a!nPcdY4iFwgU z^}XmWorE$haNWW815}dv$-iH z7+Nm9isOaeOw9jeBI*8Fu?1#q!41r{;dFspBP?gHdfD_HD!XnyVBOV6y*YHQJj}XR zOcRYX>dnPw%YHNNwvk(d81x%n81c-x-M_+Ju^H`6oKb#-+pjef;V=6NH%k6y%iN9O zdAecf71I52UxT~tyRwY-ID62OdSNd*Ww>)Qk2?@*xrQ)L^#WY2?CMPW`ByJP3zj0` zuCH&Nep>H5<+Pka-0@+ql&1=BBzC0XmgAw8pRDlS>YVpb6aS-hXg9v1xu#{WIp?Ax zU5Ln2_P5s$_dc};Cz>p^qtJ7it%oyyGUwb?s26;QTbi)E+Wm2pOjG(>uZ}b4b@wpm4k-@LQ`R$Eel?>*3(t+%7$GYT z%PBNOZu0*Fn!KCC*r&8KumcwjZti@0U~SeCu{+cTV4kd7bI?gm}N2qsIBG3QL7k{4k`cLa&=q68W);g3;qkEBS9lzWgVA1X1}B@|!v#Q7kLiTb6x7za&@ z{>T^;+Rd~@z3@*sVcVV&soqrIY~7W0yHLGgKRn^gI$LP`6qRRLx3koXbf|yX{eyZ_ z49?3gL_uKsFHp;61x2v+Z>HcA>P2rL?V^3^MFX%34n-=Ez^;|;=s_H{LgCIwoZ;(m zzRL82h<&JN=g8@&9!5Qvdr^-|^M7M-afTXtF@8#C6oUk=97!YDw+rEuIw^Z6ok2|U zYIj9|r6i}cutyd`GSH`oFr##XW28GAQ8Q%`($9tR7Hh)NhwUaO)Usb4`V~L_>TuY^ z<_f>8xyMm~T+{=d9_Hxc9Z>3H;g(`Pi!K<1`bx9tU13G%FpJ)Wx%JYq7~5rEpcT;+ zdT?W!LMt1ad}xM!>Iu5qX$t+T3{zNTNT{XoMoD6*M+s(*MJT2)+)_xnBim3D&ByMb z)kfqtFOsy3d9-c5j*dR61#*+^L}ONJkhXarloYPPuv3Hq=TBNgLP6rX%q~nt_uGzO zSlJPrimvPkisQv2z_gtfy_(WgxiHy%_^YiPI5u z1Wz`<=MfmyCg|}NChev#kaH+*7SOo5V|)LduG{*#)DdI44m(YANluJ~>UjbPHr#}zMic!qNQ9bNxtaQ*M6$h4y59G}|v z5uzrf{x%6|Eu;w_0h!!0Sr7=adLLc`4ObfDp&gkI+Fz&IfvT+nS~S?Qh#+8^*xHzgL!}D7=`+)qsHvBQh#;K zm~$Q#zFkFy|Kj}>Dx6SkU*luzUyViQ(O}N?GI@N5NObzF7=7#! z(@%$5F7d;;Ty{8DrNjBF;^AEGM!k1g|BgF5^}?a>TXaCe?|=( z^&8cLnvNb7ykxInTR#6Z7M(-=&ZB-;5eHX@SU-C_s^1A-zpu;c_Z{l@6K`Ws_fK|p z|6~fjv<1pUzc;W57hGZ_18%xr)r-=xu5fu4R`qe| zE5`rAfrv)bu`I_0x-0ZUNc(Lcu;h~4a>70cM)NZc<|1V(ob7%WM7o74cw5I;=zD) zY5WciT#+WuP{0-B$uEs7beN&tQnsY4jKQB}m|&t&{uMYWL+qP z2L|n)CSJOc;|<{Jg^JA z9d6`s!ZLKW_DuT1{oWovxI09{{oXZcf#6r$*lD@8gU*{ebg!f-b@*P}=(+c5twn{% zS-o&Brg_p(`WFUy3`DjQlo}mw*+~;D%&mqDKsI=q;W)AC5i%0Dy0W_%NOAHEG7NJD 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 Date: Sat, 7 Dec 2024 19:38:10 +0100 Subject: [PATCH 2/2] Use unicode extension to normalize sorting accented records --- lib/music_library/records.ex | 2 +- lib/music_library/repo.ex | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/music_library/records.ex b/lib/music_library/records.ex index 2b19c6d3..8f90bcb7 100644 --- a/lib/music_library/records.ex +++ b/lib/music_library/records.ex @@ -52,7 +52,7 @@ defmodule MusicLibrary.Records do initial_search |> order_by( fragment( - "json_extract(artists, '$[0].sort_name') COLLATE NOCASE ASC, title COLLATE NOCASE ASC" + "unaccent(json_extract(artists, '$[0].sort_name')) COLLATE NOCASE ASC, unaccent(title) COLLATE NOCASE ASC" ) ) diff --git a/lib/music_library/repo.ex b/lib/music_library/repo.ex index ce6174f6..a6967044 100644 --- a/lib/music_library/repo.ex +++ b/lib/music_library/repo.ex @@ -11,26 +11,29 @@ defmodule MusicLibrary.Repo do end def extension_path(name) do - [arch | _rest] = :erlang.system_info(:system_architecture) + [arch | _rest] = + :erlang.system_info(:system_architecture) |> List.to_string() |> String.split("-") {_, os} = :os.type() - platform = case {os, arch} do - {:darwin, "x86_64"} -> "darwin-amd64" - {:darwin, "aarch64"} -> "darwin-aarch64" - {:linux, "x86_64"} -> "linux-amd64" - _other -> raise "Unsupported OS or platform" - end + platform = + case {os, arch} do + {:darwin, "x86_64"} -> "darwin-amd64" + {:darwin, "aarch64"} -> "darwin-aarch64" + {:linux, "x86_64"} -> "linux-amd64" + _other -> raise "Unsupported OS or platform" + end - extension = case os do - :darwin -> "dylib" - :linux -> "so" - end + extension = + case os do + :darwin -> "dylib" + :linux -> "so" + end Path.join([ - :code.priv_dir(:music_library), + :code.priv_dir(:music_library), "sqlite_extensions", platform, "#{name}.#{extension}"