6TF9鱈o3GwY9"w$Sqku6Èc 4ѻck2kJq*qiRB j"jI'4&e$U0ԣc]K\C芾6P@Pj(b dc)l1];Ǒod(\07137AHsBzO+X|fzu:CNStMz\3K.?m1DPC+7A$>D[U9c (P8mgwA@2y$^ʝE)YCہ0*Jqx.Bʛ go*sESO%`<ۼݒUtt鼽\E+ ۸q&^?P' (ܰFeE2+P/fRk?UJ# ,Y[f.<*ʮCru$rmQG1Ʋ5- HVR#9.td [aΓ/bAK8`GN{Q7h)9#0D+4'/Qg_59"0Cϲw!<\7E'(- BzO}nկA8KZҮ6o10|"cV"N-.裇7(lg^"D:'I:A!_F#^\-siϙΗf'`ׁ'e~c1, :xGSiɱľ*8qc\cLCuֿaQzom/wK_Lv;z։P4q|Cd|L 5A6} =0`q)h"&/Q"L咮!{KLl'tbT/ _@X&4F9I2o Y/7BAANRȼM.ڧx@˃V[ۃüOq0:SGDW6P ջ1`$?TB{lnlFF> 0^Vg:Zf$E_B[Z" ۶yX>*&;~D) (6`fybTx3cRin 6YřX}~s #s<~ih̑+H72l8k9cA^AM~$ѴF j>ן`=mw?M}5>8KԿ @CAū4FxwQ&0V^ .N\A8`$D$X/h mTF]RĜHS֬$TWXWN?xFyӥVmw'69(i0 PsU}O6E}K v%m-"ՙ(?a'иU:~A֕ӴdrZ5P>q1]rIo,E|=SE/fl2P"v\.t3o:F6c5̃آ'ߊ=KtH%^/ !d+eE?tQuzu#V!G g~R{F]z* gNVlGCxu:c&zEݽ "SQqu&R`o; l, Z-KJ} +p=^HTVviLPM98Qbw:UkD?_N&<ж*OaƁ * A[ A86Mx=MP<^qcP`A!68׈E - 8 v84=6p4rözFrM ~Ýih̑+H7,9.W9/ CQ48M,`A<qח~ Z"m.q"{y.Kf\ydq-{;{Eזn*u^7tÒ~]G</y hx@_ *E}W2|^[[`~^S"'7%\+|*hGs:/ynkR_g k,eQ_w2aб@oLu Tf#]l4kx"ǖ}?uXDN3v+ Ha`W3AЧ ]$ ̵e-"&do(,j{ &8hqex0/a;-s0h7Ơ(&lD9C@4I $<]eGW<;36~5ՠ)kvZY+ HawgFN5K]OGЃDNJZfL|s8~ՄOX3 ~ 4?Ÿv%7*}JN0 hqK+FI vvZ ^mBN<1FZ =ٔs!fӘhhp\>IŒ1>~4:_M h "s1;F4<Y2cOw8"@J/s:=}*XqpmPfL#%ܰB1!aj~<4Pbۨ<͙$+͟ qŽcos0wԑ6I[q6kb?M3B -K)^-.裇7(lg^"&Ou*UJ#g\-w_@oLu Tf#]-ךҸšJkuد3x22ԑ^~/yw'69(i0HGLYsr% =$|s8~Մbk/}4v{zpj>F$qOGM#eHS ,nL32E5X&3wϭmwg '6.KkFάHPpN4,29 jVWQ#UxmJb.f~f7P8K Ɠ D}A*teBc7bp;^{A*T "1)'-+r?-.J3V:{UTbvt0W-KUiBT D5KIv+1+gBPa Z7ݥ0r,~cP~_"l u=% 3Ma+]:!JcL[h˸]+ľޫ-Lfϖ) NmuMionConstant->name] = [ ++$ordinal, is_array($value) ? $value : [] ]; } return self::$constants[static::class]; } /** * Returns the name of this enum constant, exactly as declared in its enum declaration. * * Most programmers should use the {@see self::__toString()} method in preference to this one, as the toString * method may return a more user-friendly name. This method is designed primarily for use in specialized situations * where correctness depends on getting the exact name, which will not vary from release to release. */ final public function name() : string { return $this->name; } /** * Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial * constant is assigned an ordinal of zero). * * Most programmers will have no use for this method. It is designed for use by sophisticated enum-based data * structures. */ final public function ordinal() : int { return $this->ordinal; } /** * Compares this enum with the specified object for order. * * Returns negative integer, zero or positive integer as this object is less than, equal to or greater than the * specified object. * * Enums are only comparable to other enums of the same type. The natural order implemented by this method is the * order in which the constants are declared. * * @throws MismatchException if the passed enum is not of the same type */ final public function compareTo(self $other) : int { if (! $other instanceof static) { throw new MismatchException(sprintf( 'The passed enum %s is not of the same type as %s', get_class($other), static::class )); } return $this->ordinal - $other->ordinal; } /** * Forbid cloning enums. * * @throws CloneNotSupportedException */ final public function __clone() { throw new CloneNotSupportedException(); } /** * Forbid serializing enums. * * @throws SerializeNotSupportedException */ final public function __sleep() : array { throw new SerializeNotSupportedException(); } /** * Forbid unserializing enums. * * @throws UnserializeNotSupportedException */ final public function __wakeup() : void { throw new UnserializeNotSupportedException(); } /** * Turns the enum into a string representation. * * You may override this method to give a more user-friendly version. */ public function __toString() : string { return $this->name; } }