[Kimchi-devel] [PATCH V3 1/5] create a new login page
Aline Manera
alinefm at linux.vnet.ibm.com
Mon Jun 9 18:44:23 UTC 2014
We should use the default kimchi style in the login page.
The same header.
And instead of the user information in the right corner, the language
selection would be displayed.
Note the background is silver and the header is centered.
And vertical and horizontal aligned would be the login form, like it is
today.
We should keep the same input styles.
And I also prefer the "Log in" button to change to "Logging..." instead
the message in the form.
On 06/05/2014 01:10 PM, shaohef at linux.vnet.ibm.com wrote:
> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>
> this page is used for the session timeout or first login.
>
> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
> Signed-off-by: Yu Xin Huo <huoyuxin at linux.vnet.ibm.com>
> ---
> ui/images/progressing.gif | Bin 0 -> 1152 bytes
> ui/pages/login.html.tmpl | 220 ++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 220 insertions(+)
> create mode 100644 ui/images/progressing.gif
> create mode 100644 ui/pages/login.html.tmpl
>
> diff --git a/ui/images/progressing.gif b/ui/images/progressing.gif
> new file mode 100644
> index 0000000000000000000000000000000000000000..6552d41d9d4c874091bb51931c6adf64a95e8bd0
> GIT binary patch
> literal 1152
> zcmZ?wbhEHb6k!ly*v!E2|NsBHckiA#b7s?~O&uK_IXO9 at p`oUxrgCy}4A_9;e{Mh5
> zkYH!W09PYD17=2`8pWS1oFWVy3_2k7AY&O=+5}E^`WY^hIhD at I;2`qkhUamCHs#2?
> zD{Sl5ddqAu;o;E8n07H&VTOd$9w+z3Od8dz)1OOlg at hfQ?6P6gg)Nhut~h8s_iHy|
> zTx?f<DfNuF4qs+in1T70o7P)P87f1<g5(0~t-`bz%`;<c7;R*Hby&0+Cd*D$nyx)7
> zxH>hoEs9-2GEYbl<TO?^r*$AZO&~F#<dR{_!xK!0-EtLPZ*p|yWoF`%>SmZA?aQ<9
> zUT3kA$h=8X2{%vLaEeZ2FfFvxHCy+@)2xTXXx&nW19L8~I4mhFCLSR*N5YUN_g8RC
> zxvG$d3rC2Yoni>Hr8Z+mk+UtMt&Fyriq3S|nYyz*lh|s_)v7fmBnyPWjzbSOeSwpn
> ztM^*GK3gr at WX{W=;H4 at s$Eix`o#&Z+UC|vq;?Mm$*qz>q{MpOLKD$V>lW^GM at gRp<
> zTfqAxmTMW#NQtz1Ow(GUENaLTnG@~OSSl%)a-~@^*=_L^Wu6LazRZG$dI^iu%U-z%
> zg<00g*_8=1ySk){v9Pk(*~<9qvQD2qQDdsojG1{NY_a__TQemj7eK-u-Fqm>f>utm
> zWMS=L&jJU059 at Suul#8<RCK0juuU^pO9X~|9`=wYHdzoCYCehQmh?GGSt;IO&EY61
> z^|cU^WKC}pQa3GC)^bS)J5HFrADAqr$@=Tg_KIeUMR6Q at nr+9QW_y9zNsLj!T)@YO
> zmFW>EN`0IXPrZ>S5M3ptD%hrTMQhc8T>+_g4tF#}E)IMpc<k8J3C>bEce!tTI4V-^
> zEEL|{;B8wW%<SUK!k*>CY&#hksVX{CWv466RGb|aXRcN%49rjY*aHrnWY;d4a(eT<
> sn9_<U58lHODbH9KGQC;#6 at s@G?AG7t-SQycLr1Fr#FC=U9tH+$0KoWQ9smFU
>
> literal 0
> HcmV?d00001
>
> diff --git a/ui/pages/login.html.tmpl b/ui/pages/login.html.tmpl
> new file mode 100644
> index 0000000..0e4bb0d
> --- /dev/null
> +++ b/ui/pages/login.html.tmpl
> @@ -0,0 +1,220 @@
> +#*
> + * Project Kimchi
> + *
> + * Copyright IBM, Corp. 2014
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + *#
> +#unicode UTF-8
> +#import gettext
> +#from kimchi.cachebust import href
> +#silent t = gettext.translation($lang.domain, $lang.localedir, languages=$lang.lang)
> +#silent _ = t.gettext
> +#silent _t = t.gettext
> +#from kimchi.config import get_version
> +<!DOCTYPE html>
> +<html lang="$lang.lang[0]">
> +<head>
> +<meta charset="UTF-8">
> +<title>Kimchi</title>
> +<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
> +<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
> +<style type="text/css">
> +.login {
> + font-family: Arial;
> + margin: 0px;
> +}
> +.login input.invalid-field {
> + border-color: #C85305 !important;
> +}
> +.login .header {
> + background: none repeat scroll 0 0 #353D40;
> + border-bottom: 3px solid #008ABF;
> + border-top: 0 none;
> + box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
> + height: 50px;
> + color: #F8F8F8;
> + font-size: 13px;
> + font-weight: 700;
> + font-family: Helvetica;
> + overflow: hidden;
> +}
> +.login .header .lang {
> + float: right;
> + margin-right: 20px;
> + margin-top: 14px;
> +}
> +.login .header .lang select {
> + vertical-align: middle;
> +}
> +.login .content-pane {
> + margin-left: auto;
> + margin-right: auto;
> + margin-top: 200px;
> + width: 260px;
> +}
> +.login .content-pane .trademark {
> + margin-bottom: 30px;
> +}
> +.login .content-pane .trademark .logo {
> + background: url("../images/logo.ico") no-repeat scroll center center transparent;
> + display: inline-block;
> + height: 25px;
> + width: 25px;
> + margin-left: -4px;
> + margin-right: 5px;
> + vertical-align: middle;
> +}
> +.login .content-pane .trademark .name {
> + vertical-align: middle;
> + padding-top: 2px;
> + font-weight: bold;
> + font-size: 18px;
> +}
> +.login .content-pane .trademark .version {
> + vertical-align: middle;
> + padding-top: 6px;
> + font-size: 13px;
> + padding-left: 6px;
> +}
> +.login .content-pane .message-area .item {
> + font-size: 12px;
> + margin-bottom: 30px;
> + margin-top: 30px;
> + height: 20px;
> +}
> +.login .content-pane .message-area .text {
> + color: #C85305;
> +}
> +.login .progress-indicator .progress-icon {
> + margin-right: 3px;
> + vertical-align: middle;
> + width: 15px;
> + height: 15px;
> +}
> +.login .progress-indicator .progress-text {
> + vertical-align: middle;
> + padding-top: 2px;
> + padding-left: 2px;
> +}
> +.login .content-pane .hint {
> + margin-bottom: 10px;
> + font-size: 14px;
> +}
> +.login .content-pane .field-area {
> + overflow: hidden;
> +}
> +.login .content-pane .field-area .text-field {
> + width: 240px;
> + padding: 5px 7px;
> + margin-bottom: 5px;
> + border: 1px solid #BABABA;
> + border-radius: 1px;
> +}
> +.login .button {
> + margin-top: 20px;
> + background: -moz-linear-gradient(center top , #1783BF 0%, #0C4C88 100%) repeat scroll 0 0 transparent;
> + border-color: #666666 #666666 #555555;
> + border-image: none;
> + border-radius: 5px 5px 5px 5px;
> + border-style: solid;
> + border-width: 1px;
> + color: #DDDDDD;
> + cursor: pointer;
> + font-weight: bolder;
> + padding: 5px 10px;
> + float: right;
> +}
> +</style>
> +<script>
> +function getCookie(cname) {
> + var name = cname + "=";
> + var ca = document.cookie.split(';');
> + for(var i=0; i<ca.length; i++) {
> + var c = ca[i].trim();
> + if (c.indexOf(name)==0) return c.substring(name.length,c.length);
> + }
> + return null;
> +}
> +function setCookie(cname,cvalue,exdays) {
> + var d = new Date();
> + d.setTime(d.getTime()+(exdays*24*60*60*1000));
> + var expires = "expires="+d.toGMTString();
> + document.cookie = cname + "=" + cvalue + "; " + expires;
> +}
> +function validateForm() {
> + var user = document.forms["login"]["username"];
> + var pass = document.forms["login"]["password"];
> + var validateField = function(field){
> + field.className = "text-field";
> + var isValid = field.value && field.value.trim()!="" ? true : false;
> + if(!isValid){
> + field.className += " invalid-field";
> + field.focus();
> + }
> + return isValid;
> + };
> + var isValid = validateField(pass);
> + isValid = validateField(user) && isValid;
> + if(isValid)
> + document.getElementById("messWait").style.display = "";
> + return isValid;
> +}
> +function changeLang() {
> + var lang = document.getElementById('userLang').value;
> + setCookie('kimchiLang', lang, 365);
> + window.location.reload();
> +}
> +function setLang() {
> + var defaultLang = 'en_US';
> + var clientLang = document.getElementsByTagName("html")[0].getAttribute("lang");
> + var persistLang = getCookie('kimchiLang');
> + document.getElementById("userLang").value = persistLang || clientLang || defaultLang;
> +}
> +function init() {
> + setLang();
> +}
> +</script>
> +</head>
> +<body class="login" onload="init()">
> +<div class="header">
> + <div class="lang">
> + <label>$_("Language"):</label>
> + <select id="userLang" onchange="changeLang()">
> + <option value="en_US">English (US)</option>
> + <option value="zh_CN">ä¸æï¼ç®ä½ï¼</option>
> + <option value="pt_BR">Português (Brasil)</option>
> + </select>
> + </div>
> +</div>
> +<div class="content-pane">
> + <div class="trademark"><span class="logo"></span><span class="name">Kimchi</span><span class="version">1.2</span></div>
> + <div class="message-area">
> + <div id="messUserPass" class="item text" style="display: none;">$_("User name or password is incorrect.")</div>
> + <div id="messSession" class="item text" style="display: none;">$_("Session timeout, please re-login.")</div>
> + <div id="messWait" class="item progress-indicator" style="display: none;">
> + <img src="images/progressing.gif" class="progress-icon"><span class="progress-text">$_("Processing")...</span>
> + </div>
> + </div>
> + <div class="hint">$_("Sign in with your linux account")</div>
> + <div class="field-area">
> + <form name="login" action="/login?next=$getVar('data.next', '/')" method="POST" onsubmit="return validateForm()">
> + <input type="hidden" name="next" value="$getVar('data.next', '/')">
> + <input type="text" name="username" placeholder="$_("User Name")" class="text-field" autofocus>
> + <input type="password" name="password" placeholder="$_("Password")" class="text-field">
> + <input type="submit" value="$_("Sign In")" class="button">
> + </form>
> + </div>
> +</div>
> +</body>
> +</html>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140609/e3a20dab/attachment.html>
-------------- next part --------------
ÿØÿà JFIF ÿÛ C
# ,( "74' )49. ',4=<3$.018242ÿÛ C 2222
!2222
22222!22222222222222222222222222222222222222ÿÀ 1K" ÿÄ
ÿÄ
ÿÄ µ } !1AQa"q2¡#B±ÁRÑð$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ µ w !1AQaq"2B¡±Á #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ? õm;à ;j=ä®ÞtóΩV5PQTaQGðÖÊé6]¬G®Pt
Ytÿ =þ´tê¯ÓôXiv_óãgìvð¤]üùZ{ôÀíV°}~£Òíô?ýj ýfåÆÐz>eYÿ ϯРÿ
² Nßþº1ê~Ô[û.ϵ§ýð½¿
eÞÆÔvÎÅý8«qíÿ ê¥AþXiV}ôûoÁøP4»?ùñ´õ?*ñúUî}È«þÈú}(°Ò¬ÿ çÂÔÿ ÀO®(:UüøÚúsúU®¾ßþºCìÞØôÀõö
£J³íckÿ |/_¡©[J²ícj?à§åVy=O0;~Äsôí@gÿ >¿MôãµÙv_óãiéÊå²F: üiH#§=¿ÏÒ*&Ïþ|m~»?¥)Òm;iö¾Ø?õYäôé×·
!öÅ WUk_o
ÙV}¬m=@Ø8ü1VGçì?¥ßÝëÓéõ Gâ1[ØÊÖPE£ahÔ®¬=A5á¿ðjôºÿ ¾«Ü¾'gû:n?çúfé+ç}ôÿ 6§ÿ A;¯ûêþ)ÔüÄî¿ïªËßQ4FB $gå'ÐþPÝ£þ]8¶Ò_uÆú¡?»¿»eû®á¸_ÿ UZź}ýNäzÝ)É¥ÛBsÑ¢tÿ MOû^{¢0Êå¯rÈ?ÕBÞ>¯øÖبEiJM½§êuV¥ì«m¥WþDã@ôÔîñëüêÜ~*Ô|ºÉjiûâ "ì7r×ñ¨fKTºtfûîS Èsé\Qoí@éÄáèòß»ø\³-ÂM©ÿ ÐNëþú£þmOþw_÷Õdï£}jy&·ü$Úýî¿ïª?á&Ôÿ è'uÿ }VjÛÜ,¶F~Ì÷AŨ;LØÆvqÒÁks*³[XÞKÇÕÄhÅmsÿ =¥>äPü$Úýî¿ïª?á&Ôÿ è'uÿ }VcG*
2ÛÎÃ}¼¤äéLß@ßðjôºÿ ¾¨ÿ Sÿ ×ýõY;èß@ßðjôºÿ ¾¨ÿ Sÿ ×ýõY%ñVïtÛa¿´hVD]BÈSçÛJ88Bq¸v8>¢-ÿ ÂM©ÿ ÐNëþú£þmOþw_÷Õdï?¬OÝUQË1=SO9c$\C,N>I"H1°ìè}(OþmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}èDø§TÞ Õ.¶íiÝÕÓûj_øIµ?ú ÝßU»÷ýÇÿ ÑT»è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è[þmOþw_÷Õðjôºÿ ¾«'}è·ø^Üj0¥íä³BVY%NDCÿ t÷oì»>Ö6¾qõ|õðÄçUýÉ¿ôP¯£?×>¹ô
ßÙ]ìm>»ü(Uýí¾»?J²;Oÿ ^húÀÒ+eYö°´ôÁEþX iv}¬m§È¿áVGû#ßO£Þë@²¬¿çÂ×»¥ Ò¬ÿ çÆ×þùÔU²}ý°~¾´=Î;PfÒ¬ûXÚç¦vOÓ
*Ïþ|-}Áó};Õ£¶G¡?Òþ±õ4\ivCþ\m?~I³ÿ _ûàqúU²oÈv&Üv#ü VþÉ´íaj?àü;кU§üøZý6¿Y úcµ {B¥ VMÿ _LlÊì»#ÿ .¿÷ÀëíÅYb;qØJ9ô¸>ßýz ýgÿ @ûO_¸¿á@ÒìûØÚß?¨«8=}£ tÿ õPQ¥Yö±´>ûøQýgÞÂ×þø¯dcÛò¥Ùëí@¿²ìÿ çÂÐûl}ø£û6Ëþ|m=?Õ¯øU¯¹ü©vÓ|ÿ J @G§·4~;þ°¤Ç¡ÀþÔR©õ?¨ ·ùsØzÑõÏÿ [Þc·áÿ Ö vçÛÓèh~ý;Rdzý¦})sÿ Öo c©ÇÓ¸£>¸ô Z1þÐÿ 'úP ú{}h Cøúõ¨Ï¨Þß
ÿ ®=Æ;Rfÿ & :qì;ÿ úèü®(ãøG·ÿ ª¾Øÿ õÐÇÿ Xzz ÇÚú:8?§ÖG¨þßJ >þÇÚólÒzý¿Ò> ú}(õúzLãüú{Ò:cì( zR/°ý:
ð
.sè;ùõ CâF7óÏø|庾ø¦ ÓgÎ3û³ÿ Qõ¯wP¤º = Éô«6̧ý"&NÇ=³ôªð¸n OomjS`£ÙAÏåîÃÓVn-Þ-J'4«ÉJ<¶î ÔîK9Ã2XèOo¨Bf'7uq3©¿ó'=Oùü+wMðåâ±\ÉÃ!sö[Ñ«/é]]ÒãJäaÿ úW&2önkÞÑjéTiû¬Ê¹´+p
XpG¨öúÔ;«§ñ°ÍÎÐz6æê>®Kuii9+]s3:ðIµ³²=/Ã:
æ¡¥4zb#^Þz[Æ,ãËH}#ýjÍñfµojÓA%´Dô¬0Ú¥ú®³týlYÑu[«mScs$,nÄm"¢Ö#üGâ#Õí
ÞÂâÇÄöÈ:J£´ÿ Ôkc#;\³Ô>Çd×Á9ØZÇö\qJ£
û¹ßØcKËÁëÅöÜ·K¡oôÝÊ1öV!|ÆÈ,{ãPøÿ Ä»Lãþ{éJVÿ oÇÉÿ _iéÄ4ið̳µéÖâ/Ëfa,÷`ùÖáMJîá¡!TÜÚÓ&
3¿û-ÅnjL¶×ÿ ÇäcðûZ×In}Ö©
«F·ró§8óÍ´®J£ùêï@>«áÝ.ɱñ7ÒE»¦üLS3íújëüK ÚÜA`Ú-´Ø~É*æ6vO,}ÈHöÍyÕÞ
ªÂßhº¥º¯É4²ÄÁcf<#|ÇßÕÕ|@b!°ÿ ¯8ô
£qá;ëØ"AÝáMÔâ;@Y#BGÜnÙê:÷ª+K¤ºj¦êUs×eqöòòq:gëõcûýùgeÿ £R¹?·úuÇýuýÐê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ6ê7T;¨Ý@n£uCºÔ àß?ü¿ôlU&ê®óÿ Àÿ FÇNÝ@Ãïë]l»ÒS{ró,hÊ0âfJôoüÑ£¶wÐÞÒXÔÞ2ïb·1D2C' ã{×=ð¿ÀZÑQs¦êV¶§æÂÞU,º¢) ¢¬6©c£ãêöÏÅ:ÌO¡§ÛøzO?²½öOÝ
ce rsÐó·QºkÖ3Ũ¬bT;$ØrYAÑÔÐPkÃ:=ôËþ«=»-µõyd'õ#s`+yÀ ½Ôn¯M×þ
Xé´¯|¸ÇÊ-¾kHá`O;øúw$ Myfê ì~øÁþäÇÿ !
úG{oþµ|×ð¨íX3ýÉ¿ôP¯¥1þ×áøwÅ ý=ïjö> é@?ãÿ ×£ÿ Ô>¿þª > cÐQì;äw ÷öúQÛr( >àéàØõ4þÏ×ë^zú
o§áA úÃÛð ü?ùúзÓÛ_j {Gcé@> úqïïHyútÏ¡¥Ëýj A_~;ãÔRQÿ ê {{ãÛÞä{{ýE Ø}:úép{èùô §×ÜcÇ\zéýh ãÚqÐ{ÿ Zzý1ô Aßê( w?·¶(ÀûýhìQÔ;zcÿ ¯í@}ôã°ö¤ØO@}©G?¯Ò§Ñÿ é@ $uàúÐ@ôöúN;þcÔúRî¶~ úwϧÖÜ{sýh$wß_ÎÜöô Ûð>¢w¡>¿¿Òý}ùíKÓÿ ×@¡÷újPséëÇb)
=ùöõÇ ÿ ÿ zcý³ëIÇØújR}zvÐzÐGOÃÜýh#ØüþwoÇ>´Oo¥ aõþ ¯ù4ÿ ¬~¹zÃÞ =íÅ)¼ÿ
½ ÿ >ÝÞ£>?ÔPcÃ×ÿ ×@öä0? ÷ǯÒ?úÃÒßäR÷õ÷Òg±ÿ õûPÞÄúþ}hø«¦O?å¯úTuóVúúSâÆ>?éúw|˾&Y1W±¡I
Kg(£:{ç«7}]Ò.!U7Qï@rê==ô)ÉýµÑ¿#*ËO?µÝÉ(ò̯qMA]Æ£t>I`8+õv®rúÒÆ?dvÏËæàSÚ0}kJ´ÒøjÅö90¸?
R/g}¼±ÂöÀ®«X³h"FÙ
âOø ïôÍMá½
ÑTIu´ÿ f<D öª>'×Vá¿u÷ ò¢£=Hÿ h×
ËÝWR}Ù*·~ìd÷[îÌy¯]þùÍC¾¡ßFúî:Ë˪Ý,eîq?h{PÇkMn1gÀÆqu¦±ynY^ÜB®<¤úJ ò9=k?}èüºÅÛª,×¼ig1"×yçÈRxÜGlS§ÖïdI=ýÌ VíY"Æå01Ï«;}èóê·M&÷»Ïr.Âe9Ü$Îr9Îi%Ôî]÷Íu3ÌO×ÇsIê\÷ϽRßFú ؽñV«r»oõ{ûè#F cÑXVëUº(»»e at -F'ìð§EÀ_AÅQßFú Ò}vù5¦hÂ¥9²XݳÇzcíP\ßM3»Id'|²¹$ÈÇ»±õªèß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@o£}C¾ô6ú7Ô;èß@£|ÇýÆÿ ѱÒï¨coÿ ¸ôlto ³Iø£â;=/Wò`\ù1yQc~wByb{Õßø]~/ÿ ÿ þAÿ ×
¾ô¥«k·Ò´¥Ç;cÎhü´ | á@íT÷Ô;èß@WºõõÊÆ·×ÓÍkökñm=~C× O}C¾ôÛ|'oøCîMÓþ¹
ú\O§ã_2ü# ê°çûèªúh`t_óõ =>ÿ ¯H¡öúQõúqéÿ Ö£> {cµ Àzþ})ztã¾}é?N;ý(íþE />w'ü)ÿ ^ô1ÇQîýTöÇÿ Z ¯¾Gµ¨ÜQAþ}èÝýÐaî>´ ¤z¡íHGøêG¥ê=°¿ô éß c°÷Ç¥ø þ°ÿ ëRö?_ò=(~ýo¥ ±ã·ûTæϯáþ}) ºýßÌwúP{/°üM7ß?äRäwvýj]¿@: 0}O¶;SyìóéKì}=
ÚÇ÷{R{b¯ø
o¿hEè?Ïzcö§¯Aþ{Óµ ÕïøÓ©«ßñ ??çJ½ê)OÏùÒ¯_Ãú Uéþ})©úÿ CJ½?Ï¥#u?_èh¡ÿ =
8tOéMNüöáÐ}?¥ ·áüéOZCÛðþt§ 1zj^ßò4ÓüûRöüÿ ÿ ëR¯zOþµ*÷ ?ÐR¿ø*Cý+ÿ ò Iþ*NÃð¥üþTá@_Å¿ù\Û/ý+¾b¯§~-ÿ È2ãþÙé\uó øéøèJ.VçZ¥U¹ëMõ§Ý¬Û®µ¥i÷k6ëráºú³ ×ÕQEÒu
Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Sþáÿ ÑÑÒRÅÔÿ ¸ôtt QE QE QEÛ| ÿ ¬?îMÿ ¢«éµÿ ?|ÉðþB°ÿ ¹7þ¯¦×üþt þÌQ§õ47ø1D]þÔЧAAéùЧç@õ¤õü¥~´¿ó4 £ú`þÖ?¨¦éýhÉÖCJiô4 õ§·Aø:aéøZ{tó ìhúQØÑ'ô ¿ùüéO_Æÿ ÏçJzþ4 ÷¦ßó÷¦ßó O¦-> ÿÙ
-------------- next part --------------
ÿØÿà JFIF ÿÛ C
# ,( "74' )49. ',4=<3$.018242ÿÛ C 2222
!2222
22222!22222222222222222222222222222222222222ÿÀ %" ÿÄ
ÿÄ
ÿÄ µ } !1AQa"q2¡#B±ÁRÑð$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ µ w !1AQaq"2B¡±Á #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ? õ=+F&v¹¼¸¹ÛíÍ(PY5Q
Tp?¶Å¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢!HÒ$ª
F#s;7Þeþèµcûßþz^ß×ÿ âª;/õþâèoZt¡ýoÿ =/?ïëÿ ñTb[ÿ ÏKÏûúÿ üU_¢?±-ÿ ç¥çýýþ*ìKùéyÿ _ÿ «ôPìKùéyÿ _ÿ £ûßþz^ß×ÿ âªýCûßþz^ß×ÿ â¨þÄ·ÿ ÷õÿ øª¿E PþÄ·ÿ ÷õÿ øª?±-ÿ ç¥çýýþ*¯Ñ@?±-ÿ ç¥çýýþ*ìKùéyÿ _ÿ «ôPìKùéyÿ _ÿ £ûßþz^ß×ÿ âªýCûßþz^ß×ÿ â¨þÄ·ÿ ÷õÿ øª¿E PþÄ·ÿ ÷õÿ øª?±-ÿ ç¥çýýþ*¯Ñ@?±-ÿ ç¥çýýþ*ìKùéyÿ _ÿ «ôPìKùéyÿ _ÿ £ûßþz^ß×ÿ âªýCûßþz^ß×ÿ â¨þÄ·ÿ ÷õÿ øª¿E PþÄ·ÿ ÷õÿ øª?±-ÿ ç¥çýýþ*¯Ñ@?±-ÿ ç¥çýýþ*ìKùéyÿ _ÿ «ôPìKùéyÿ _ÿ £ûßþz^ß×ÿ âªýCûßþz^ß×ÿ â¨þÄ·ÿ ÷õÿ øª¿E PþÄ·ÿ ÷õÿ øª?±-ÿ ç¥çýýþ*¯Ñ@?±-ÿ ç¥çýýþ*ìKùéyÿ _ÿ «ôPìKùéyÿ _ÿ ¨ÜBàG$¬¥L
]ÚÈÃî±õÖµ«:óýbÿ ºßúR ¢)QE QE QE QE ë[ýÅÿ ÐÞ´«6Ïýk¸¿úV eøzi,Í+»nuÜÇ')î}PÓ5¹îg}û7¾2±H~üKZ¨e´Óã¸BÍ-¬ûÀò§8÷ íÖÒ(QKÀÒ8`¦Xç1ÇROB
]¹Õä&û"g|¤V%¥ôQíPÿ ÂGµ$7màÏnÁÇ$ÞúU t¶#uWR!o2ÖVϧ§{Æ ©eÒY Zè±ÚHÀ"D¬¿¾ÚsÞ5ì®.\µÙ,óÌ
¼R éXúÄ3Hnegµó>ÈÅüx¹Q3ü,N¥t09úVeÙ^Bnå?{Þes7q´¼»JýÜb!=7|:Ü»olLÞ"«Ä0}«.ê Ê$,ÌT[J[i 8f7 Å>×G;tu³_)BSæÌäcîAÞ'_ÝaèÌL6YÎì2_\³Öwï¶ÆÙãÄ[ DÊH*àÀöª§L¹òÇó#F÷Kû¥"9ìOlÔ¯¥I$y¶7EµLHVåÏðæ¤%úsÅ´åÁ%¤y±þ§Þ¶kÓtcQsáÛPË×ÈË)üJrHô®
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
(¢
νÿ X¿î¿þ£Y׿ëý×ÿ Ð
(¢
(¢
(¢
(¢
(¢Ïýk¸¿úVd¤Â) $*TD¬¬~ò¨=Aô«?Û6Þ_÷êOþ&hª_Û6Þ_÷êOþ&íoK¯ûõ'ÿ L´U/íoK¯ûõ'ÿ J5oKûôÿ üM \¢©ÿ l[ú\ÿ ߧÿ âi?¶-ÿ »uÿ ~ÿ ´U/íîÝߧÿ âhþÙ·þí×ýúþ&.ÑT¿¶mÿ »uÿ ~ÿ £ûfßû·_÷éÿ ø »ERþÙ·þí×ýúþ&íîÝߧÿ âhíHkÿ ݺÿ ¿Oÿ ÄÒÿ l[ÿ vçþý?ÿ @(ªÛÿ ݹÿ ¿Oÿ ÄÑý±oýÛûôÿ üM \¢©ÿ l[ÿ vçþý?ÿ GöÅ¿÷nïÓÿ ñ4r¥ý±÷.¿ïÓÿ ñ4lAý˯ûôÿ üM ]¢©lAý˯ûôÿ üMÛrëþý?ÿ @hªÚðrçþý·øQý¯÷.ïÛ
\¢©ÿ kÁýËûößáGö¼Ü¹ÿ ¿mþr§ý¯÷.ïÛ
Úðrçþý·øPÊ*ö¼Ü¹ÿ ¿mþkÁýËûößá@(ªÚðrçþý·øRkÃÿ <î¿ïÛ
]¢©kÃÿ <î¿ïÛ
Úðÿ Ï;¯ûößá@hª_Úðÿ Ï;¯ûößáGö¼?óÎëþý·øPÚνÿ Xî¿þ
Iý¯üóºÿ ¿mþ^IÄ®qȪ£,ãF_º§û¡i%QL( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( K#Y[Ê&>UõbHê}é<Ûú^ãü] MECæÜÐ2óÿ ÿ âèón?èyÿ ñt5qÿ @ËÏüsÿ £Í¸ÿ eçþ9ÿ ÅÐÔT>mÇý/?ñÏþ.6ãþøçÿ @QPù·ô¼ÿ Ç?øº<Ûú^ãü] MECæÜÐ2óÿ ÿ âèón?èyÿ ñt5qÿ @ËÏüsÿ £Í¸ÿ eçþ9ÿ ÅÐÔT>mÇý/?ñÏþ.6ãþøçÿ @QPù·ô¼ÿ Ç?øº<Ûú^ãü] MECæÜÐ2óÿ ÿ âèón?èyÿ ñt5qÿ @ËÏüsÿ £Í¸ÿ eçþ9ÿ ÅÐÔT>mÇý/?ñÏþ.6ãþøçÿ @QPù·ô¼ÿ Ç?øº<Ûú^ãü] MECæÜÐ2óÿ ÿ âèón?èyÿ ñt5qÿ @ËÏüsÿ £Í¸ÿ eçþ9ÿ ÅÐÔT>mÇý/?ñÏþ.6ãþøçÿ @QPù·ô¼ÿ Ç?øº<Ûú^ãü] MECæÜÐ2óÿ ÿ âèón?èyÿ ñt5qÿ @ËÏüsÿ £Í¸ÿ eçþ9ÿ ÅÐÔT>mÇý/?ñÏþ.9É8 bo¾Àùý¤ô>ô-Q@Q@Q@Q@Q@
²ÿ Zßî'þõ§Y_ë[ýÅÿ ÐÞ´è ¢±Ça °j>P&7¹
®ÃÉ;X¥kE*8&¤FĬ;}E :( ( ( *:<®0
?÷̹ê=±@(¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ +:óýbÿ ºßúÖg^¬_÷[ÿ BJ (¢ (¢ (¢ (¢ (¢ múÖÿ qô6:ͳÿ Zßî/þÕ¥@¶¥$L¶cE¤Êû(ipcOugR(ôżd@ûå}¢8ÉÇP,G§¹mg#Ñì\
äýç9<SPÞhön`ÜÃäI!OmÊE söÖW7DZ!rª^9ìÝÈûB aýb¿b[E¹3§Ùù.åMÞÙÇÞ秨ޱ* Û°UϪì6o9?0?Ä}édÐ,YTmª¹XUÀÇT¼h'íVÉäIkC-§NÖ&x~¿rEõªÍ7é+$å.íÇ÷Rñ¾oûö]KéƶO'§2:õþô÷ÓÙ.¥»ÿ Ï5aØoþµ c3È·Ê]$vvä7NHPzçj¤di-ÔK+Èx²I ÿ Q6>f£èo4[;
ݲ»\ÓزÅ=´Ûbª¦¤KkÀã<c2/ôûtxcDò¼Ä¤4þtý&Ê.%±ìM±°LÝ3Z×vN¸»
d_¼ÿ êG¥Ge¤ZÛçì'F,Ip¾¥é@è¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ +:÷ýbÿ ºÿ úVg^ÿ ¬O÷_ÿ B
(¢
(¢
(¢
(¢
(¢Ïýk¸¿úVe<$Å466oL|ËèÊÀµnè%uÿ |Çÿ ÄP¶çþW_÷ÌüEnè%uÿ |Çÿ ÄP¶çþW_÷ÌüEn?è%sù'ÿ @´VVÛúÜþIÿ ÄQ²ãþW_ñ«Eel¸ÿ ×äüE.?è%uù'ÿ @´VVËú ]~Iÿ ÄQ²ãþW_ñ«Eel¸ÿ ×äüE.?è%uù'ÿ @´VPKúÝ~Iÿ ÄQ¶ãþ7?ñ«Eem¸ÿ ÏäüEn?è#sù'ÿ @´VVÛúÜþIÿ ÄQ¶ãþ7?ñ«Eelþ7_ñlþ7_ñ«Eelþ7_ñlþ7_ñ«Eelþ?ÿ ñ4lþ?ÿ ñ4«Eelþ?ÿ ñ4lþ?ÿ ñ4«Eelþ?ÿ ñ4lþ?ÿ ñ4«Eelþ?ÿ ñ4lþ?ÿ ñ4«Eelþ?ÿ ñ4lþî¿ñßþ&5h¬Ïý×þ;ÿ ÄѲoùÿ ºÿ Çø Õ¢²¶Mÿ ?÷_øïÿ FÉ¿çþëÿ ÿ âhV³¯Ö'û¯ÿ ¡GQìþî¿ñßþ&%FÆÀÏÙ §Ú$¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ¢( ®7Ç5ÁU4â«;!ýzªîk²¯"ø§ÿ Iÿ \ÿ FÉ^¦OJ.iUkYÛ¹ÃÔj/Ù»}ö9·ñf²ÇwTÈ°üoü%:Çýu_ûüÿ ãY´WÜûϪr>cÚKþ~Oï4¿á)Ö?è;ªÿ ßçÿ ?á)Ö?è;ªÿ ßçÿ Í¢cùõOîAí%üòûÍ/øJuúê¿÷ùÿ ÆøJuúê¿÷ùÿ Ƴh£ØÃþ}Sû{I<¾óKþcþº¯ýþñ£þcþº¯ýþñªÓé·"4ñmòÖ¯ûÑ`ü ö> UjQ§³Nm9ˬçÜÒÿ §Xÿ î«ÿ ühÿ §Xÿ î«ÿ ük6~ÆóêÜÚKùå÷_ðëôÕïóÿ ðëôÕïóÿ g(Ïp;döúÔ×K²ý¢Þlt-þ¹¿ÿ Z³üú§ß`çó˶å¿øJuúê¿÷ùÿ ÆøJuúê¿÷ùÿ Ƴh§ìaÿ >©ýÈ=¤¿_y¥ÿ N±ÿ AÝWþÿ ?øÑÿ N±ÿ AÝWþÿ ?øÖm{Ϫri/çÞiÂS¬ÐwUÿ ¿Ïþ4ÂS¬ÐwUÿ ¿Ïþ5EÆóêÜÚKùå÷65Öá`cÖoõÙ+?ÚG'{/|Bº
á70ÜF?åÉ×oÔ`××®ü,ÿ Wÿ ®ÿ ¢£¯>ÃÃð§ÓJëª=<ª¬¯iMµkØî(¢øãè( ( ( ( ( ( ( ( ( ( ( ( ( ¼âü}'ýr_ý%zíyÅ?øúOúä¿ú6Jö²äÏ75ø~háè¢ûæ( ( \ÿ KO÷eÿ ÑôZAojòµµÌÞ`Ó Y×rÛ)LG[§5>-uãHÒnQ2¶ï:±*$lqÔûS!ñL±òôý7É|yÚyCåîpQKdìÕç*sµ½WQëñ.fí÷×ϧÍÑCm-¯÷ú-óZ³ÚEoæ!¾
ìæ$<ÑÇ
3IÔm¯<ñ>
¥Æ.,Ú(À6Åñøõ<硬I|Gy4ÞÓa b%ÝÔ/=O'9'½tÏ«-¼s©<8èÖAkÙæï. ÀAü?Jå« /îúRW~ï¼þý_.ÆÔ¤º5ÑÔvø´þ½}N ò£5ÛIigÅîí6ÎDD2[[²±8tÆÅÆ3ÛëxÔ~«/îæfØ4Ãȹ F¥ýÈϨs]øRéÊþôÿ $ÎzKã]T¥ù¢åáæÓÌ{;H¦YEø("'÷©q\í\]VQ $~YqzÍ"!ôÁôªu5{÷¼<I^ÞßþAEVæaEP^»ð³þ=_þº·þ¼½wágüz¿ýuoýx¹ÿ ÁóG¥|_&wQE|1ôáEPEPEPEPEPEPEPEPEPEPEPEPEP^mñC@ÊKo:û%ÖÑþ¥CBI¯I z{ê+«qiÁ'Ñ®èÃIIZOÍ>ÇÍTWÐá!dÑ4¶=KîqMÿ WFÿ ÿ ~Sÿ ¯¤þÛýÏïGý/ùûçÚ+è/øEtoúi_÷å?ø?áÑ¿è¥ßÿ âhþÛýÔûÐfKþ~Àùöúþ]þZWýùOþ&øEtoúi_÷å?ø?¶áÿ @õ>ôÙÿ °>}¢¾ÿ WFÿ ÿ ~Sÿ £þ]þZWýùOþ&í¸Ð=O½öd¿çìh¯ ¿áÑ¿è¥ßÿ âhÿ WFÿ ÿ ~Sÿ £ûnôSïAý/ùûçÚ+è/øEtoúi_÷å?ø?áÑ¿è¥ßÿ âhþÛýÔûÐfKþ~Àùöúþ]þZWýùOþ&øEtoúi_÷å?ø?¶áÿ @õ>ôÙÿ °>}¢¾ÿ WFÿ ÿ ~Sÿ £þ]þZWýùOþ&í¸Ð=O½öd¿çìh¯ ¿áÑ¿è¥ßÿ âhÿ WFÿ ÿ ~Sÿ £ûnôSïAý/ùûçåBNI?uT>Þ½¿ÀºÖVÀ]¡IÉb?òȸ ú(±m¡iÐÚiv·g5ÀUÚó3<ËZ6Å/3·åwÓû+È(¢ñL(¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ (¢ ÿÙ
More information about the Kimchi-devel
mailing list