From b6413558d6299ac8f6e59c27f610b7229604fab7 Mon Sep 17 00:00:00 2001 From: Mats Dufberg Date: Fri, 16 Jun 2023 17:44:18 +0200 Subject: [PATCH 01/83] Adjuests the language code --- src/locale/messages.fi.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index 2c9062ae..99af7a24 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -1,6 +1,6 @@ - + About Zonemaster @@ -408,4 +408,4 @@ - \ No newline at end of file + From 46d5f70e74c715273a74957adfbf3fa875f0593c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 22 Aug 2023 11:31:41 +0200 Subject: [PATCH 02/83] wip run test page --- src/app/app.component.css | 62 +++ .../components/domain/domain.component.css | 58 ++ .../components/domain/domain.component.html | 55 +- .../components/footer/footer.component.css | 4 +- .../components/footer/footer.component.html | 3 +- src/app/components/form/form.component.css | 87 ++- src/app/components/form/form.component.html | 526 +++++++++--------- .../components/header/header.component.css | 15 +- .../components/header/header.component.html | 2 +- src/app/components/header/header.component.ts | 12 +- .../navigation/navigation.component.css | 62 ++- .../navigation/navigation.component.html | 63 +-- .../navigation/navigation.component.ts | 34 +- 13 files changed, 571 insertions(+), 412 deletions(-) diff --git a/src/app/app.component.css b/src/app/app.component.css index 58e4d84d..fec93071 100644 --- a/src/app/app.component.css +++ b/src/app/app.component.css @@ -3,3 +3,65 @@ app-root { display: flex; flex-direction: column; } + +body { + line-height: 1.6; + font-size: 1.1rem; + font-family: "Open Sans"; +} + +:root { + --primary-color-lighter: #edebff; + --primary-color-light: #b2aafb; + --primary-color-light-rgb: 178, 170, 251; + --primary-color: #887bff; + --primary-color-rgb: 136, 123, 255; + --primary-color-dark: #5442fb; + + --outline-focus-color: #ff8a47; + --secondary-color: #e8e8e8; + --secondary-color-dark: #c6c6c6; + --secondary-color-darker: #848484; +} + +*:focus-visible { + outline: .3rem solid var(--outline-focus-color); +} + +button:focus-visible, +button.btn:focus-visible { + outline: 0; + border-color: var(--primary-color); + box-shadow: 0 0 0 0.25rem var(--outline-focus-color); +} + +.form-check-input.is-invalid:focus, +.form-control.is-invalid:focus, +.form-select.is-invalid:focus, +.form-select:focus, +.form-check-input:focus, +.form-control:focus { + border-color: var(--primary-color); + box-shadow: 0 0 0 0.25rem var(--outline-focus-color) +} + +.btn.btn-primary { + --bs-btn-hover-border-color: var(--primary-color); + --bs-btn-hover-bg: var(--primary-color-dark); + --bs-btn-border-color: var(--primary-color-dark); + --bs-btn-bg: var(--primary-color); +} + +.btn.btn-secondary { + --bs-btn-color: auto; + --bs-btn-bg: var(--secondary-color); + --bs-btn-hover-color: auto; + --bs-btn-hover-bg: var(--secondary-color-dark); +} + +.btn.btn-danger { + --bs-btn-color: auto; + --bs-btn-bg: #ffc2c8; + --bs-btn-hover-color: auto; + --bs-btn-hover-bg: #ff8d98; +} diff --git a/src/app/components/domain/domain.component.css b/src/app/components/domain/domain.component.css index 1d2a7366..cd78a10a 100644 --- a/src/app/components/domain/domain.component.css +++ b/src/app/components/domain/domain.component.css @@ -5,3 +5,61 @@ aside.about article { aside.about { padding: 0; } + +aside h4 { + display: inline-block; +} + +aside h4::after { + content: ''; + display: block; + width: 60%; + height: 0.2rem; + background-color: var(--primary-color); + margin-top: 0.5rem; + margin-bottom: 0.3rem; + border-radius: 0.5rem; +} + +aside.about .illustration { + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} + +aside.about #home_illustration1 { + background-image: url('assets/images/home_img_1.svg'); +} + +aside.about #home_illustration2 { + background-image: url('assets/images/home_img_2.svg'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} + +aside.about article { + margin-bottom: 5rem; + display: flex; + gap: 2rem; +} + +aside.about article > * { + flex: 1; +} + +@media(max-width:991px) { + aside.about .illustration { + flex-basis: 30%; + } + + aside.about .about-content { + flex-basis: 70%; + } +} + +@media(max-width: 767px) { + aside.about .illustration { + display: none; + } +} diff --git a/src/app/components/domain/domain.component.html b/src/app/components/domain/domain.component.html index 841b08c7..abb9bc82 100644 --- a/src/app/components/domain/domain.component.html +++ b/src/app/components/domain/domain.component.html @@ -1,42 +1,47 @@ +

Check how your domain is doing

- diff --git a/src/styles.scss b/src/styles.scss index c54af3c9..6c384134 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -104,12 +104,14 @@ footer .tooltip { } +.faq-question, details { margin-bottom: 0.5rem; } +.faq-question header, details summary { - transition: .3s all; + transition: .3s background; list-style: none; margin: 0; background-color: var(--primary-color-lighter); @@ -120,28 +122,40 @@ details summary { align-items: center; } +.faq-question header *, details summary * { margin: 0; } +.faq-question:not(.open) header ~ * { + display: none; +} + +.faq-question.open header, +.faq-question header:hover, +.faq-question header:focus-within, details[open] summary, -details summary:hover { +details summary:hover, +details summary:focus { color: var(--primary-color-dark); background-color: var(--primary-color-lighter-hover); } +.faq-question header .control, details summary .control { margin-right: 1em; transform: rotate(0); transition: 0.1s transform; } +.faq-question.open header, details[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } +.faq-question.open header ~ *, details[open] summary ~ * { padding: .5em .75em; background-color: var(--primary-color-lighter); @@ -152,6 +166,7 @@ details[open] summary ~ * { border-top: none; } +.faq-question.open header .control, details[open] summary .control { transform: rotate(90deg); } From f97eb67875e57c3afa98da54f9c07c586eac5a00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 24 Aug 2023 14:37:58 +0200 Subject: [PATCH 19/83] small tweaks --- src/app/components/form/form.component.html | 2 +- src/app/components/result/result.component.html | 2 +- src/styles.scss | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/app/components/form/form.component.html b/src/app/components/form/form.component.html index bb69531d..81643a37 100644 --- a/src/app/components/form/form.component.html +++ b/src/app/components/form/form.component.html @@ -254,7 +254,7 @@ (click)="deleteRow('ds_info',i)" class="btn delete" i18n-title - title="Delete DS record" + title="Delete DS record #{{i + 1}}" [disabled]="form.disabled"> diff --git a/src/app/components/result/result.component.html b/src/app/components/result/result.component.html index 3ba03e22..ae990ab2 100644 --- a/src/app/components/result/result.component.html +++ b/src/app/components/result/result.component.html @@ -115,7 +115,7 @@

Test result for {{ form.domain }}

- What are the meaning of the severity levels? + What is the meaning of the severity levels?
Info
diff --git a/src/styles.scss b/src/styles.scss index 6c384134..ddcb896b 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -75,8 +75,12 @@ button.btn:focus-visible { } .btn.btn-primary { + --bs-btn-disabled-bg: var(--primary-color-dark); + --bs-btn-disabled-border-color: var(--primary-color-dark); + --bs-btn-hover-border-color: var(--primary-color); --bs-btn-hover-bg: var(--primary-color-dark); + --bs-btn-border-color: var(--primary-color-dark); --bs-btn-bg: var(--primary-color); } @@ -84,6 +88,8 @@ button.btn:focus-visible { .btn.btn-secondary { --bs-btn-color: auto; --bs-btn-bg: var(--secondary-color); + --bs-btn-border-color: var(--secondary-color-dark); + --bs-btn-hover-color: auto; --bs-btn-hover-bg: var(--secondary-color-dark); } @@ -91,6 +97,8 @@ button.btn:focus-visible { .btn.btn-danger { --bs-btn-color: auto; --bs-btn-bg: #ffc2c8; + --bs-btn-border-color: #ff8d98; + --bs-btn-hover-color: auto; --bs-btn-hover-bg: #ff8d98; } From 778952dc357539b3c58ef586305f6f7b4e43f24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 24 Aug 2023 15:04:39 +0200 Subject: [PATCH 20/83] Revert change default font, this need more thoughts This reverts commit c6d679053af33305f09f06b86b1b593f19f0b55e. --- .../fonts/Luciole-Regular/Luciole-Regular.eot | Bin 74127 -> 0 bytes .../fonts/Luciole-Regular/Luciole-Regular.svg | 44926 ---------------- .../fonts/Luciole-Regular/Luciole-Regular.ttf | Bin 233224 -> 0 bytes .../Luciole-Regular/Luciole-Regular.woff | Bin 85228 -> 0 bytes .../Luciole-Regular/Luciole-Regular.woff2 | Bin 43920 -> 0 bytes src/styles.scss | 16 +- 6 files changed, 1 insertion(+), 44941 deletions(-) delete mode 100644 src/assets/fonts/Luciole-Regular/Luciole-Regular.eot delete mode 100644 src/assets/fonts/Luciole-Regular/Luciole-Regular.svg delete mode 100644 src/assets/fonts/Luciole-Regular/Luciole-Regular.ttf delete mode 100644 src/assets/fonts/Luciole-Regular/Luciole-Regular.woff delete mode 100644 src/assets/fonts/Luciole-Regular/Luciole-Regular.woff2 diff --git a/src/assets/fonts/Luciole-Regular/Luciole-Regular.eot b/src/assets/fonts/Luciole-Regular/Luciole-Regular.eot deleted file mode 100644 index 21979683022e8c044668e076c1f575827f712a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74127 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%0ASi|&wabl$)BxX$vXuLq&nl84{j6*H zZKTC`%_fQV9I*yTI~5Uf7=%iRz-R&8$d0Q=05#EQkEsQyCYVf?bMN}XnifEpaj_7!$nYZsX#*hhqVATX4mfiud|MG{lnJ8eblrvm-#-< z{9KQHwcvB9zWC4KhkZ)_zA%maXPH`&F>F-wYQo2B#X(Z^Kgyo9#s6{9!uHQH)#>jG z&Shxh1jcix&_P+0vmaVVwfj`N_Zc^da&k%?mSV73EA;ofJnWJ{V}uuhMsZ| zu}9;+2aS?Fa^@HhjagUYk*!s&g4|PMqOHr*YNt1F-qzY4;*MYi+y2>KJhi{BxdQ6p z*ef&2X=>C{Atg)ze+vUTKm`NxM>ttjhjvQa`35{vd#?7km3}SC2dgw{S3(|!x~5x5 z0*e2COEx9sbI|Z~&5+T*OB8b`IF{PTPf*MJo~n>?PK_XvPYduXXYrzWtPsnR*rko}*fMJ`C6$z!ZessccHiWQnptoJYgKwwv*bKW(uw_R_?ewgWrphxs;2yd=B!Y^lO&Mk;g2tkO&*n4mBF znOV(RMH>wMn0#dh-mn$PNztZ0U3E@7mBRnBP`$31e6E*)51-u|(#>U@)s?**iecPb z5SAHs=Gpxyz|wX*uyG$Vg6vO_PI4$Iwm)cSehK+Fq=FXYPE%z8JA7nx+go?dP;~|9 zZjYe_EtD+}LM{Zq^ZtC_=6gV`jaYA($$kpKLVxQ+%dH11@2VaeCKR6?xjO!HuGM};Z)Sa?uH}9oL!C%_N50GXvVKT zpOm>qm+(sV{Ekmer5Eriza&MjIPQ}mbdrF5)fn?cAFA1peTP#5Jw7~~R~Wi2Zt?S} z@gsl1!LdhaA9C(0X}#T=(JyGFefZpc%=(PP)+5n;Cc$^Kc&R$65tp5*p#CA_&`19K z7pEv@hjij&0Y9%Znn;B|yo&$kCC&JL?ZWBMQ1ekey=OVU4S-HF;KJ|1fpA5}T$(Uz z{ZC7&71gJ`Tj$F44mRSxo{0^z>E!Kj8EIaKj_G(#eaKn)DR8^YNy;| z?28Lv;ZmNjZBX^S8-LqxUOBT38+LvsFL%VtL!LG^yuKf-^m=*d+l^)&y*}qTLrtUm zVFWR{TgpcqT!4f`e)he$(wtYj(%(Pe0eJ9|#NJK@k0FoNDvIQ#mT3447jdp{T7tu0 zHm%aN87697gRORN@w@6J#<1!JmGDoqF^z+>YL}s_Xb!0>5tf zIV^Hsp9t=gtBY-ib&g&XYGmFi=?UC`Vd~7LMqF|~Xz3|K^cUYyBYYHIH=bva3_#_m z4fB5h_KU026GY5L<@39{WcH6ATNkBnYY3+e$J-pLB!TEuYMS@4l|s$DvF?O;%1G!( zaSyI|Z5rV?*LJ0tzT;WR1emF(lm$}BU`LQ~yxQ|>8qo5#F9W(!gk&=kWg-}6sXjj^X++8^-gZF+BfZuD@{r{|ANzp&lc($*i_Px9N&la9!~)oKX~?W;;%G^_I+^R>nxdd8SYj}ZJD>4uE; zU~mAd5v%Ll#8vX?XnE#@kSpkm`?!Fa&nrds!!75Tt=_$LXj54BgPY)EV)DI}bw7{x zD;@h1W^(o(!HMggCx><~_}(OBj8aNV@|-cuhfGd(nnO3gO7=hN?b zPGsfT<9S_-ahH*YtSKBTR6tmZW`tNFMqZ9bUQ=0m@yCh)n(KTzr%Jf^Cqoy-<0~5p z{|ik(vcLI!#pSD!9$s8*Q(!jWz_!WGW}O@kD02JT2zb0>Sltxy=sNV1d;Mr+Dx}xR z2faO)Bl|%NoR}CuCy0k8|pARVZpB9Tc%BYaQ)Wnik|g`38Xi^LG}@!b~XF^gZEMaK^)$ zZnYvH7u^C279DjY+Jf;G&e9!!x^)B=d4llQU`i~+wIc*}mfm&15KVO*aAxgRwi$ND zFnqs>;Uf!E14%Z@&aAb=fF6y*+fZ+7?CvkhAY{M zwrZXk_$tnVeQ-x;$}$OcIpsj0PhQT$#pgFajd}h z9SLZLb!eT5^}ob3bAy*7gn)mU$bVl;BPmlnGw_GG>GjTr<@jmAQ}p6Ejw3dAP%Dza zV@Tv0R_8^yN#E6WEbhdz0Aqhq`glp#0eiO88df%>HDi!!RyKAX5S*7J2bA|vBD$I+ z^tegN&VXZOe)mvN7I~0R#Bq6$THcwEOaQ59QEL$%P#)G9U&j^@%pZ}6kggkK1wZq~Fbi&05qL>I&46PE@=_|O|_Hs4O3;MF|}ycatr^itXJAz^fo z8DZZ_yK%OJ+JFaTw84N#VN!`oN1zM1+s9DaX_?K@5!`aq1JiJ_9$eFuh>)7rNoA>s zr)7pcoTqkLysME@)!DC2<-GM~xB}bKcHLCNoeI7uN2*=!^I z38zDYaep@fyRSk1t~+Eez+)GeQ+A-`63Znyb4MNkZ4`3p?JW&hgmRdu#oGH)u=-d} zTEykGNBS#Iznardty5-Kh(SUsA&CT{W9bQ1^w_{@urXCG#?GyN%+YvhMPec(gt+Uo zz*b$ebuXoC@2e!F{s2t#(9J^oAZ;-CsAAC#Rj$1k^@*KE!sC+=0^s8mR&s>J&nB-D zgkSqN&opUzdX#whrgF|B>r5tU8WuI|hMMCWrXxfJ&@-XCQze(YPV-Csz9TNDUTR(}QN>0^@Z-DCf z%o2@veg5rlRHqY>5i+l1x9`R=1_TU zSaF?8fsM^pc*DgvELoW?p__imMW5MaNvcw?~ zrXBL6#m5|7Q+AAKq`mRd5Tz8)bXfBl{J`yi)o|MsmFmk$iFzJ@OJ_t@1V@Vx+b0>^ z9+24d&|5TC8=pYq`sgoQW7oVzRYFDO+#t ziilVTBykaouAOy|Z~$EZ*j2qWZn%vlk}xiOT#aJVTtKv7k$}3{*Kpi%^zGRx`OSk) zm=qX5>Sj0Mq5lnpQZRho%JQ&upg|j~6i8HfE@1g}VFYlb@Zs=eiW8;e#|YS+kcHd*#Vi`IBZvQ&2=JL(2h!M#?mD8Ue)tk7tA1 z%*>tJhw}+v17v+@GI2Uw%Pbj_K6nFzLlEutYHKf2A9_EB+G~14YHUSYU=fiED^evc z3R|se+`wqVw*T=-RU?-b)VUnb7i0{mVWBz72l>$c${HAys0FfdBo|;nP=HQp_*7Jj zBC{Nj4C#>7YK@dUgB3>aQAl+iXusmI02W_L8w#d{%2{v~sUGy$AU0f~vq08(NkGD7tweC-%@r$-AYuG0{K#_ zxPWmQ3CvtbMW&2jraQD1g$$Cy`;|jove^Zkc@h?(6)=u?#ZGwfav|DgYuEw=Jz5&w z!1}{D0v`^QW5hp18J+PNW#UC04H9(9=SVKg7FE2XP%+$jh&?eIo&GSjTzRZcFhId& z)pl!@LNpUvCPN4U9U;|gS^7mH-Ll(}_At2`gG4-4_!Mx0nL#GO(I@PXe0SP*)R3zO zwq663L!41^WuWx#V0d|l62i1F>jySok_glhwot(PAr|DwOHm0}$MBHD%S_YIpf!rq znyjdce@h3k5lw_8jS_7HOPvO6C!f~0Jde%V-Gl9F2B&VJHjn(<>D>b%`{rfdknQKE z)~3>a{T1e8pnlTfiNd%mJRlyB_;*8$g+jaWNMj6kOrJeIMWkTihDY1$Cu?`1*81m$ z@X~WU)0TPd1hcmV4fs|rM~cBKsKY*M0*}<~gcUw4HsT`E5|j3mY)njKU$% z4EkUT1^uaf^#%tz`2ZA$rKI%NblL>e@i_t$!LiPP=V z2>U2qQkpbLwuBJ@(2P8gaaDNiEM3pA_fa}kidi3GKwi0fuDUdRrSf`C`L$Z59~c*z zX>m_F}fU}}Rc&yb>;3?u!azzIK zAM#UWo@;Q7_?3dSkn?7aUa85wa~5<`I7?tmuFw5FoL!n2fbDeay%8|j3j=V4&G>@S zKW~=BB2U1fWuVp^?weN`r_&UxCIrB{hGu)#;36tCqv;)XaLGa%k&`A7dnWwn zS34?p>j|=1wl#XpAul-JrK}@F9@t!-nsqz&lL{qq+b9?;7~a0 zFL&6-vVB1-)SKlE9UBJ&+^QuJFIaefiHHS>b3`&LB4$#}iP|K3Ghrok0 zm)W+2!5DG^3K;S_xi*qRWh|mGUHhcs)W6&u*dc2~OZo-4{7}d)0viE3nH_#a`XVIs z0BaS|G)?f4@q>+!Ev3FP8IM{pctU_xbA(+m@wmL0G(_1G?M2yHR6vlq{pgfq%xE@S z_l>$j#E1xJ`9i|!<%(&HzoN5b%gjo?xg{|&yl>XJUgAJ*!7z3hXIfKe!`jz9jL~I5 z2#LSZ>PF%Clm##2Owz4~G_+G-iKk2cSe8ZU#_2;3;;)k!Kp(Ot>P!!V&ds?%73N@2U6I0Ikk4tN1z;-%lOYm5$;%B>gJIkb-DhcJS~jL+kE^UvV7( zKkR)FYf>_FcB==*{$xaFh%C%rUThcNEWjF9Z>BZ z{bB(t9eSNwxgG`foZ~?8^pd_ZvMJxHjnA+%Y3=20S9Z!b+OirxY242QJYR zM;R?~_F@MZHYE^z-*_}Nh$0jFT;QUSn%r5?auDdb2r4H;YQ6N%oa(@A)o zfws&nQkW4MqCv(h(i9Q0*%UG4Qj9tYh}jKKYkGFd2qAT3<09L@VU_A+>bmk@(R#Qb zodeXq)0yaU0cH2wA^gBGU*sVKH~6so$~QU^V!Eer9({PFGlZ5^0rxV)wiPAVui076 zLwr+4h`T`n#%(#Q}q{^gJQX10FfF!2*6VLx(cIjC!>> zmcq316DskC+@u@2Q0_t}$SG#}Pq@+`!bs+%bl75VLCfEgj9oa$oe~)9b1zMZpGL5W zF7xkIa@_q9=f&7lIMW|enO4YnLY3&!-U8SV82<7|eNz210pCh_pdvW-%1WeG06;MU z(2Bo6%ndkMPud`V(8vVX5s)9qj5xs6SW@3s4g>ghy=XQd8z##edj4Uo-d&0o>JL;M z#YWGdfd`!5s=ae|zsR;GMXTY1+~_E>x;VZlyW z@-hz$VN}x*lb#3H%r<>hlhkXHhWj{%#z^n&eJ~P%o|I{gnUK}f5Q@>XvpP(}Za5&m zoouZCGot587JLTxA7S8&UP;eeYdD616cI?MjSYc#2$wJ2(U*b5WjrlHF$u|kbyK%-5Jn+dB;)XP6pVMP}@(CYey*3P=n|Kx^N$NNKFLk5`7!B(j9P&BmGNIK*Rd9nQ>@=5F*VE zWL9Wn`SwrfU@R(X>xPo3O2gMc&N;6vd z%A))3hod(5hSerTga=c9E-JkvD-xlE>U(hUHP)8Zn|%5GmY{ze?O+t?k!`HH7iu2$ z7ooLxGe#XIV^;K)NhZyT++H&gSyq(TQ0|hj6|D!Y4=p7UycMWNGyfv*+PTG~hc^C5 z3|{I*Bx=1ilRKvWV(M`uqP~T-+p~4t6^r>I#u3<*Cjnw{ZEiFJp7s??(li7~MXCp) z4;3WUjK$0bsQ`NG^TG3ww8bRTiH?KP&EaTDhy&5h(P&8i5i7-wdp$p;dWzkj)@Ke> zwK&PZo+Zg#2YSaJSC|XWwtE_i!CdC{2cJn$Md}61jRp$M1qU6I5=>!UiBV=t(ewMP zU$&PJ`(L*xr_2`hwg)7QryoYS8Mjc3dYb$NKt8BC+1{6WLf1#hX7X4(IKbQwAo~IB zlRP~(2DF<``9S#k6#-~^>iI@B6_dg}=qI3&iIGz;e>R5Nq(-4RI;f?Rriq~@msp_o zSd!L!{#Wa1X-ZntDHZDbNejg+1sD7D`(Xh3@Ffyo&;M4F#gE^JpeHV3jT!#x~zL3_(cKQ@ii^QGkc`|V(&VHdaC{s>Dq$(VxSKt zCHA<;UGM73X<$+(8Jq()_m<0bX96i?j$IgGL*^gpYow+_G&&j8gM(vIXZki(2pnF` zM^TTtZDKH*BsbpgdGkm5n(>Os(EtM#>m)L5kfNYO>c}NPE)HBZkQpn^844!6x!9Qh z#Kri+ruTla)z?~opzi|!g|p?3K9YWEiR+jkuIxg8Q{qzE1voWNJzpqcX$DXVfc(sL0EFKM#!fSJWM{G8MH z$yxsxQ(DfZ)3*5u=BL5?X(ri#Ln3!+9@S%W#&~&99IOHv^10L5)A{Fl_&J?ffSKN- zVg}FAX4ve-gHwM-O9f}W^JqgXr>VO{6{yhL$O=JsnXs8N`cP2t0|wNyVlec=OP-0b zmBK&J)?j3W(HV3{{m7BlnId|TNMwdJTaMHcH~Wo**<$7s$%U zti|O{FcBcKEB&?NWh9JyDGK#Cq6Lo7$z3}AwORck(Gw-w=mpeK)eLKw#9TZe)f;R^ z(P|sPuLhcH_>5Rk0bq6U$@bH9tog)c)V@c=@;o9PP~*1gba<&)dI$+z%n`mSEa1;pEw$&i;J>iHk>F^a!VZ{64Oe2o9Nm2xM6d*(?D1i$;6Lo0i z>D2QIQY&|Ep}}J3y4TG6wIfh0SU%%QS19on4s3wF}*+M z!9o{t>pnn*1#q2`N$3*hSPKMeFpPZYiZBiqQ+%fdJ9BZe)+-uu8vR^l1yG2#(PY8= zSmSFaMRNl)n8Gm@fL{V(H(){&M8(v`_9JT;ab2pJ@FP7^74XXyB!eJ+3i3M&3J&^p zbNI{wTd6dF72)F}B4TMR{k+!Kdm+{5p;_~LcM6w|i+qc@P>D(|M22(uNCOcW9~1fb z`!8=)Q#SJg!4@L&`dO)>;%NUZx5HD0LUb;tS*fh|?3NA?NnKDD36)CgSdvc5M!4WLE{V{!1b{LdTh$|!pXXL5m9 zizL(a=A3psUyp(iU(VAA#g>3A9m|9>VMp z4c*k0nY!=-As&-OP^nmJsCtJ{RH5-0y9^CXv^27C7jkk}QGele|K%`~lEq+GeyJi{UnN;Yds8Kz#B;DZpYS<5mvCiah(3 zxYZLCxYd$Z?lV$`8!kp6R8mOOI+{ap&<7FO)mU?`G$Cp1cjG?(^k0qj(g~1^Jfl3A zfooBNN%2XTPCCZ0yYY$W5Tu7=c#;DPDi%dlh6z-g$01^sh>n}#+hZnL#)Sn@n>9Kb zEW_=RK+;!*EjvX6_!SO<#4CMhf@*1Fy~e&)5%57)xUz{^i{R8ea{Ebzt>E-fOQvP~ z1hf9NZ$Mz39m>M7cGmfqn(|Xv{CP+k`{+oH3Z}Vs9U};_J>rXJc8+Q?{t)u{0~ncl zQwp?3^{_pIkdV}w`+R#JX0Vz0aPJX2uOJR@+Jx^a8O>@7ufzdLm?jgx$=bHb=taM zU2*~CXc+z?!Mhu*=@Q>RxuR%2lSyM8Zq2oGG zQJ_HpTWbbbKsi^O9ZEqWbNI+yhEk+)Qe8&j#)@xZ&I0n}E!yDYTpgFnKW5l|VO0ST zO}R1af@gn^r%VMZJ+{YXGQ-dIZTeMLhG0*(@W zIvr3mKXzj9Ip)Kx&{g*`!)&)<)>amJ z2v#Exics29VFg)JA8v&uIBAkl5U^;-!1gxS@gzRKZJbwc)B=*z6wub6(nw)oM_J); zn3T27Ocnp-|l1u;y@s7Pf(PZ^k=Ic3DRc z=v;y4XcG1+H9ZCPF*H&*TAB9x)mRZ7eY%0^5;lK`LB+Zsyn%U2$9d&DUj)vRvfvP8 zX^raViwh?~e7)xeT!6~?mY)Eg!V|$-%d9+<+;K4po}YH@TuF%isr^&XQ(wsYrero; z+3InLwt`FqiP2aG4WK$sz+!OzKt$-b)k6aXFhHFs*d`nyFuRXH@DSq8>F9K8`fBpL z(!tPMlOZeh#i zR@6q(YWHTmTcww(7@)3S@DDaBIQkh*c*A_P+0SD!Sfx0wKaXN`ZTQ$cTV<|p=6dP2 ziTOt4TT@mR)zHsSK(gv!FgIXDZE^)LDIgtDxq%6vG<3Ueb)R^*G==43@NjT*NezNr zF-UMN%F;6vFnJ2g^VvQ@ZCch%`QU_rK-~U@SG4koG4K2lpjuR{-N@vNtG4gqEUx zIh5NUnwcDmbU@ld*-3KQmxNnf5tWg|D(7@OhD2oe?fLOZ=6EObIswnnr)1WJNgtRK zZFpgc*pL{4$V!pGG*&9B9JW81RAcjCQh(X;&UnbuFwk8;KtNe_qHPNB5uR`q0LA!y z2HPbhTW>sWHQ6Qp-0|1~tgz9U=78m2naULo#$fWq}_2R*`ZmLU%MO_-%-F7|d{i zP+WH3Qf!uq&|%uQ**e)YrY)4D@>zw2S;8$wF{9s8@n2ZNHk~rJHUaiILX`yxrLb~Q zk&uK4(&iR8d#}ua<5AZ8EM}BLI()9_$l=?m7bdLNg=BCrlom8_?;Mb&!28k;0?Y)R?wFK*Zd* z!E-S36u(H7Vd7BST)0udXG(DQ6zMm)@#AQAdsR`Myttg*((__;$?$dJATlm%T_8Yg z(IY_@N>N2U|BzG>X;Xu6;}A#)aI0VtsGY(4all@XhEd`VNJgb282p_JM9L6(KHY>0 zh*{#=g_d0AlLrum6{B;|Je9*l!1(;FQSo}-T_lDQBSmX-Wcx|W1VY?#F+)I}@9ZWz zsB~|p7|*HFTt11Z!$y0*D+oGTPo8umD#|@~1kiyMn9=T8&GZw6+GRYQx|>0)-5&0v zJ29b52+Hm9?|^Vt2K3*rm20j#Cc;KgV`BqSu`=9{fGAz8dw^|n)`I!PUDESK^KwJVY${RN8}rJ4LnR_|lvo?oCu`zH@F1ao(0pCn%EX!$oQPaD(mYe| z&N|n~a2Xa{_u#E#Q~$6ucV=38D+S{)GWBR~h4Y+;dxcCkoe%|W$wzpN|8XRGbS~?H z+T8j^finS#&rVW4csG}Fn+RRtDB==bn4FX~LR&K1CCm&Xox(nJ(%pkSmrZPT?gNK+9UcnT2CESlQ{(q@0K?*UbnYA#GH`8(;#6P~6_m zVDS(~aowo+@g`6#8vlq*v^?jivr{6r zP_jl@F}Wcb++fK1C*W|4x!4BWoEiQw?(@hP!0!;&k*SXao7v;ZmDlz~cf@OB>9>P% zXKE?R^1zVARR{MH3xEMN#E_nAa9~KZe9R#1=)loQP+{@M7BrQ;0R-Y#W>xXwb%3PK z7ZfRJV2wo!&Y{SR0v@OAXY_J&{X?idrhQGx9&+`cWKr6$xKeNTS*dJ zlBi)x@JS+?Pu1*DXqXf>HTNu7n5mHtwaOC6hxLdWL*Nob<|2b%D*rS`r3lAx1l;ww z#dGw-umgo70<^hx@>eAQg;D-~J*T?xHFnumH957q@g1Y`R6(WG(P0TlsWBv0*YA=X;zB$@Tn zYXsukIdhmj4I=@806v)qt?ME)f(2bdnnPfLSL9Y@GwaL)D*ZqxixZUh$XjO7N({#G zhc=kJ^Ib5Oa=k+$0CqVwb@evJK_hijc8&Pd)i8|41;Nnqt@@dUoqKS%#oP4zaG<6+ z33Y^-OwH0B)CIt#^(P+@BOJhB=*`{*;*6&baoYk4C>9hxc@Um3NZwFS8NvkGl|Jxg;WW!39j%HEA(F1$s0eR%3D@g&As{I|F&q zG+;|u;u`q?aWXJ|NoaWnSsdvEJgtc9Q?~-8PB}K>3R@J5xMuN*>0Th%%nlQei%*-k2LGXsc@;~|nMYtW3JLhF_9Gh#coG6d>b#VfozPcJEzD3X3Rn>rT=?n1 z{zh#xAGwv1(sPAW78XU^0_(u;IwDq4(; zw1YC;j_!E(aZwuP+fvVlYoYuC3I*B={^(YY>2yPeqGRv({GDd1+PJez7R{ z`s8(8#Z59jRMAqFDdw_{vHxiolnLJy4tFT4*)n5ISAWA!zFQKx2AF z3W~^+hEe(UUG!Y;YJQ{F!!-JATQbKB0P<5}@r<;2`QS7Nu|nZI7KZU4%-+wso^nIdF?>^ab|S3@Wle@Wy5}(P3F~BuPphy z0z2N!4~#dgq8KfrRQtkUja}e(yS!)zJP5B3c$6H|ZVbrT`+nS@dFNk%unXPUBcw72 zlKi)*4b(}K%(1ZKgHnyMCLhPIEGGuWz_iEQ?#_MA$CLq*mU1$;^}wkMmIt*Or8gQ zo_N2biDD_al$~?8K)QF`wVxf?VB?~8kW~X7MZ*Zy>olQb5_8Tpa+Bi-Kt2D+vAlpa zuVLq>$T|Gln(*KCV-(sp`oXp{9^8kJd|zV}tLFbXWeFTKbRZ6JGvz0gB>u!fU0FH~ zbk^xuIRkibK}X8qj6q#`byE`>3-s@aeqd)BIS}B3k8eY%&XH;Y+EmujqX)-I>sf-> z08Db-ryF2WUG${zU=&JpUQ22YimwJJ2ef)5g7a2_A^=!&Bn!-3Oi(1(#8F*gnv}&* zIahhCWT3Vn@`2ATf>;B%6^Iw!JzvUgnk-oGs4bR7tbw)zm^dpu43uwbYuYJYP>aDG z!Lt`3A5rw4y%VTyOnT9hK6F?DHgjrsRSH>1WfXAQ3LuNy(|*}8#5n3glTGdD=vthN z2rg53=;kB2GJ6!AGOS~yv|b|5R6tKo3;k#qJi)G%BYRv9X70qa&;v#~?WC80&Y z`4^!U@dp%?suw_dLKXi*$njOc#q;~*K-*)x5{^V5bJpBj@i##*PR2w1GB_Sp9aw{m zczp@+*ayLhWOOaSlhL|W#>9Y&*^qf&h&l1noXUD4v1r${VK5EX6l8FFtAr52+hk)g z%dz;Ye?2xkS8vXAfQ60lrb}65Wm1|~bZx+CvE9%`QRS|emd}GOp{Hl-7rF8LXfCV1 z5|$lYNRF@JjLJwssIME1w83Y;Y_=|)w?l}JSnlO&om@>Vx2J=@?CvNnw7FzZqz}_A zX{K*>bby%qSKU8Nr$n8$iG0eZS0={;e6_I$3xIo~kKZNspA z?vNtQSLT5pcEe#f)jriDB?I%%e zek2T56_z%~-(YdU43K9bzvM}*vq-dW;*NlZXZ23Um8!m17VR2r)o5wy%$ zUXx^mQp}paq?Y+l^I<)(I?+=@IYZ%v}OQSk!;o?a1e8t zFbn3}dCHehu+*aAQMU0Z4A8T1SH*==B5c)7wkp_I-&`QfSlQvGOVc)OjG^Q~*O`h+wm;Y^VrM^G#Y_cttv0I8~zAyRfgG)vevo!v!FG1oA7O1QZL_bGI z6>$K1+H?%5JEbBVS(kOC;ySf7o!>OYu9*5v6VKjBY6!f` z^1e4UYkMyv_;X;B^4TR|of%4#^h|YiLqX!2T60*$6c^eKf@{*@7@_hoI#f1dv}JHY zP+jS4i?_rPb5f5BT;B=8`Ng%EMixtXgx?(Nv@s&?%ginTB(w~5MZt{$L1J^Qcp>ku z2vj6l^Bg$beB9G)E2f4c&SnzP7_{387X|~tPq_$`F7?$x+1q$(FcQOKLWG}i>(X9Y zJfDzpIjjRQe0LDM=(Ju(3~Nd>D8PRVSth`j$Pla{-G>86e9^9mR-iC!Kxd3pBWN$| z5H%wTVDfDkLS9`@At2;22EAj0=Sq5HUSQpnXkum;Bv3zP@}cXd&=!<^{7W`uux73o zAZ#ZHzE|8$-moa1SiV;sx!$lOua!86S_8>Rt?~0emh9b#R4mqveV0p{IOIG)gGh<7 z>hmj|cHQj@9%gzul@S{i^EO7>){}j5UGIy6W`8)`JW_xFjWZLIHg=_5;HaqcAR^Nt z=}i)9HynNPwk)}Y_!-Wf$OsE`JPLh+W-mp|OO<8NKj@BgE0ZDNP2^K5Hj>@gy>i`_ z%gSf%J*bH6fT)PvhBSl=SUg0=SZ7g2PG{9bO-q2=0ZZYUUtNsVLl%ir&tANbL}!uh zapyF)6<+oggB;pSoZDK-M<-%<=VEv)W=%yxIF1UZOZ+56T+VY0b28?&UC4@4ONBY~ zJjRWY>ems`!$Ig>$l2p~i1sja5Xf0098}apQE(iP7;j)gw`f%|2%pd;TFDs6e3Ei} zq}FiCQYm5!)I8jpYc;%L!CIQ=V!>Q|V|hbWelf(@#z1pfTUF4uLPk}l!x26nq~*WV zf&>9%)Vqd3^Vv=AG8tG^khH==d!NH_5ku!h8F697HWhJUNK-xES>3`274LsjhMUBy z9?HS&0CM7Z4A5}f3Dr?HvgJb3kRfyc@#sQK+C-vKHbD}w5YQAr>>zNlRDR@Jsu5a9 zX!etM7)Cy115&dif*L{`)Q%qh9a0$FSaevZJOz!~nG`Cx;ksS6I!x5t@)F&kl63Ty z_tN$@wY4DH*b%|e!K|ylbKq4}D%lK7&Yw-^Y-db%ITv2><-_OWqG z_MHCpo)iwblyf7t6>d5PT3{H_nvl(edk)T+z!g6w>k|Aq5v^nD%xD#+q^Z z@m>iPO8v8V87C-&h3=@*QdtYo@RYDr$Lr8pF)&RlqWHEcK&Hlr!d?a)EHU3NlMm{FF1W+ z*ttDoJvk`!lpED|H4J%R4IuQYyES$~(A2fxK8hP^me%e3_fc!?Ja5W!7H77h75FB4~xYqqK z*wO_I>_M?P#LL6*a4Kml>b=m%vwMajPnC+3SN-VYPr@OiLHbvKNvdYZ150YRD?ts@h9RMT{R-&ZiY zB2zRF84RoAWlt)H{-l(C*fPif#b2LwI^Tm>RQ-~9pJ-HD@f4$Q6Yy74n5=xxYJpKJ zth_zQ@Tn|$K|#xbuc;bo+-e_U{K=r&Z59TXAXRBV%QTHLRveK!o=NrfLSH;{J{;k@ z|CAv8qs#A1)HB$XLhMifTM#G^StqvwpBf)P&(N#|0ovU3kIcJ3$bT_u9FJNZl<{!D zL+u321ZLb9=~`jA$S+BFUP|1|BZ>`D!WIAWc--9zxkd2T00Q|L(O9dSHm7Fl7^fM1 zEp%H$SP+2{W_~Z_UTIA;VowZi7X3w)x=*-IGq+qJez^wh<9gT~g8-?HOQZXCO zSJ2el{da?-3i?#63zVhZXU7fD5UfYb6^80B@D=5=gVX@8?mMib;nRdPW)16~IOqO$ z72HC6HB@Dj0N_Mx6(+R3oX`aGir56s&Q9bdxF^ckB^RW*+8w`$V9Mm!sq$Xcb3qd#0uA_C z)ODaKMS?L-!dKaKVW(3n@qras6!aRF$hBJAc?k*egmKKqSt1y)@e?z+a*$)%LiYFO zOw3JIyiG z>eA-2Hp&CHR~<*r9{+R%{h!vg{*=-%7)|sEyPUEgasF9qLr5@cD%6Ox0PJPb@6!Eo z^hMCx$fsR;!UfQPG!_nQmGzz3(UQ^H?3BVXP_V<#77Th9RT)DmeFsZ8zaz{*bZOY} z-8^ty27*^X!=Pp4+VSx9+;cU+(nR=zfY1d{(6m$)X-hb{(&#Q3GGH6~&f3((1CCh9uYbtea(M05GQlfXLi|yTh5if3V)(|2>qK`{KC@0!@Pq7Hw}H#qH*7lw z;0hM!X20R=8evT_6xP7Rs>u$#lCeo>Q8)ewi>c;+8_WL(958SBO6%=1VWVgW)%zU*_XjhjO2 z*C$x*fWqjGV4_?eu!I$EOXw5aOnCpMVHrW z+}l0^K{5%Bl8v3@<<-eKA^$!@ICQ$ z*QC8kIao8_U{0B@`aIb#q7|RhLviQ)WQERZVqkc^7iBWEoNP%hmiBr}SMZ*-VOam<8tXg#oAvnbPy9v4JM*qs1s%MOuV zZpGnxam6SvaDa0s-c&AB_@|DF!7!Ey(QWeJj8X4~u?=lCedHb7N~hsSO5#`Pl~ZlI z6po*1ynfz#J0Cx{*nSJBp-PFU=^iEb$H(B;&4!`WOEe7O*cbVPZ4hJ2zR7g$8cAeY zbquG>Q2xQN1^-o1P0F=PVU}2j>ip9zqTw_Q3ZR6c8nCN%p(q}dqTKZTVEO=`{aRPh z*{4fnUvn0!aVIx*cS}jpP3r*{1zs^Idb@BxjA})cTl=gverAwq0;J5#5$F94fsR&$;sV^@&J-k zNR&zq=a_Wz&EpbwOEfk-($Pii1+m}Wry0h1f7$>rH1U#V9)5QP-ys-p(CUdQ0yOms z=CDrn)zX?Sxi56`BRPGbyc9y#Yo}}fxaKgmP7O?yE?gTzUHB7C(Z)gbNiAP+#q7`*mFfC> zwb|I2LU~`64GFY*4Dj2Q{zVYdr6KgQ*#jIx2!ljWWVQ8U0BAbwjj*lr(kIe$OZ9!H z!c$BLx3Y382YkyP^p90wAcmOKuJPkQzD$H>)ONtK1b=#P_hkBAlp?m9Nk;!kmTZ7c zdlW&Zvce7{ib~wk*fR@A$G=((T1Fi<7Ro_`0YaE`e`DSyW=!zQS8!0hJIqu0w8eNa z5?ryj^c?A}WC)EH1@Y(PaQL&{ctg=#q(kOqv0?+)1was8e5t|-u#hkXs5-wObf@5!ek|DxBfP&xlP7u_H0>vevjB_!kny^FR`%&7rN`Mr0U?f$p zhRMHJLma+xYAbBmy&i6vcv|_-ULro&>lJOq zQKWQbTYU8W(6V^#_2oQT0CWMO3GtO&I2GCpe+?YqwB-GxYme6U5j_lwlrb@uRw%6d z1kZt**6x<{-yN;w0x&U$QUnn}GT>c1^EZ=F6yON}iz*=+S(G8fBarC)g0ny+`D)p{RgB`$^e!dqRUF*r48k==E_5fa-J)8TDA$8A2JCnqzs=GC-ABD%NxESV0&U!tqaM-liWFQ|2l4M4Uh1GI2OeTaHT zLWqcX!@b>K5!x)$qlJ1rL$%L+4NXXn z-&RF?T-PIkhEct4fBt=ntyuG|;Z&YL5m=_l;eluR7>?oUs0sB>;n!*`dBRHzM_TK&+~HX7_d6}DG*^7W75h#;F(kjcSu2bbu9y==ALT|3mn;1-2WJ=1X4`&0h< zsV(OYve-D0(S96Q^x7vxIp8(fg7resjt*N|)Kxc7M9AcHhjGnX3s!*H)WC;OM+m@V zxh7D=(argKMHqKg)|F5|oy}ywkX6U>P!xA+P!O2($?wp%nA`dojEHHGuz2&eQ-g+4V|Cp3kU&&A9-d^aKx3AF z0uI)55pZaW)f}-;b&$H7)C#y4Da^6%I>`#2$JA4rWC3b;vZPS)8v-|%aj+IbO^Z7M zX;#?^$$;V$ldQ2LLK*X(u{D+rkNS`lSZnd`h$%o9@h&#Jtk5vcwC6_l5lnw(Q&VO@ z*rslpaw%vD*FqmPJ!vdEP$>C!6@!Y#VaM{8yC@PJNeeFl<{BC0T4|63W7|dzi9Ik; z0t$ZF-4hWkcDmW=;hQYN|I!{sU?0q>1kC(l?kk7tHf6GuclewZP2?iztvZ;8obG-y z1()z}3A)_kY>C!>nFwppNjs)|GWDD~RzlbaY{BOHICfL$muc%MjPf2XnCL*hcjcq$iqS%bdG8m&fjW4 zirV_ID$!gCVCcS+pOF?wuRfEJJ5fa32Xo^5gVU4C3?{IRf7 zj-j9qUdm=P{3P`evMFF#8bWOHzfyhKE7e#!6>_Ad22I7ARB81oidZa2l)Kg_SXYj# zC6qiN(|VA_3S&xVUQrY2ofDI|S^wqKlY1N#&%H*|9&)LH3U-JPUAW)G7jv~@ZcDCg7+L*9~`uTrWUU)Fr^*w&`Y2BpqFFeQbMot{snxC~BY& zbyerR?w?QN8~aOWO1asAV4TpyhuKqFoQqw3f1YrlsgQFIP+EVkm5N?9g}W&I{lW}D z`3uxgI@@LCZf0*>36Ovq{kq6ONfhb3jX`5am#&>n`6ecBL3J|%; zS^h58svvFWgx@%>g37wpp{U@z3J_J0D>5fsHN~|MBS@|=GcB$Zu`{0?7jQIso&3Hn z@KK*m$l1A@VW5q8_H|fh#GZ>{JbiN4W?V|h*9Yyx8P(|&Z6}w9>tPg$z-c$1Rb*<4 z5cAJZZZ&5sXxF=?uAWq0e=@;CQuZ1@vJSa4nVfWE44-5JK(G?~Ldc=QCf?k3quCen zXod?iz{ey;x99DO!eC}+UntMWb++H8o9*5=@sLKO!Dz(AnSEKpeaCin!qzQ^Xy39%DdG__xrGL1HIyTzJW3&@?@B@e8+2cRqv6YOsj7 zoU5oX^;G%Zdon~bZvX^=?%jO7CeU`7cUPhQeI^{3-Id@6`9(FpT>iy~KiwNheMZ9# zBRu+L{k`&`8D6W1b4?n(9$?cY-T~j&XA-rSM`UZFEIH8R7vrwJg1cM zO@h>9E zL7^i;c2b=~W(^H8x^_H#&-x-Rzc3ydyIW#ZlfTJO;kLfMyg}3;yirCJ1}0Q7q#OIQ zl6zd%F11EO40Pe|OL}aN;tX$mB)}%k&*(yu4PXu`XR{Vw;g;}f-PRhB&)IKQYZGk@ zg;#8k12d08JIj0e=A3+Hcl6cU6bd6;v7RhnshqVIIWbx|ag>q|9tL=bc+T~|*V`?0 z+Iq|&xk*2>tQr8mJ{4k19!DVVC?-RUw8poI?=U@hr?+F$C$@{<*+clvKZ%$=qUWVp zVtvc8VM?)(CZ$_Cj~lkC9m57WNiAWWF!yK6HZix33uQ4J$Y{udsF-NksiG=&R2q~b z)H!uP9#Lt|_{=$+Mmi8) zEA4DNpveU$M5$D646qQde7sTFP!)1@HkjGq7^-u!>!^2+R=V#(@bPWQ#=^5*a=9~# zT!9+k8&tr|I(f}q7dLx!N}x|`72?(h$68@kLpZegG)BD5f6}&RKV*ItOuI=d##Cj& zSj=ZQL`sG?In!U0lm*7dFwJ_%%kN*BM@n=)_vZrjN2$>IuT55Rmk>!7 zaPLKW`UwZHxCI|P6b)6)GTeu4-P$$Hx$=bjmlAF)P*6=q!CeHti#B)YX64ZdK*o1b zd1MSuRXp00;`Y{aXGPlAp_)5I+d}i%)7=~yW)!i#J3ZvM{-OLaTUNkwmvH0MvNR!x zxB3==qv_?Vy;)GA6qi_*b#Soyd@;2I>mt4TVSXK#a}{)nK@K3OdRy?6Vb{r2y_@2B z!txMH#bLJX5y@Q7gbSE@pDY-8gTohC1wsKD5|D>DMu$GbTlVNU5Ucp4XIi~!YsC&= z;PA&+y}2k$YQ5x?K7$6^l#c6_(r|}Q9vRRRU#!7BT8~TR6Tb`Y&DwQ6ZA?B|#V1P5 z+hyAjgS0bVo!IgbOi)xpf*fw~htFJ7BcDer6DD78uq(*1&Cnd+bqM(X-h>VlJeN{L z)o@o=@@=mFf(?GL5~;>{;N7=pxijHx{fKZSO@nwinRq85j!#0QB;Uv_xb2g#5dEIk z1}%9~>?#0e-NsUmsfa?59w&bheQ#`}@+ICj8XgGRj)xazn!6UY=KFqYz4RbzB#2 z4MEB|FgjDmej9ht?^Sa@Z617``YI_}=yiWmjvk5uNaEHt(tDbKGUR2T#WNI@s|pWg z`j9-%n>2?oA3;2c-1H}vb(Q1AORx7(L;S(S3@deGiw1Qi5Vs9m&Nm+Ta_d5+MevzO zjqW66Oik7#L0>oJN%j68Zc7V0_W;8aw%Oj*O_I_)x6P!v}?@%o>YFgP$ zRHjxz`C&Q(v9HWcPM~llOIv8@`qB>JKwBl4t0>f&WtBfFlK{k1*#+6gnY5iJl9)Id zN&+&XcmCezb%wn1e?@%wc~IT>R-gW&15Db@P<+TPCXNkx1f9{+XuBRpYzxG+Z#b~^ zEw!2MR)WAMPP69_UbG#twGV@M{&UfCSI0{MuZ! zbv?MYb$-a!yv4W)xh`N^ISdrQPSt zQN#kTyLeX`aZ}vF!Wiwz_5Tv*6d0g5rNG9-|L~3?sIUlC-bMhk6bRF!CS5uOsKHme zt`W9Va-VV#d|a1nhA83NLyU@-QDczONK689-^5021)gm@aO4fndf3(RHUk{dN&W2X z@w`ZLjJ#DBY1po+>mfT_CAGwB3eQ?^)XfcZcYD3cSM)z4K~>Zo%p=%L(-&0Oo*l}D z)qr@V5N7t81~5Ii0Z@861OTw^+8)~Dqa5s;MYN_a(>a0&M2RDBvQX9bd~$i09H^f% zFVA5hZY30+_=6gOYr^3qAgVCn|2?-nTi6=;@s<%d%vPep%P)FjxttMgK-PCf?_!|i zSk913O8riKpkh4hQ{>9AIW3Ai8?o^$(F`1yOkVmB^?t5^-zQN{B39LJ6Sh$XbUa*bM^z{ZnXsu_ygmijXE~GZn7rJO+Y!WLKDpQE z<-@_%so8|ZLJ{K(j8b?ns@&k076MG(5hgR2M${j5S{|a{NNmtqW!`wS7+ht}@?b$u z?FWqV-C~**FO&-OiXa-8l4t4cT5IuY!P{gf>i2mA6?HjzL-IEC3dCEl`_&PNFl=720zkb0_Fcvap?1;?Xoh9%>pa>q3K-$*=%;036acx;o9kD9{Z3Q+a7- zAn5;MQW3cA=d_EsbXWB!{>{< z*+SJQSQ3$3#ed4QCxd6fo-IT6ybS`ESY)*cKrklE}i2aZxxVBpr<4 zJds{qh!NA(!5#iy8Y66}d}WKLGO=VOON3E{mudy%@I&VE(ij*-z)XEPbOB8ZDiPhQ z;uYJC`CB2q0tgs!0fN+p%30LmA&!dH(O2AHR@abaebCXc)#K~}?of-$7;>GFG%C`R zP-qgv_`LZ!`d%j6M$6O4m*@@UZcH`ko?Z_{O!OG?>>2xlG-}H;J*{rL>nKgs$741s zFpu0rq?*2rQ03L!)?g$NC?j)Gws#dsZV!1D@UbeK-pu4?1=TrXS@gRE9&>k~rEO|- z;8T3c{gw7GuoicvuzsYd!Brb=S`4do8wIAUyVN=!GuC$0B_<85^`cgu^8egAVx|%? zQyF}334wVjl)G;@B0TwxAE5j+kp|CT%Tk*dnQx=4BMMkmcK{q2ddN8#z4TeED%-CaFFb@c`fcBhT4G&R6zmw@}hM^MB4v)eM0KvKqo>#Vy+uD4P(>7 zz)oF2#yMa!qtT7xNdq`L9ol%g(~x@A?|{&Awl}*IB|Kt)g=y1rr9;stimI7VvNVcZyTmJsTTh4K`_g@&vB^FlW zXt6X4=u^RZj5Fl+orOst@6%1$A-qg{wc-$XNNC**3Au5GXS7oNR6qmnus%zotik_n zpR$-5k(?<#G;vSSAL*o2Oed*NM~h5Lgd%)0aH3Z7c0((o{9L7!F+AXf(U8VsAF#s~ z1Psh-xRD|3#oD5_JcHy*zQbfiNB=5heZ-i8Y}(WO{~+B#m%eukwwD=mY$x2$Ft`Pg zUcg=ZbJZ9Db9N9X=MKtK?_h6Y7vsuFdwZ1^p=W#t-zY&;T^bV-K(kKX@neGqa&L@& zO^K6HoUq}qUtHLHKwH;*OqYmeB$;_cz`W)5m@;5X>D=09C0DBvd}skifC>8CNz$)W ziS;0&5Wz-y)>cvPd%Of3mR1_!Ws*sXWAJT~{Xb>(cUm@mN*$Dx#%WFjND!E?{% zt_n7qdQ~*0yN4W1oANBtwFAJmv5-sPpGxzA6?2}6_cqjjfu`&kasL-VXwsdWq;Hkm z{`M*yow=Fobnt7RbzN8J3DNM>onk_=SlmU)&!wFnoh;0c+KE-Qk*@QUJad;oD1>!S z51N~GR9Ir$)Q|8c0PJzMSEyh%3IWLr6DXHsK(TZ7|2UT;266!wEZPX49a4r_@Hz_N zeNtsxYuN!cF}+d7kiHcK*(jAjCDgi3=#GKD5;zKHsgO@ULYZXM(pH24aK<#B({34+ z+9{9TsspkZfr+1cj=)xXV!GZ$SS|kvw|@!XWc@dM2py3Jcy;I2GkI9pH1-$pR-%6_ z2^cH#`x@|(nL&OyQZ&P(YWpr$|G8o2rL?q^?mGHp+p5z)Otl#yGtoD5jDJ*p`%8^B zC2?0eB+(;#%#j$2n$t4akM7)Ihb>POz;L({WEvbbdE-sdxmqSwJs38(y;TW;1h>Dz zan#e0gHT68aP?ufhLL0FG46H@mXem%l_A{9_6_QA&F`op@MN|8btK?mbxzNJ!m|_-rc~18+hb?Y3oVRkQag34$EAa{n_lp#F{~anUXZk98w${I53Ikyg`&0ke9faGrZxn zBtXiOns6aRCmIX5bJw#}!q`nyG~rQk>H(8Wn&T4!#2^{-X1uWqa(9`k#V6s&Vb-X{ z#B#UCdcZ-?($)JVA7*7nU!*oLYVBAYX6Kr}_;zKs4q>D9ER7l2Iu*f{`A*w6Zgft7ZkXiCL70@`_VKH)sjjpUteAkW-qy z_QtkUY8S(6Dj8L8@=2m8Ba(2E~iTqdpfW~LVT(Co*W_fh| z1fbiPIQ2LT_b1R5C`)nM!_fnUG+t^GE)&3PuFCWS(~NdYx6N7U*T6hh1aO^r4*vPC}wiS2T(e9t$A` zaUqbMceJbMcR&gZm!BRq1q-aUwJNr|Eu2AXpLFir!cJ}FOId6Yh>AX>ei-*41OAq4 z{0YPyttmc;5lK89zh@PoVxPaLR?427mSL>c=njcWwsff2fv5v`*V~d$-4bO>-s~C- z8Q!!Yy0SspZd_2O@?1q%JKcR)lUA|U3nx$y#38c0N305JG5%c(Bxm-bVLH$L7`5=J(I{4rVXaToml^haO zOWu38p#R~X2PY-R85RptsOzNqCSO?7Rl=;|a@C?Gd{DC^d%00th|=O;)dcUhBW{2u z@-}G1C_#4&+YU1y%HchJTtGWLwP;6uWaNuVS2Q(1mhIFVp4gDV^O66U(a(I#a*zj5goCsh1aQHbn`MHEg`bKZy zQk^*OfI!Bf2jR9CbqOtuG%2h0?<$xc)-c1!$2ptFz9}lpjBj0>OB+{oI*q1DC5)`; z2@i*OQX+gs_Fw^~teasM>at0GQ!>s+Q9*!zP=S)`cxyw-)1(oHUjUlUR+An_z1CD* z>-}<#dyS;<@|EmX9#+-<8WxE;Ru=bgw->MDH#Y15gfkAXI|g44j`avsgXQbk(exp{ zIaancw-mmfI}#NVsQ?gF-yelgs9tAiMdq9j5{q(1X0VR-|}H$ z;64*S@!xt4pxD;AW|D$!I%Mp?UXb`Rkw0YpyOwBU?v$6JkX7NXnZg_(VwuQE0rNUE z8ux(M)!5nv7#ryMvlNmm-u~Zo&LVS?W~wLJ^_|ZU`9GQI zAgq58jDTxD%A5#P8Yz3bdBZ6+wwzEoAfsJv`bpZS*<|POy2v{UYsLHam$~p1{Q9bg zIL3G>7}6LJ=hmK~ZICiQ$X(gf;n?}~PN#O*W^|+@W=-3&A_VceNa0t5fx&{1bRF^J1o_{8=QW_CkgG*Y;svIV7d8UU}eEY z=;LeC5^~t&;eH5;nYBn5)A4+iU&X;(14hcqKaqH}57NlN+u9&5^UG@RD#P7bW-6#$c=#u= zAN|aZoefDz;S^w&8c=_?7t{F-Y1%6fhkaaWEcR6GLrpmQL`z;NSNYi|JW}P+K3PU_ zyiN|!dohnbPQB6m#H(f{*Be2I!v`t~M1J0A$~Z~G0P>uMTZN_GSWz9>u-Hn(6%u=j zVv9omd8>I{p8PXM!403rLwX2t4CG|Wz NGYBmePQGm;@?chCLd*aF diff --git a/src/assets/fonts/Luciole-Regular/Luciole-Regular.svg b/src/assets/fonts/Luciole-Regular/Luciole-Regular.svg deleted file mode 100644 index a842b00f..00000000 --- a/src/assets/fonts/Luciole-Regular/Luciole-Regular.svg +++ /dev/null @@ -1,44926 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/fonts/Luciole-Regular/Luciole-Regular.ttf b/src/assets/fonts/Luciole-Regular/Luciole-Regular.ttf deleted file mode 100644 index cf0e866e20e770351a699fdb532e3053c757db49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233224 zcmdSC2Vfk<*#bisMv;x2~Y)u-e6f^Ea6ZU1%Aum8qa z$qdHqx1Tn6?lA5b;QROCY&q@hJ=-pKo!^A=4>NxC!0B5Dx40j?^A>!+9M3yW#|@i_ zpO4>b@w@u;?dR>@-*@k~@%umc-pglg-L>PD+g@75`2K$|&cxa03=Ni@e$hvaKb*su z@!jo%yN3-`{JSW>8}EB}3~t~0-0AZcFtH!+TV5GH=iKwwLVIRW{GoK625i`Cb2Hit;Y*uwQ=jF=_|<<>OyCbL`33ZKgAf^wY!y zo$wFuDaB)6_QKfvV^5BqZ#qMMNqr{&iVx`y{;p?c^#=2^R`v;8e}=coI|lIqzk%Vy zVxIs+Y^i$Yr?3rtA@16ZOi+EweT;o~B_B9TzJ)()`}7Y<4P);E)UAx^XZ9FMe4SNJ^-#XdD(Minvkl^W)|&D78J?*}CC-(i8^5P= z)S=w#_-5+y5$>x;CI1WS!x7NV-8hG}>mHovYuA0sTdYsyur7IAiudWLlE;bKS^sTQ z?gge3b?9};v*KW_Q#}le0sA28z@e1j`UYGlAF}{YhQlz3`!&p#c4UDmBdq8{<==oc z8NHl<$kIw(=qnCyuS+Vo8qB7ByqEW@JBe}Uqv12 zQHApf{O@dD#)EM4F011QSY`5&8LmvQ;+_p{q4uO4A`i5JXQ>B2%DToKj{)8n)V}1; zGDZ9ZzrTdzS&YrifbCfvx8s*Z;uS#F_5nc^&^g&h*X- zoXj9~@6T*D z%5^1`>q5CYl$(cVT_{(Ha$R&ScB2j){P(!doft0JuLPGB<-EZ8e82#>#9OS(@JqJF z^ewg$JYl8bavW>e8u1$20zRr9cP3ry_g=+4I`rQ-^N&C$-@_Q)3V0tH` zlhOYk)EC3=TKuN|CYq-6Lx80p*B`L}j#jY^?-!xmV&IgaeGJdTIEPu0G6-H%i?WAM z=5p{mzjl=2ccw#o4iVU@9EA)z17hqb;84%%^%(BsFbv3})%bZxbR7C`aR+b>DK2RW zbR{<7TLye1`MMu{Ku4o?EXSFSe$WsdjoPssXF9F~esG8<)g$#c`>i_8=!~NXV@@9I zD6{d`aZr1<00x}pu^KX+p3!eNV0{N?{m{$M`4xPJ4wWAff7zgb56~h0z*-GEfb%DD zeF|ve5#ae>xW=ITCzQ_yh>+lBKPIL^c|PhQ``mf`+p z9CLBd^%*#>#IXX;3vpEAdO+MVHu`am34Cv@JZ@#z;rmzOmu~@c zRwCMf(+cnjBXGHzt>nMP@gjZ`&)$LSJAvD8q1`TA{}A^-0IlObbca?xs-A@t&)#I6 z{Ar9AdWLT*x%h4l#zqeM{Xcl0>dACWAAes7<6RsAI);Ra;L;Dk2N=ugkZ=;LiDRaA zJzKw*CUwBt+I2nJJzZ<}B5HfmQ7PL=ZB0Ia6T-`6 zhjNyNJK&9Q7snsrF!=yJ38!(qCfAkan(&@{5dM=7>I?mlxI~udygQ$ev(7U_WFpu~*qo*)Q4e**oly>`&}N_HQn@!Y$m&^Z2*v8UN<>`nG7_G|Vw zdkektANCPD!av~u;@x}>|1|ieJL7 z<)7i#@V&f{J5l$|>@fcgKg=)W7x8)gJid?rkpGCkfhT5WW2;~X{*FJ!5Aq-L*Z3>^ zCwv#bp4-`F{F6Mwp95cdh&{|d-W}pTfDQpJ>CW0o!&j(PkSHsIeo>x z3ZLIs?Q8Pg?E8xERo`pApZSH~30h(VD`h`WDZ~z{saYt{%B=ONR-GHJuiNV z7VTFa(^~XQ<)xJ$phZq^iMQPAl`WbnTQuxF&wGh%kt^P!8+>2#y`r_q=(qUoXpzHT ziWb$&7H#og?teDkqL*Zgj?@%1)wPt3u#wG4ExK*w&XF&TJUH^`$ahDcANi?l(eFpz z8~K~oB5~MqIPb9YaM|IS!=Zm2KElx=KK4&)RO~-vkIM6BV^7g}^!M`b%cC!izC>4y z9fB66{yQ8!Jd3fz-#FZ<{st~Fx<~emyg0IR+K)t&F{0`Ibe!r~dWN^iTJ<`CI+dlJC-W)jPfq)O)_4_CB=4zMu$25W@JtC@Y1wXnxo2m3ax((kYt?7M6x zdxp(o-($1c_gOc4j?HB+FxYwQN34gv%;vLK*aG%r*2{jv7PHsc681B;l>MB&!IrUK zur=&AY%M#)*0B-d>g;6pE<1(&7dw@`#|GK^Y%`?)5c><;!v4xmhxK~~`zJe#{fq5{ zrLc>QvU6FCoyW%5`4}!2aL)E{1G|*xu*=w|cs{$57qF|igZ&*|)SFl#yM>(uOJpni z8?@k`h_^M4KLYOmBYr8rj9<>LfE4;PyO0~%C%K7T#Let-o-1Vy$(h%s#Q7Oy+lP>9 zkTiTbui~rtYQBcA3;zrMFMdD&BL5P9fPa}k z$iKqB${*oh=a2HQ@tYyv?&Npzd-%POgXi!sKx;R6eDdvl_ z#Mxqj*dfjl!(yk{CC(M+iSxxx;sUWDxOii^Y|ak1Dd zE)kcC%f#j43h^m%rMOBg7FUZU;u^73d>Ve%&xmWqbz+%VF0L1!6*q_*#R_qcxLMpH zZWXtQ+r=H?bK*{Mm$+M;AYd_w&x`xS7sP6Dzxbl~lK8H8Kzv!O5nmAxim!@$#ai(- z@sM~}d|f;u9u-lsUmOtM5bMN=;xTbhd{aCwP7>?I6XILqN%0h9@YCYk;ydDb@rF1o z48kqy#4PbU@mrw?m#7sp1s6^c6rDUK3WQ%w7Z%9wu$aR~MLztyZETx(RtQlfYQzj- z6&}$j=JJn3j;ItZf{8*=Ejl3Y9U>swg;5lXdNG?H6?wudTKN%?E2_jaVS@B*5MBJg zgs%EI0#TerTq-|Joa1j}2sG-_J2VSRMECtBA(u+6(~ z-TJ5q4t~o5HZe35*zEE7qO3p4<_8uWfFzhd(9;;@;iz|DTVqs&y<5D|XI4fHH5(4p zaohafq2ARS*ZTrK&%X8E=*pGrebGq2#~YnNS2Oziz5CTdgIl6?xTXE_MqB843zd9k z<$5oG*f;2n+E%U~z#T6=v(Z%tU3Cn22KxK^Jy9O&?+--T%Jp0O`x~Q5*xT!k8iIoW z$T)xH`lvC`6Ey{T0Dgaz4>U#%;Q-+BZrN|#+~cJuYUT7dDh7IoqDq4g_vd@}dH3Pl z`&*1bG;7uRft8-Y)&1)O{dgK#vmTE;)F`dy#;7qIHO~(nKnOvi#)O}No&ZoB=oyTP z&D)}U2=zye4UJKA*h@g#=MOz$V4G0{U`7V|smQhKF`5@f1H9g7&ip0RE?fk9`lGq@Yc+o5;#Xrd zAD=0ZDDeUVLjXIPH-EspZ@?SP1JW9!1>vP@*Y7uMSM@4f-BeWC&~q~diJ4v zsoDl#0I%uS9`!lB0@|mi{bK4^9YkphfZlq%1E~IBK>>#>?CIGzu)ok0ik=_x_<^P(w9Of6jJm@6Ii20W zGo6dW`xQEug!dchTpHeQq;pw#zlqMC@P0F$%ftIEbgl^Rx6-*j>}`tjlN+NA@?vLW zG$b!}HAXALESeiS4j8KdVz)0sh zz)0tC*xMzCKw}uFDH!n1NB;~^e-7dt4HLaJg`^E{(?|QHy>V#>@m`Q)!8uqqJc-v5p_ok0%Fp7-e(S7Ddzz+Ww z%n8ic-^yKR(R8#Q0B3w<0E9g_qcPeZZYu6-jCM>`6ht_L;+^Oc<_>zBybEdY0+oyR z?OPaF2xhS!Y#nS7Bf5igR}t!;0WRal0KxyVNYpw%v~^!o!0YYWhi}bHJoYxJ--sIU zO_cIR2WY%UR;~Yr@G4%vKD+VLnQ!&n56*>0Jt}TpupNw zAi)<0@p4cCfxnP6#N`rofg)xR4q$jjjWrq$0$o7OY8JC1oQQ-86feT+C;r8 z=Y#{^Cc;`D7;{&D)BYx2gaJ4=ejB}+xE+b#mZkMq$Ca5Ej?M__PsV+;Cmfv_+6NjU zV%djbnN~5nr77Bk`sYh@5drGhCE^NTR5W3bs4y-7(*O^TQ>xzH$w_fxCc-!#>La`n zf9VR$@c5GY+t;tb*h|RJk=jS?_Yvj^M6Dh1CND&jUFzV3w8uDfHbtjnEH27&e=&G2 zFLFlPQD#Xv+KJOr!dfrz>g|JA)A6({Oyn3{3bZZ{9{``h#R^<-x;P}Kr!sWWPi5xgVgr?-i;YxOM1fX2!5Oqj?RvkK9hdP(r3vlDt)%RqN3Zw(XM#W9rQyMJx5+q(P4Q-MR$gy z-SMKk=!YzNuDqh6=gBK7dVcsDR)f%$r=C#MvNftyuiUMRoJQn{Ji%UA4Ml}t56-Nr z-^2TvsplKaBUl4n9rW=$i?FEIepX_V*Os2AESDZ%#WeO$rCWr@{yFBN->~gVm;pH}E=3@|sKEc=gZ-Wx zu{Bgz=9vtf8CpWz;d2;$4xdtFGUstupr)g94sV}c6Y!hN?Q?irs~b-O{+jmb9ds>5 z*NYXg9R82_mD4)?TY2@&8h2~BZe68+edC7h*EV^*O>`*!BOe-aHyr(n81hFtyH|ud zPM#NTEDp8!%g-tG435647DF17fM=V*Vmt!q94s8EcW?veOPImP6{Os3#^@|qDqz?< z;3{CbIVfg!I2C-;3zQI4R(jaMRoJq z&SE94em?Z)WiNjx4G5+4;;na$PD=yjVn!42WHfAMLKG}jpldt$GPAkJY0fj}IUG2f zN%7suX`pF1Qr>}=$_Fph4-SU7&CHi9 zjTWz5A87=MaK&&s%wxv4*^MyxIWsHp7TI#R)nv17W@dB2QVTbk9HwQSrO{Hn)RcHh z;cUmGZ$+Bb7x*x$naUge{gLvrGRA6a%6w%$Z&hVQxd-5vR{IO9{kf*n5O>p%0>xsK z6=TR@WEEFptaa38ps6F~rfCJiK&i`|XID-zH@7%y10}$?U3n`VkMAs6p6krBl$X;v z*X;2eeK8HC;0bcfDMvv4#qdJbvssbOdTufDCFoON(8z&7iXNFGDu=^aU0vd{WB{25?8ooNQK$*<{4q zio;*|h2CNOqXshxeE~)(ayGswAaYG1LT{%mPU!g2=^| zj^?~PZ36*>y?@r_(Wx9r3~RphowvhPgCs;~{LT|2Nww1vZM;*aUzzQ1bA zmQ@YYrZpV>ej3n_DPt}vQ_A4Wo)?)@4J?)caTvcwWr-DVFD9Uc5w3L;wMB9u7JQt-5ZQ6+*s8(-9xe2&Aee#+Ijpso_rQ zG(k2a(q08U)mtcpkw_4fhfx8GX9(JiVIzP9d_qV_OBI3-+KkCmri&$M>}1Cy|F*84 z#Qu^IPF;x^jiy6NnzY)_U~nov$01T#BGC(`GX;Eh7MlaLol16mUZCQ$HzSz0s9N_0 z8Gsa$*W3?YV}a>a6A6&AAxA8D3$YoDHJD^JYp&huusM7fHEzP58PVD}j7Y*&ch+q8R&&83Soi=*tjy<2e6`w#8iKpFfAY2evYm2nRn-7ZvR-no; z#&I-9K~Z5riKE09bec$)P_d9+J71-?p8sMT6pGgF^HYFPZBc4-4!Boiq`|}m_?AKN zL6D6k772#lc!#6f?{hf(7E`&_^gw$X8tx`l9!vuYSeq*#QP9;zNSH=AICJM+cM%@= ziCcN(XR$uQ#OqrL7ysAwbLtEJZ?xaenj>NKjlrlOlNuf0FYRzh8>5uP(ilf6n8WyI z#>fu3;6%`*FaLLJh~KCR-R;{|Ii|KxeqZvpeAXUmC58rjd%}7Q21C9kA7YU6*!S}A?==gwjeUk0&%C>J4R+Q8=(V2s`LY21xsO+ znkCjW!-t3?FE_`YWct`N(+B2Hf+XLL-Nrwa1P+-y_r@WheotC$BWGw4@kTW3s7}lV<9SL)lwNM$V2T=n~e=Wf@>p?RI!*NT|UqgiuRG zlO+jFIXOASImK#!`mHG@`#5ke(0lN*Bv|y0OLQ3c#F$I+iAvIwE4dkJ6*G$^E~&rM zFEcEwG%^RdsZ_3+STzKb!zKA=!p2H;nh)xgZfE^Vv#w&V>zsvGYX+8XRcQ*dW>!gl zs`49>EtrQAnVBqE(!rZ>6lx+SnWXA9;j%UfS*m0?x;5TwDo=eMJk`nq5ijUWfj4@* zQG+o@h$tWp$*D0>M_>cLDfUOQTlUC?#U25UNpIK#-MWIbuskR>`OvC8+yEm04jQl* z*a1xCESj2aFz9Nw6G~2?Kq@&tN4k!!A-X+)RON!%7tgr&Ti^ad`#BvQ=S&;E@RP$8 zGu?Oat6~q7mB0GLw_YtSzQ9v{^S;mAVzYi#;#tCFAbwZP7Daj`o)reCs^SJMwH(Cr!k~je@nIRC4)nbsIMbk!*G&D(z#kdJ(EA5|q=d5!x(|>I6{H}du_k!0Tr;Tu38>wdSDPgv;agdzk=78%Kj2-XM!s6-Vd6eHwhCECq%B34fMIPyPi`jlykMyj zwPn{Kcv5}*Vs+faUR5jB$B8eke)1K+g?5owgls>95O%ZRHqwg8%g$`pK~mGn&91eQ zq#(*`eh{#>T<8$gTIk2^ZSYFAkz$PBL0`M?^*vo()OP%hJRC@#jH_-}*=mHCNLJ2qCJ6D5F*ijXcoqLv8%Q*uCeU&o`fs57XyI58<=m#{v4T zrXND^5kow3ssJ;+jJaQiWo%Z+gyYjX@a>ij)`{F?v zR|>Kh)NoQuA~J+FV+0rU!leu%@%a z#*sQZ0!M=sD$=Y9_-Zv9XG+?70=|c#t#8vIQC0PL&(WBjkGda{GP{)ZMdl|-Xfq^q z5{cQ9N$l9P^aL~yC5hveI#hA-d-Sqoyns(ZHzqz+MV238C8Qf$5J0613mYa@sf|3i z7hqY#!@wPyMocjW{BuD~uSg0zkXu1zVqlvIop__B6MtEo#s{h z0iG6;{^+uyq%N~0ciCi?LmVvLtB=AV9Y6ZugV~^W9qLDh!sWnC5%aR|t78tqTnfM- z3bO?9*)qguwL4(JOFZ-g0WUf?Jj7yY;cWu z$ty$w1~~9hyXxN6r9~zv##FJ7bH z0Rd>o#ounqo003S$*Zj)l>{o;v)*ZiosF*51+gF43QRV;VzZkIY_UgOYm1s^IA;W< zF0ldnstRw2JeexQp@w<|vo$r1@MD3S5Iq&xA0V}LYVgNu5_+t(?TxG|QjQL$L=Pd| zBWex~oDD{Y!vJ?L`TW`()0>q-U4`%`PAE&Hr+e^R>A1yt4^!GXn^lyW1jX)VFSALL& z4n-b3(9)CfS&(P5sBoJSI8~$LY8Zm>%Z)mNRa?P#YH1Q^GkArK+JgFWDT9ifVJ4#i zK~zel%77$9;az$Mwwv2Kf%s0B86KV3(8`s2{`kl3+ec}ulhneIJshR=ia{e_FR`04ibJawiIJdc)Ke_zmJc?7&=(9 zq`G=ZO>C)lCEKmrT*a(1;wiEqz^{V^m5QJupk!>37y>7t5XeJ&16&1#%q~xEg~OmI zd-lZsP*9PFEB;(;HfrxEnpIQNRm`75?Jt$hLMkchlyoERlX~Mc_LXlo`GqN-jucGj zfzTgqiF71#$C2+cS!t|E6ej&IYw1XBil&&YBxIDEv4;A(+Hna-_6gNOX%l8ZjPPew z5yx02q$z0%m2`Gkj6M|>qYviDSWp^{dj55Xq1*k+b~6dNeA`CLZ8$TS*# zcw$(2XQ5hwqz`8z zLQ+WP^oYqZ02=)4|bvyUS7m z0u5*|Y4-gz_IRd*(Iid^AFg>Lyb>T0t5y1SOS2`6PWo0_!sujgsGPf{siCggUs(>b zL`@Z)gmY)>yT+`XoAY!WrnBwaQ_+bvqKL-h{+wpgX;hC6S&tM&+z7`pP-iwv6{pld zql^Bf`HYjJhuKDeSfeXDai0#qDjjm&!qnY6qmQNno^6~;4jh~oqmN7g&-*gY7$lFXB_-0B37uHV6O=(Y zTv|-QnjTopMh{&{?u&n=LmGEvjNX_5Uajv9eqh54pKcYaiv*Em3YbmMl(R6o23=ko zCtx!CSHEok24DR_-A_+Shw8=8N1nLi{KdD7UXTtHjqUeAkNJ?-loO7~h9e)4)C9{t zg$P>+KnF&@qyV}+gcD3J)l}8kzve06tf9_ZnF|rYi;YN$Ga@4!(8d$JAW~&^9MXV_ zA+Q2|lM#7fP?eC}!LR8!wYF)+^xDuDV<+2cK5j71+9)Kjkcp{iL+p zzjcqjyligQ!nRMZe)P?9PXt%{RzLD4zh>GxKfkxI=$=b(5!+nogeZZ1E!(B(L_yX} zu{4(x&^Oe3tK2rU3?4OVSrO20;EUi=%F;Nap($MLcjOy9Mh`WP^b+M58YoBrTsh@N zswsx7?PP27T61XBPnJj zQmJMeZNQ7_&VgT5ORun4q=Q2Cx=<4>z^cssNK`gMRk2#*&YegR*01$dcmNA|5Rmr} zup$CJdh*cRH^LwZ8b&QKyW4Uiw&V_VBB+66BT7?u(iNo~ zy}sw!>py$v_4dVcHmqCo(MRIQ#TQ+A4ZkJ!t0hYo!-J#SFH|S3>;%s|rDjr^50VJT z3ugpBCk+#IBaoDr%b6oT7YW=JvM2@1;b4qKp1dga_PXV0F+sQ-$^bNWwQ zbImp4$gcGITgUz+K0?1c5P5+%2_?J4p;}6qW`fRN2m;qT4t6pnnn7EGXsjlt5;WH) zbqd;U4yws-(5Uo@OX8!|E9%dhqbhH{s#wnMt-*Pvm#)}ZP(ZyhWBDq7P*vj=Uexm8 z-h14xPpmlCx3UpEqxH!y;HLo9B5q>i3g$%+aug(w4*^+fL_Iz$32Dg8<#d!5mg1E> zx6fe#YnBcu**9hwz<}5p0JgLqy7tDNxldkqZ-K9{WbvGn)~`ciG6HP7hL@dP5qp}~ zV{D%}7KzN6NByPd$L*3lp$Kt*_>>U^rI{LP?o@WTkcw<5Ep}D7D-1=3LbnfHh*UY^ z1Eh9mgpI$8QUBteXHx-GlSA#)FYg0PZdKO}NHneI!;26eAh;-_5Ie=>Wnf(Xa)uOUOgh58|d2d2$m+IG^+c4tNTr-qx>1}aXTHlu6W+S#4X z%JNsYonKV6+f&ie66|iS3Kmr?Y&d0yvv6-&Wn+C{X1J=RsEQKz$%h=1wAxJh%U(e2 zvjbwR=Lv|3WXI(%kApj&zpNSpQ-u8kQ0)52;aB~Mk58o)#3R*qkUi5XW8Mfc8x$76 zpXxjz4CD|`&v(|e49aM49G~xeOf9NVDQ4po8l{C^KR>l*NqSn&iJs=MNTfTAY>>uc zp%~}75mV433`o*}dd#u-k};kNqEQ-UayJHhgECV(EknKmDpJkVdX3mN=x%o+Z65iM zcH?A3xN?cjmdK;GI?a=kWO(@*?z}4Eqk5mx_?LY;t~0adTxaT2EfwroMp&iVr+nKK zI#o*{dtqvwO6@YrJ`F)%#F$Ir63tDG#DYIAUZH>kPlaDx29`V(o)O!tvS+n_3_;23 zPGXjW3z|xVXbBw)A4{W18RAKuwlQ^{Cu%3}t*NvzJe8i5K76beMf0HHV~4H<9-}F( zT2_rV_1Q>b93q?o!u*8YuV8tq>qmEq>$h)L>D&fctbRvkA|V(60+{0WWcSK%9zX}` z-_>QPpg4mlm;TATxR*zpsDKGb$&pDl3rU+6j3l{aQ7IuWQisI%r~#TNj9vA=(~bnL z^O=mT0@;vH<5Cw?{g;dZ{40=|ZwL}jA8+6O zW9kF)m;O`wODo8mtOhEfRmX$WoE5tZ@+@Xn!7FsrQ;kc&)>LOiQY@JqrwCi}i%;3( zEq3j(+8j%|yB9lbmObtg?;iWiuFz$}{QTHuYfkVqhr`XDjoXIxNTtEGsI^u^W6wpR^QdX1ko6ECI*_&t-5>HfMxMO?mpngpf%agz$45 zuxVCoc3erj^@hx_k@ND%TT_Hh&1KbRqaZW^>k006$_taeZoY|f?I7zd=E{m+YuIRk z%>tKPX-RWaU5&S@q`kDATys)^O?Db3T{|bF0I?{|L6?OdQhjtsYbS1!PPfu;+sO{7 zhJQmMR5m`YMzaCXNQ=d^(T?C+!etvuypa-I%kWAhoIS#pUL4NaG7qw_rnNL+x_4Qp zrxS*v>afk3Fw{0NMTqPHw-YlHNt);OX#T{=)p&x;+47OD5chrMX8Z!Tz))C+T2j@Z*lsqt=NVp^ZyzeS&t%P=lwA0%lCa*Cj}5h)o}# zv?xJhj3zHhV2{t)4ak}3x9Rh1>~f_zKR8q{5q-v=^0G|N^ZJ)@&Leo8tF zWM+q&+>!Y0Y(oM5(e<}Juy?T~&kl7^F<7kjd`tf|8_jt+m@B0eIV`<Pbu6Amg2MBT|cK>J?~4PIRQ4+i_vOWPNBVbR?cnQ;V9W)W%dT z35L*=28bNPh+SYcXUhFTz8+#kNx4~C0!<-iB+7ssGP5K*Xj9;n=3V!E=KaI_?pAL4 z^l$!j?U%VXHo~vtJ7Rz5`LWAmS8y-+f$;5}_;x<4h?K#OO!_t+QPx+XL(%L}m0H!L zFMj^+(QEEB*^P?HZo2&%zA5%4zKMT6cEna%kY8q_sWIxer48U@frvNP3=f;+WrzVS zqS%hk&`JwkvJR3JFu{`R5gyRdhH-VNzUujD6;e~QI!U*8lTD=YlL8wu(ZEpD+!_?p z=i-(Y7CH4uCaLr(weuM&-&i~z04*yalm>#L*00fKEoJ!lJSEC_;-op&Xt^ZK(n3j? zaxz>JF(${*$@M%ABT5<#o;@DCRAL*wJ`K<$T+#TSV*ilgm;w!74*sN!uU{^P_M1#~ zBIg;M)C78y^Utl6U4;3K;Pi1{hyj7IaWl|u4nM?GG3BDR^IA+Na`9r(6wBi$E3qj5 zP3(&bP4}t9-_hR^{^2j9Iwal6Iq2le#k>^MqPeFt)+Oitzk@i9>0 zCzI<`-OX#0YS!x2`W|z4U08x7A9L}jb=n-fcy2Y(fOP&~+Jwx(cRT#fYOF7a^plh77dB=3bcBxfZk`W2*)LuuRnd|G4b++@%%GNY5-}K3Im+`i_^~)O^ zjh^C`;r2*2@z4?NdhY1M z$AX7bAuqAlA-g={(q<8Qz`V*p8q+XY+Mo>tEUifsLjuGX862`!GTbM~y;GsiX=X2d@}(e~)0 zZKK~j7Thev=$*xSd0Ql}2{XnUx!JOS=h%rm6ksmX46HW=ed2TmyU?Cvwqy3VLCqXc zHsvDgK`A5em31SsQNT8Ga!ea-aX*#|@6V+7VIB-0&j)CQ%uf9SR2$sfG@Eh!x3bh9 znSCs8+HB}M0w1goUO2348}W9{W~?VNySJ-%=8X2XP`#ep7%VId7Urw2GIbhGpvFWi z&#IxBHg`w+G4=03-qBJNEX~g~<>jx&wL4gvmxJrd$vRwFc+w^;Pv$AG@nCQrU6$ut zkwtd&{mCi7pz+GJGRJrZW+c8I$qR$@Ll6c%96=XQ0QF!aGv;!u&1fAWmk8UKBka&a z(CtV?qJ&d)yUiB&(PH`<^;$@l!V6}`k(i@>Aj>O}=E+K1Ea)Ao1=I&eFghnVYbH6H zB6DWWpEbX;qitG!t>0T-mh5uMOK~{`l7#Fr_0J{RRF$W+^Vp>QvR2n+^z+d}llKVm z6;*y+9q*H`ruPYl zG%2R9R?D|9TT)S`zI60olcHMJ6N)wY_`OJ833AA=TAcwr(5zE_1A{_owkYNy=s3I| z>O3!$YdBJ}Fv#9w5m>BHdYd(}uR|F*BNaNI{wgLDXDA;DPgoT5Y}D^VCxbH^1Ycf* z8G5Rs5%5=4xSa6}U%Q^+dn}^%KWwoSUO?bGzpAHN}0t*_0L7o28lqxU-{sc1NT$ zQU?_zjF4Gb(zI;o;?0vNs&Q|ylBBEuL7TU2%(2*&%vjK-azCmm@A?u)MytWgv*1FT z=FRuU^?9Sp50Tob=Dv3!5#-TGQ446R8MM_WX^V7vrs?$mt9)@zH?2>*pr?D`oQ1Pz zb+$K#YO1}J$!pX~2?QlL+ZwgUM0$_GMvtWM$4F-6CyXW~M&8FX9ywZ)r4JIul;n}h z9N3O+*bi?Bdq5TJu0R?5;-#R=1#Q9%GZE|V7%=!wBUIb4uozk2a~Jj$734QI)Hj{HeC2w@meVn< zu;_Hytp=mN+85llt#o?X(!~zPyRF@Qy-Lo(K%Kv$C|nZI^Z;d!LiSrHa@|(2{VMi7 zwUxkr1+c%U6WF(5b$ei+Mu1_FCqhpxS)TsC+Y`%|_AQt@NAHOm>In|IS9#0F(i`Ga zunoE4f8HgEG#{@!u8vXT&vi;M{K@5PLj=mUL6jGuOOVluSq-YfTn6qd^#m!~peJbV zA4%kRND`0&)ewB+9`-+uqz0#4y;pUT)gnZvQmZ;?Lvx{sx@#|}J>kTiO3C87lh2EN zv8b)2XK7!T4|&xkpZdJBTKp;YTcxz(uGok@XWP0}gOw$av+&Vj4itYH<5{k24DFGZ z=E9=F13(T~q}e(SAgs40Cm6>4I2bqMmk;Jom#wPb^{Fd&)vqirTwb@huWw;+mAlMQ zbmwK4-Q~ z#dYJ3ad4lJTWGMCfX5N;-jU-`u4@cmBd>4(d$4SQJsN3}2ylhRuy@xi9lCbR)iIFPl) zmpzdR@-V}bPR5CEy`AIHUOI=*-6hS}1LZThQb>5bYlw2FN2ax5vB zIjG`(9MY3=aVN*UmW!Jm_nPwu%6f*8Cf=7GpQDebgQ@zZvA+&hj;vx|QsqZ}4yFfG zIne=yawh>#B>9elE`gk&KJkDdNFJth1+1I9k)mLtj$!kn~SM4ZL`)(Ycp+y}6?T#i6QLHBa3_UQizH#K@X08PWuH!>>DfFJP(tmpBYEI3lv`1nFrOsVwJ z2YM-kuk?p;da>|YkFZ+G$nyq05A+hhW5yi~CqX1&!4wAXp`~s?IojMc^gB&cLwqWU zazf(@YfrPi5~)uro%pK3AlG06H6=}h>yP9G1JyF)6(nVg>w{Vfbtf`kY56|6bl(J| z_1I%O`}#7H*UEuas|H5zOr|guZt6Ar8&~&lShemX+Ob0AbED81wAhv#9W0@R12p^svN-i|%|~UdhjvLpM6wLfkw8`>p%BQE!YGHdbPysmcKo(0|TrIL&u zRaF0W6Pv-Vi`bgrOMwo8m7Y~G7sAp>CbQKvh#?Etwq4j%*EZI})qHk|1pz#fdifkh zjpWqU-UO#hFWVofBJXrZd)u^dLtUC@I(2`hWY2WmACrv|`IRZ|Xnx9sm{QW6(a&T- zn%?K+7bP0q8?n)fyT~j=lwZYI9VT%YjAp|ih9K|9`YB}UXe;feXl*r#RnYZ!G8L4I z{`h_5r7KD}HTCVECP&8);K|%FF$UnqJUTi_o5^=s4e#Z(5nDB=Bu}Ff@>@39z@Eu! zQ@eaKaYoH;nW^(Vk+A*(yq4IeNvD;~S!f0JSvW-Ti^^nAW%?#llMkK8liZV+PmGg< zZ}MkZFr(>C7(=AL`&pRnjM%Ugwp8AAdZ5zq9v-mEB8BB(dlj&$>NPJcg^jV#e5657zy&50 zgBgs_WJ+O#&{E`GgR(%Qn5 zPDKmeL2Hv4gYdI~JyLe?P==@dk$e<$F&C&9iYRS>K^bmPJf+)Fcb~Mm-Wy)M+OTC? zS(~SzxxBmSM*eJU4uAI4tM^!}r`vP72T#RkDC3rii{$w8!Gg9u9`G0CVs9~Qd#a}k zK}@KV=~64`M781~eMH1|q}2DP;rK9!9Z0GA)X_u2hx&!Af1AWpDdsd5yDc1Z8Z$SD z?xr^CPs3@=;_Ht77mN(`+sZQe?GV0QSv|C-NC8{#9+f^oiA2XVd)D@NW0>#= z`pDcznL*9eb37fs$*`&SEYU4uSt0=5*@$T1V)nJAQ71U1vk*#FrBw)Q32BDg%*h$d zZQRA4f#dJOs-zd{!C!=85<`@HBTXZy7>Z)vNRygmfK+A#R2UFFK;E5^c4eRq5#>9& zn<3jP2q1LLTF^6Van~X^k2-@zO|;!zF*Zq*3^r*U9T%2-1UrHa23IzG5wqiaYbLLw zqBL;zvARq~psT9H?e2#-$5Ix$e9gvd&O7rmzO^6fvw>L6xadY!J->iIlou{%dRN50MH*YvZ(O zjW}XY@m#N?Hq=m8g=rO(KLET-pWt*v5m&O8RYZEE>dqPBHarM_wHfPy!#P+6v@Qle zi$67`J=J=mi5$4QGzo{*T@vnMgTaE79~pzSTBRmjVMKSdt1n<}N$kpi_>?_?0 zY5Je{8R?(15#KzC*Qk9~OYpZ${GrI))NeowMxbga z{;f&A0H>gT$s)#9uUvG}k`wzDMCQzzF@0J?U4WLBQ#WAEPmAJzj70HVk`f(z={PAv zN$A&S9XE04pD&gvAa0!DYpJVy(B~=*LL>t)2DDAdJ8*SJJ&w$-v zWG;)UsMGr6x~6J0S}_CFY6Vf)Y%&Y3LM|Uj&fr;CVhLF>mf`eIApdLPFCc+Xe;GbN zK|XvPj!9kx8F&`;tz6N!ZqZuo-q|&yqqP|c#z^v_Q15uJ*vHuW=jtLm_Tq7NeO#|P zde?FHe1ezL`p(l3fnQE5K$1{&V@D$9&xI7l7Uhtl#TfGj5~O%w%<$lUN0ydG<}B)) zvplk_YgWf}ECgBWtt`bdgf`^hIicJu9~;m9KKxqm9&gY53aP`Rf#dEKb&s4vsINtA zdBldS1oDQ)?FM&B;Fsbhm|}#UfkB}U6Lem`_MrdqfD_(ox#l#qMLpO{tIEohgqMbg zmD*LIm8*w?p_2izjL>d*+4>V>m-GIvHZSSuWAEcnp&%Tn}?`#3E zKO*f0?D?lcjODBKP$o_Ek&b>$fdOYmyJQ42`8Hs~zxH-My1Abmf|V> z;c&V$H1>)Ly%_t8gq`x?E7;v?_B(u52HZUz<5y35x2Q?)WPzY9`g-UjCTsM3^GQla zs`Y~OEr>+y1)!$YCw~;;&n@@LsVKuLbO5SUrk&d+Ogood(~%{eylgmIzIg0S9S46$ zYuhj$i58ZrG!0uFo?hYwg;@AMnW$a3DXCg+pQRH!>?#A0MxEm*?;MEet_?{Dy089*akK3Sb>#7rN|9FiXeoo2%le`S^FfWC8<6gZuGbq-Q zFNd`h%Y?d7X0vxT27A21H+m?(XO5Iv>?Qbf6jmB>)4WtbCwU|OQuj#yfUbFIm|i5u zkK_q)-ex(Nn`5E1td5C48Q22Yq9(~7ixEExu_2Y70-$&>Ns73XEwx%OlNsxH(Csdy^bec5i*Y`nbjG|qOq3WkGqzQK7#39jqY7|GEy3ksdxz5H*nf|GW6J=mN*N5vR$HufZF<+rlE z9=1?zD^^+2<$>Ps36DjIE)!B8^*>H6N}~&&(uUvaK*xTW1a*QOQeo9#`VIgRq5Z9dlpuMU-{T+D#o$It}qD$+(4KV3r`T{amf%BjY$xbs*lxW zD#YOB#dC5n#fz%mTp#nfoV2bkd2{8WwMjek!0%4m@>KEoo;*L=xwF2i&|dDcxJxg- zuAtItttk53mE|Q?cZI#U>fLvt#I+O@=hg>u0}VefsZc7)f89`>=WEETbb(wb$IvL$ zHU-&^gV-ny%b)#!rg20I6F2aSSa@y1M#gTUCG%8WxguPBA?DT;!JI zeEo{*MoV+`JMRepn}OMR^}W9=fG-ITxuwMMhv|`=d9($R3Kx4x%D@&C?K#9Wp?+%A zBY*01xcehmQZ9v!D#fac8-2MLA6#KT0v_aP=RpW9sAyCAXp-(0*SS_e=L!rPd@y2S z4`@}Oj*CI}g$VHafi=8{pKnFAd*32Y*!NPnlVF1goK{>wjQv z^5bcVnUsJ>k*IX$uuMtX6~`6rXLP-6M_ivS0^+b%~1HcFq2ibPCl8>tU zxJa3Se1ruC7Kz$SDgR@Gq|K+I1sK`!f%dYySqAAJKm})?}_Wl(wsfr>yGWNRdzM zY($!TSXa=KH2I0%p@ui;?@+;Hr5^sY)LJ4*`!<6qk~1WQIRCj z7^Q^!X%>MBE;F`CvyVFRZ;G`=~M>=d(SgdOr$rRNfMLZkp*9gU(( zirtcx9v_GazfLM$tBf`o+0TLLW}xrU*VM&jb^KDi-NQCT9B}SHy}=)StqT>8GOUW} zbsC2t0V<7c>EBTo!vJ-~ojlspasC}`LGa9!Ge_0<^2T9S%R!DcXTa^)>vC)&Coh>U zAO+);0VzUsG49s?lrEe~t%sZmX>@VLz{>V##{>VT*k6lzLF~qK;K5teHP?tXyzFG+ zb+lSpf>V2dN}boCG*m||JsrBU2f5Eu#ih=GVhyiUN(rF7&QSuMP3gVPap1~TQ)}Bb zT{yw8i5CXzst4yZ%`S8mq%p;BY#gqHO|rG1u&8?huTvSMnx9&QHl*w&rTWRVL~OF3 zx|w9KPzR;o+-yE}Ap9uW#<0MZDmWyYIf_l6&sCWbKxrb?Y`Gupsk7 zM3wYO(Oxx)-4he>LPcE*1hL^!kaLjD9*>{gg9VhU;tIauz}NKpFzG3A@o3(=e*;Csd{R zA_K^}*siLTz*@M6O><--u$!_(b1<<8?Mt4`37lhouand3lih~Scg@e@+MseXpYA9 zFm>G%sf@4Es`JNj1>i3{#x1M(i%9vrBfS+gTm8SY!A<@}8UbgkqOwL`mK6d@%jF!` z8QNrW+Fcpi3nhPQu12_gllnD2=Ny5ItfS-cRzrA9UTlARVX^e%5k$;E9?aFj3)nOyA#1gA(ilUA1hg`&%hk#?&e23DN#miuCXDx?qpTJFmu5dDU=D zkHL?Z)kCu{xyR{fZ0raQ&AQ}n?kR66;)=~a zw9eB~6pPtxkZtPTR#h@i0?CGPkG-wjE+<+=n_Hn(HY*(YXjO*2t;RR(SoXHc*tp+8 zC~cTp1J(J1JEq)BRbD82pf3cmV$vLTr#fEp3y~BZL`DkD_(o6>Gl2>bu1mV3>GFP1 zp-d3B*aRiQs-`OCpCnE74(o+zu^_z+B!Yf9u6TdMRa?_N8x!oqHLbO+K^G}2b|_6j zIUfp1S8KA%k4j3m-UI|AO#-K5%d4|;uD=E`X( zQEp$o2=h?BH?z;gKg8(oj{QPcdoUxVIUH&s&8H7`S9|LDSMBh%6`mHDos-|} z>091sdr#rD3g(IJx$Fx$Is9o~N$htyxu>pQhxtirTi_$1w(N*tcUP?~v=E>^|CvNW z;Zn6hfIErV6BBZgZtTtc6xs^y438p7?J26RE}-@}J<^(+gGC!Lx!0f+z<5(Pp00&rgrt zA$;?cntIMJBruBO05!gY zaz*2PkD1s<6A9aL6Ksog4xnR~d4rbRfEq zP-V(}4SHzVlnp}sBsnVYi6CMXcN8QhTT3rO|Kp$-b-QLt=?P#KT9VbOb;XCOjnX~7 zGjtz;aeQ}hHV<>O4uZ~`$X2RCQkyq@e=sl*QmoN;Pzr*Lb?TY~Didgz>r1N{x2k!N zWxJe%J2o|KEYA&=6g9Y;r`JSU8Vkxw&pJ80x~zItO+%x0W(lF zITQ8J5tVS(PN{9W!CN-f))7ygH?~~T+B}-eDEAI4qP@egJ!$s6!_Y#FZ^D!T?YXk- z9ftY1Qzb>3*n+*oRwb6EFd4$@Jd=^;+)k@Cu~vn((8Ar0$tl&}xx$f)%y6Av4=Thv zWdDxq*f`%%hks(^XX;;Vvd*zl?oqXWdDYZ9Se?N$I(^C=O!RBic!?a3Dcq!WS_^o( z-kYi8@pyQO+-quTeC2eo^eOU|*!NVQZ(@#8Au>;Fm>k2c9K#I?BY9#FGE!G;p`;w- z+t74vh2D*}V!G;t#3S$`xKB@0=h6Z4a3@ndJo%p|b%y5xyTn8A~nlr(yX zKa1A^8*I*p6(823en?edZC?0!fO2^IJrV5(Vpsb506yI#Aj7C~8D>CBWQO?xic$)o z)$h=v#h7h{#fVW&zpA;6D;5c)mq4VS*2~kV79WEj2~Gt-*EO@VHdx`oR4hsXYNL5r z(>t`8wKBCvU9wY~-H|ecAxb*+Em>WTJ*!q-e9p>~^f7tu-z__Y<|2g+&mds3&*=Lf;B$-SmlYLL7&DL~D z+NSBgw@I5WY0{RaX@QoKQfQ&jN|havU4e)CLqJL?+d~lr6y-e?kVO!l3QwO;(I-BT z=H~bLo_p`iolKGj#P{AGqDd#oz2|(-_nh-R-|c+9GfD!vHg7oFla=AA4|cAmv&CgJ z8Uop#PS-c29mTF6{_(&6cdJ0CGMq5Fai>> zc$Nl`x4Q8LPQ(zUHadZ=?N{|s8l{rpC<9utRV&x58M^7FP?fXPVM;ak_A+bl z)mQhvxV8;hmn0u@uz%#f{W{#HkM|BJ1HN_sCK@t;Sdc_VA@;>sT7Iv_Jct)B@VK*| z>gd1=BZz*m1UjYxx+D|lot-U(9C{uHl5%-8nKdsU6g_Dh%^E`M86kX6qt@?fo-D1`V=_DQc|$U&1Q9`P=3`*lZF4BFkn@*vKB`36`wP} zQ^=NUj9q-vgRL|~EgS3UqZ9_w) z6rg2?qoQGIdz@L5k*Djzz|l8#;F%2eTeM`tnnE@z;&tL+ zSc9w;#KQc11*x~H?oS>OsVDMUl5ri%bSIVd9s$66844ov^GE){gdebi=(x<2o%3b^ z@X>J2EBT_REf<3tm7B@oPblvBah__+ALjvn`HkAb2_&Nv2grk8T2fpT4&~)0q7siS zgq4uAJl=$}yT>^2KTMqbB;Wm+pN+>ibr14931(2ZRt&gXK;t9j9#TU7!HgfkwaHT_ zluTu$+;=D9eNU1)G44B)rcR9WMpEj;*yL#r zC61M?8V5S} zz(YF?v0DOyUAY~QaH1+V1ym4bIfqWGqQ!0tkPU)7Nch8p*cGVHhq{kQfK-wZK@>d7 z_>Nn+l1NubNDd?UVdS-Zs*$j2glDb{KP9QyyTVysD=dh)6+hP{l#{b%K za-2AgPa3O7laR%T4YQ#oZ0DzQ_Uvq`9JfP(zB$w`${aQ<|5LP=mNJSH9b6VQq+d3MeU zYoQOHg{`tH^ea=MRa9t|^~>qH9j6;ggS^CHxZ*Chd7^P%;be_X-bTP%A%2D zl_nLMAp&5rYr1S5PAE6SvIFQOkBkw3_XhrV_!&=Q?KL=61p-lzNv2pY+qxAKjYKtj zFP(^dlB1k{lKG#-nxxFjiRa*-a0r~4h*;TQ^8E=(#Rf&4LPqz!EV`<;awt7G>ERz^ z^TAMIEvyVmPevXPd9G!x!lFwoh8W_-5ZMo;y?E{eT%VA{EnE87DsfAn^mW+r;0N!6 z@6ilhLt8BzZ|DUA1Q(k5MjgMe35p>q{XK@QxL4Dsy!(Ex=~?ZUa5=oX{x(Yn?%A_W zR77O+HED4Q93J@svD0vugYIt7$oZ9Ux=KNrkz3%jALjvJ*`Bp>qC)Ue^-{|L4b`!G zfFsK_l*f5SaUcio^E9G(H^eO=n$K5a$I3z%crpfQJxEOh zN;F5Op#(W%Xz+-b56@Jgu0;1tTe<_=kfdx_sZL0a8{EJ~G7zs$XaKWdh;9MekPdhx zJzykHH*_G$aKVH5c(@Gvf~FmJ{>FL9Xf&-Pq#^lW-_FpHd*p(I<>1Y zZ$Z@gB9TCLq$C3O4#0^D1BFh24#S@dBSK9@YGMjjKgt~<+7Ms~wGO>hXfn%Hms8)m za(N^#Kc_aw-x^vmZ&6xlq`>R;7MZrA^ye>J?q+0wTYa8X>$=p`&Sl>Z?s0hR4!foD zwZ1-(O#HhMF&J8de%*R`;RWad9Yiy6ho`OZfD7l7lMc^(tU4ThU=cPDZi)fR2>_q^ zm9#c#73xzKV&(aKKEKbe)NW0z*{RJfs&f;j=r$ORi1v&v?`xJ*OQuRp5IY2ZxNey-tf*1JDy%QzuIJAkH0bPz>*n_ z9h@g02=|HxpiH*v=C;kD+MJ~bapb{$(+HRs=1Rxuq=z8_JXHksuyN%KR3F@!v;|0t zBIXq;C@PJFLw3~o0n7#b^Fen=$v^@;qzqn$tCDiAT(n+Akt9Sy#O0CngH%H*I9iX7 z4{cq-8ZOH%vKKggRlcg(Zfk)TNYYyl&Ys@TbZD@yKWHn?^p<;Pwp%)yOXpORt9H92LxwD&Wx_#nX_z#r9}m<>{Rx`>K!&Wd+Ra5Y2R?4USC&MT5Yjns}-S- z85m!t&T!HsFwNK?7E~}uB}g~J)eu;^al^8_I(vGpzqq(0;;*x@d`sHaWy`l%t?QAW zS5aP-VI{s%y9Yr#<>8r5`Q1p+7}IvN9{?~{nMtUbS-d~xNNxl7+{-)Z0Q4LS-x_y!LZI? z%qv|^GE#RTyGFQB!67uCp4HM&RpJD0Nc0l{5;-+#qsB2fe>F}=MuyAfa4w&lS?1~~ zNYO8!ht;pwXE--aYumbH+1fW?>}6+XWd(YTM$up>ER2+RGhcHC(^CC*d#T@6n%U5i zYWA*8b(y1c0B@LXFq@(k4YO<5B9GVScKdv9GJTrK z$L~AgxRH;a`v(RDPkrvR#(rm}r$k8okezu%u-Tg%|L{s)CR!47QD)aYA=cmw$xts1 zJ0VYSLMm6J_hW5kIg@ZEL=TU_le5bJ=@oe*;+GryWuPQ2-7=6J$XZkT@C1^Fy0z0kDK*2noY`<*^dAx-0kY{7}r?k;E3 z^gq6q<4ZGt__JJ0sIo55mkT!;37?AM(+DES>X93Hp~z!rDO)H(l*3Rl9rPe%i{Q5_ zu^du#LJE|p*x$4_bTvfB$W2~g8+@7tCd;W4poer6(I6HHq)M=F zkI^GQWQXoBy9I5^vMqYPU`cWoeH}z!lpAb1mFdI)#>&}oq->>s*5cI*JjISp{i%MO z5yc@oBOqjXCuXN){W@f9eR)ZJnr1&&@iD0~Pct4x=Ft$`wK=8?G1VlNMA@4^1oFF( zmC4u;V+hueT%hxGCfW&Otzo)BYb;AEmLxe&h9sN0WM=+Mue~id+wUrvQ@OAs5Y6;V z5BPla6FX4TVl}U`I<0Bu42!3(sCK$Jb+t9kYBi@@J+;&?r9xB-FJP7pCy@iG@~DNU zHt>oYYBF@StJvGx-rPKZjTXoVpk|fPIIHEl<=x%Oca-F%=;d+H*?dCS&E*?1LgVe# zD(%qeR?qU?^?B182S~bE`ukaFOtzUnl)ggvDgc#YhtW=&x;MGQ8c9EH949jvJA8c8 zv7tsF5yBBMUD!=h>0wWf$&}-HnDZ0w3r%=Gi1)diWk$GqWADqK>KbMMG${lvsy^g0 zFlWW)^Uf(FTgqst-CTnNCxfAU$N8HpaKFLCt~$gv-0KM#jRDWS>c7%g4rPYS=8!yg zmxg9s(S_UZIk@lKHevd?`wpHvhaDJr^q)3veDMAOnO@y6y8`r* zzL74{yKu4Kz^eDukcXa=PJUky{Bi!mj&z$*Z#73MO;--Jn4nD>jV(jWzNQ%-4kl!0 zff?>>qcPhJX3*NQvz2Jug0>Mo#GJs6iAKooGkV!d>CHQY8=3n~f$dn^by}b=8jq;! zKyJz|=(iS}=()h|%Fc9TBw<*ih)L2V9%0vsW5=$%^4PHx(qg0OT}N5gl7+0vX#BOk zG;_%!cG0(=f9~n0pa1^1D;DLjTQf4QyrHZsN7|N_ekJt_IT7pEtAn>vHHdtaC8wqn z(^Zm5@4d!I*tclOl7$PGX#2hX#FaN(em*+XMMiyN{VG|&4lBlWbZ;qjh-IJ}E=JirrHoWB8AiWRQlRi^=$6!T(Y%&Cd`w}Vq37kZr8<4 z4NWs|vVe;=^Io3Z-7&qjrEg|aZN0&0bXayfJp*fJZ1f7w4ebNNeC^a=0kva3&6v?? zZS{m9gD4pJNQ`=@KXj<-He)Q9UwB9CDP2~JPG@mg9eBfRhmmd~e{?miS4)Mf}2CRwghDT;OIN%QJwR`ebf`yGDD^9dtJ!wvUW~ z%nEl7m{*qVt<3CL*3yzSa|b&iy?67yH&{~iVAvjFm|?+;hM54iFtY3WpHJI&!8und z`)d~F-=`~}d~vEMn1*Ff*$TPjRG`^U(E}!5v-9Gmzp(RAUXbp-hc)VeY7%i>U)Bwb z+&mIyUAgUj&6vbF_ZWr<&_E#%Q43wP|&=ksVu}Im^Jo$>8<^& zNR;ko|0-NLa=vhl*pCMlS=Nm)d!fx$>WbS6BSCj6qJsooB>P(u#7jk4NeSc&Hl8}h z7_2yLI-vNfh6VIM7#Rrd%IBNVee=+P>*md@n|^$t|8R57{Ei!EPOF=>U~!}(xOHP? zp9FKP8UXGq_vTI6#rtZ1G$n`js4 zzJkyapRZi(Sk$dc!P>?(5iGM#sDCJ+B*M8b7ihy!ltCehhi+ihQFQ{ETz1|tfUbAqhV0IwTQ$4M@dPP&znUnpmOU`jEnk~2-7x)7WRpFM( z+^{P!x1_7zKCnr2WE{%MDK8F9FUu`-<-!pT*{MTK%#U#{*0fbRGOSohD9?u*vWT?c znBuF7T(4NDaaVak#OIWNvzY^fyL4)>QVP(Mq4v5g;P)$osdQt1iO5$!Bw~(BFIPZeVB!~2ftWX zY~Ru z=e486YWiOwa8uKLeSLkUTW9L+mcHOj@1~(_&jEi?T|@fpNT1nZnz^lzW}R{uhQZGO zWiZ=$5X{8%K%zknzs*P!05A`%TO{Zj3|w}?r42ZpEIU#T=sz3J$_-&*P&zKYco5M` zs*@9+A;@cmmZvWG&Ue0Z`P0X4Hdyqc!D9I0v2P!F>Zx09xutJyA8v|%Y|gZ0WSN;> zdZrJYfe#4#?tJXKYTdCmhY#MpOe8r~GYd%3S*VH(xvn951T$mMoj1k(d%RdO^1OH+ zvBjb)EvQ6=-{FtgteeJrPZxg{iSU)>l!<7kf+TPsYs(~KfOUnmc<@2%T`}T(khA0Q zfp74raDHScy64WkMJ+HLTbBm!-rKMvuVh1cdtVl^EWU+bGB#6sDRb+b%I!tvnYqXI z_L<#gtIyiE8_;*>2Xg1O^;vvYi`(2ct1}-7Y#a{|cwfjnr|fPg)*0?x>rGG?1l&d$ zXR*jFaEjd^zDVW|Kuk>={wr@I{w2yKVi|M zMCXjrO!gZ54+-{l?63hV671{O2KxF2=xaxHO-(g@xrYxQ9;UBlixw@z7p+&^hh>9| zG#|rBsFzix`f=3MLFxG&gXunVn#*J{Z@pseTBcis^=LMxx-HUf@KA2&V&;IJYB-6? zA96brX`dHMC#@Si(US6_P=`OTFtTjj@(YE}t?IQb_tdmx1@hd^9-FgkZq2R%SQU(q z`vk^ahPLy`KGct~b0<|A*@@jf#WTHuS>cNMX|twHt7$7Ow&&ZOxz^0ClBM0H1x1z1 z<}9^ZHf3bw2XX>ygK*yI^@eoQ*0hX{rs7uAfoqc2Nf^9(5WF(OJ8C-Ru)=`?S|B-a zTbaZ~#9Le6%-~apsAd_zedR!N^LxT2P>(ay-rlv0l}bNbvFjOOUz*=-wG*|Kj>c3XCSV^-U2-}Ib?Yx*im zv&z#e%Oj<&3pNbzx%9Xtb!$dOTT4d9(uLvT^t9%g5qT`R;Lkpc#fY&01_bdGG2|qZ zk?niF|NHEHw)&*B3%7B5aNN;aeik&!x|R8KStOW+(1$v=B&XCPL{^?68s*8WQJ&bd zL(A5lQ&nD2uzAsfjU~a_s*56_+@gx=%uHWvTOhx-q^xdP+sdxi!kHddZEnk=dC|Pa z3~$T*S$P4E8@=;XLrJ33Q#(@Q(X{^jzbSc?W9Zs!&uV3MVjI?46dk za7~PXd5xK~X0s}=jreEJuq~h4*%M=5>j|(e1on~qf&b$b$i{?yJt4%)D@prWFpS;U zvi&{?ndZ;|nH&7(XE~XtwCFaFv6@1QMQfn4v+jHt`$=1$_CBQH#n4!?bR63=W}}jC z8C~~~0?ut!l9_l)HBhO;Pb4B(|AaDvcz7HHV%?82v z|3V)k)`5Yx>B@2*9gF&Q*=a4{KlZITRP4~{2<W<|9D{Y1g!> zaVN{5M`BxOJQ>7JP9lWJH)&_*V=OTl#8eq{z9NH!yA>gXwTRkP82dAzGf57`Xq~DY zdgknMh}|(&K?K^8d6?vno>&$wnM@Y3whI_id-oIh#6}C@6AMDl zIG{tMSrlF8>^`p7lbl?fhf6R{C)&%yIK4E^zsXzm?xfx-bv>#6s+bO>)s-idKcCw9 z#K)O4S_uDBFfM<_b2G7TDsCp(Umo`{Y4o5Ntz+cR|Ckerd`Nzw1#%!khJOYQAyzS= zLx}TmCVWDt5PPV@T0zYh=#g6g4IDI6bK#t7Z-K+cGX`q`zszfNX>mYqY+PdNoRi{8 zPeNE|T%56BuIRKT;en97^ALPFyJ0aJPNs1h&+4CXP0Jlx*3+|WD0iC1Ka-W_5Ied& zSD&-<8gEy7ihYcKhH@T%1o=>cez;wwxLM#KAK%TAOLnlwMM^XKk+gd~(&@yFZRzH% zy=ALij@4CVMX5I7tDhH)hTh)ZwCr@VCv9U%g?qsgw{4pvD=*(xRHEN#cBIdcXP6dw+53a$!C5H)n>BQi**Iv8oa|d_fqJ+S##vKQbEje*w z(V|6t6@5Ry&l)foveWMSc^@Dt!NU&)FXU=9+II1_xt>kqDy)MgMLrp=iBDY^FfxxD zANVSW3f|nc$-9azF7JW3N5zYAK8?3I?5?WgUISbfZ2s zrEkG%r+tS9o{qkhR6Tyzm+AK+4H#pkngxoF!f+C3SI8Urti27gui;L}2l6$b4r+E9 z*^raD3L@kxSf9Tye<*+b{=CIIbBA*G;fsIH|LVTHeHUDCLEoOfLHvh*E_ibfjYY3p zKKen*mC$P_*TavB9JT7*S*q!6(i=^b)vZg_>j;XPt*08+461Nys(^rvoV2Q@Sx)vm zo}`y}DGyx0q{^IQ9)}-Jg!fI!@8jBb!Yhi=m6a40TC1`nT#lO)`b-9rdA+Q|bh>chpaUQJKPV=k=iaM`ga3#ynz#{kR0* z(z)&I(V<=is+Da47Fuc+1Il5i4)E20ei$M<5kZPg>D;CUHpJ#M+%W-4qS>@L!w7$& zZGp{-WB|LN%j+t}uAx;vq94x?6#2MolyO(8hVJ;LMNbyy7sT%@PJ8f9lg(qC~)l^U3) z!$J{Lg&~}IxV5X>5??9Y3z1HKWsM(VL58w$km*h?i{^>nhtgr>(sisaBi;rodaB*a zZXoX3NF-xyGb#bJ^Qrc5Yjbr|byMT?Y0(CR=gX_gtFmNQhz&qAW4#5Fx z0!YM_39r&$Q`kbVF_p&#Y&-<6YEVd(5(Zx!d=dYD>!p{rzVs5Ov#1R34Wm-*Gps^Gbh2(6ImI6p2^})nv+Ct;}8T!!5 z*kf?_V+b}Jf*HCDCCHIV5JV)gNJ~=yh=|S?X*e(L?(6&9*2f;(`Z>}ex9W<72KEv7 ztK<@ejS=M7N1|SUiwO-2ZohrO9k+MhetYL_d+GZfx6yBIBRxjcZ5@3_7!ul)Gq*=Z zK?KM&mNG7gZ^APwUZ)bL1SSW7x6!Lk#7>JpNEaVg(?vK0GxaHpF&wK^qiq-ww~x7e zcvK0dt{TV3&+O5Pyu1qfdK7c9Lj8gLN&aQUzx4GAAWo`0h`1^+C1RM_UpG_?)&mrw!Vb6X>N$d8ED%K9-54}j*oZb_W5>G`?#0&jQsgb z-(6e2vUN!MD<&ZMUBH)t|8jo}$#EDO`dlmBi#|vGELd6NU46TUwthw0Li4BWU+iza zu0g(nh&o1a&g-z0Wg*iB1XqEbi(d-5mGn2HuIP|=eF_0OHmFk{OehW_Gpo=NNiyvaUW`7UY0(gUMEsr z5HwMOPpu63f0VMIdJo}4RQ!iK*YDrgJ!4bQw{bc?^|aC_sb^+Q=^T%*qq3q!m^-t! zWHx;+M~9be+j-fvhUyme-`_OPt*%(UbZ)cqFIY1Amr)PpW)Zwbr_-Wp000Rpo44fc}H@{_(jBZ`*(9o+TYuO7Ac3S>3g!do%hX4C_+djdB60 zmBz)_I3n)aOHs1x8Clov7{)YFQjd!+JmK(3?}6dL-t%fo>YIi)BO_+c%>4F9V`pof zw=COT9w@1s(IEX+kPaT((;e;gXZ6kLzbs$4W&T3xl5BrxQ*@zGpVE&C=Is@A(`ggX z_}OnjQw}^Krc*^heg`JmN9Hy1MJ4C)#P|-%*uP)ez5ZZpOJR7`+~^f$xea~Ak^C8R zd*(@Z&uMC$KWkR?!awi4{;FMzj@IUOl+IaQ6jYKg-7HuPqeF4y2gfz^EcG?hx9_`!c|*>EYtiVMT1vH_6OI_@)savlJdqA zm;kfF{|a3U1+JYTu8SdZFYg%KISDCXD-m~S9g2`~bTUF#Nz1h0MAJarp(>dmzAmo? z&KuB9@>3+gc5R^$LD^ZJMpSDMj6aI>%or~2atoz1%)`EOr`^O-j;{G-|EhO(9+SRJ z$yD&MVQ*iGHYomvl}a*r>~+3+x)o)232V0c3oIUgUcL*dL__T9-rj#(I4#B8Yc;N3 z$?~Kb>}h5HMzB8RdkkJXGP&T(!v3vwV~MIYloM`DV7qS0>aJh4^TLfKU6ryS1M^Bq8I3#tYx6KxY-#2YD=jkB)N7QN!=A9}R63?i^So{Awgy z_*GxuNVdG^9ui8FcW~DQdoGyDg3ystaq0>s(l=O&bcQXL9Ly*EJ3R0=O5c;7?CWAZ zYz2bO@;Ub^^4!Q@3wU+#Lz`Xztpt&1@~O(1Q26o1*^3{){`$uk&%X3bSI1Ca-%v-_ znO)Pr(S5_yPv6k}jp@5~ExBp=;3a}^$>8#vmh9R^`~Zd}_xz*4)#x5w)}L<+v0z3IP<*?8^oqF-=n@=c<*t|dq`jA>&Q+?=kz}p`zLALmZ2@e zV;jz-^4G*Byw?HDBA*z-oe8>=<#U)*=sl!C8ViN`ItR%xZ^BQHbha;C)!n^nVSDFK z;~!b}W$$-K`&iob*R%9((e;14Y|PIxjV|^sWO!mo7w@WZakPMLU(_Qfnw0-$` z+tPnsf4%glcwh0KNhd)~60uUuz@7@C8nO9wQ8>qMOQHM{obxa~)Y&H!geR8cI5uS@=MF0Jw?pBdlerl#IK_KE7`#X&n7W z;Mk_>eYK##OIego`lkK?zZ6y+xJ7#18X(yH1Glikv}}SdLfUMKbfeL12HFAJVYZNd z$4b%*+}^?r=?&py>6NqskFPLYy35lLV&@yJZf`?ay3!0EzwDE~i|;Kv=*h5hc|kHr z^wJJ-_L<9u4#pmI$`<=Z%J>c4PAVBhF~1|F#Ynw4-fLzI=lK7cG7%N{^MJi zuK*-^5#}pW5X?!Zy#l%-u-^DyX=1AN1`7@sj6fr_irT0i>om$9v*%^x428GveDdkV zfuX>*>sr6|(^g}KiTR~pqvPMVNFOLIOJBYdLLWTBTTeeJy}|s~AHDoK>DMg$^potOn{ON3)Zf2l@D^Ft z%lswY@SHlDXWm8>-=U}|%{=)uH3RZSJ`zme3pIubzX%I}^JY--LB#o!&-qgr%Fppo zu3A`|;aQ@z>jj_qVivJ;BcyYMjBHbkD=o%!6LrKHR=8v5lf&NwXO3NRdBz`FJ32ZB zzu0%Z?$gPjY%$k#9C>3QKR@%5|3VzGl{=ea$!F1}7^Eb<6x`AWZ* z`Af3rZ*8MS_l)jEwvnIT{GPkEDBFuM*N8pl4#D2j>AJ-quS4&r+lW$iF6*V=|tjeods?t54tt*xOJ4TiC zLnaX)IWzg#+c6hENA?xzWI!#oVC;$XkQ)s%qfjFl4@!5(==crjxc|*cW|h8owX^{w z{4u$2INH=+Wq#L;wqxEjeUe`hMjlevF>{F=;A7uPeMo<1O*HE6*r>f%3%|f{GpI{+ zk~GjS(LfcQqZ>94-K?6`HY1Sbvg58>$YK&G1k;)AcREm1$c%DAsN(=77&^`tnl5p* za-mbyEvBl8K2Jdks(-_y%#H1sYDeB>ZtTPqJYy__7)QO(y`bM!m4%9L+ZOa&EEe;& z&VF~LKdZ_$&`CdAmQ)uNRnu3e{BwUNp7-PV{ssMJ{C$Alr{^~m*VGgj)ljW(9dz&y zM~{Nc%r+0a@bYCDz}SJsst=Cby6i*AG)(S5+Aq4d*b(mU$E{WJ+{5p#zKZ+$nl~A} zc?4KN6bSe%-W5uw+%F6)Q$oMOPp1CvPeyt*@3K`G?-SsMCceRk^#q0mey~-bYs}wy z_v+tQqVLBO-xsKh$NBrPXIMM8XACFJ+*dJ?^^#<=aGrLIp1}JzbNPFg_peJbaX>%W zZ<*Wek3#}o@3z%e^G{23nArjs=|7-VS1u14fn#U`y(Ob~|wR{ah=)x}3J}K6bgFt>R zml?&(_#6RWfIO=}n35f=STdE&L$|fz{=;ICEd_a%8SD9-<6oa`{RsL`F-bIr6QE7A ze*P}B?fq1=Q7onhXPYK=1(gw6RCoR8Xu}K3mi>0&Zx=r;&qa}LKc2m5qG!J!f0pn` zbi%c~-8AS07LyXU;%x)YTGIs^)%NtQSR>TNezZaTO|cDyf_NKptSMo9s1WCddRojo zW&aZE4r{GQcLB!trTF*~o)zZCpPgWQs8LUChvk3R2HuCn61s{JM{Qhy@lk)8@lDo- zN@*R$7|-6OqE`YE1axASL^?{*4s{p6>k=e)|Z zm&BjqGWU8VonGvC!d1Aia-zdqK#5r~w$|AHzmUH5ECHeXO z0z@l%pKfsAIyk|`qZOdV%kAJQdouDsLK2#$53xqIUZq%f@lR^UN+N*zXa&t#+$Q!> z1Q)+rt&E207R!Sp<|1g z&ZtL~`eZ|2< zm%LC;f;dh}jCR0sgjEiU##pOzkiDf0NotRejcma6x?l0WGDxG&NC)Qm+*pt58qxNG zDs9eRsjXVD*y1g(iLX<_rFBgr?P*i@8TiGibHXyv}4k`2C^29{arLoT0&(!gLL({p;V|;%RaW3l9 zbjkzlB{~;AN#nxl@f#ml}-xDE2%4qSE!jJ;TS+wC@z)Cl^8*t|W`3q#_zGi31M z&yzh*xh1YWtWJKM$AEP|fX*xGs${##iY6Qj$Q0&)-1H+`tNggO4PjS2DyOx0;lE!u zgn-zYRQwkGBA%?YrP!DWPw@N(q?UB2ul)n38HFPZLDzM%-Y*Bp_8* zmqq4Qee4bV3V+k<;FB8XUBa$FIKX z@yD;a`thF2`?p4D5?kIkyeb z1#%*z1~f0rqTr(-@dy%%!(0&-9)&HL@0>5N!-L!WoXD6bG0-&YV z4y-e07^t+$ZPIz{#D)z|y~utm{mNf#^A)=gCi1+P-H?^l5ctuLvZMHybXCd|=mkBg zklLZPJnTOm3RsiS=DSt?j0!CdyPX#-gqUk$AUD5|f~hsfQ6zllarV^EkYLz#?96Gl z@fh2D<}|Gh%H47!YH83#b@O$o=bVpxl{roIp-dw(MhVW0(%of+2Kx`9fdn_ONFw39 zoG_FdPZ9Y#IV^(DvKt03@FP}8KXFmby7J;pwX^3ntZ$CG zQAIA`a2^?~S``X(S2Q=*t!Zg==jCN(+wDIosIr?9o>xcd8}Nl~>32 z31UJi2SvgbCvR*m?c3_AvcilsIAgJIHA;;h+>J%1A?VbIwf6D`;e@9gRKY#ZtUhpn z`O^Y+286{ z!tUX7yV$fjM{fMm;~lfhOClZVm*$1G<^*58@4+_)_edveSayE*f)(pUqp`W_mdmcV zhYbS-x-{R*^Hpj_|68~fdw}?8I#pT1a|*+MPwG}rnL2ro{zZ6B_#Ez^20>q*pXa88 zYh`s*HYLbu8I*Bfk&Z^1xH~A^VkrN@ifg}n`l_oQVZz8?3ir-jc3m{QX?jb40lVUb zg)`?qb?u2qpSs%OvK+0bS<4O=M#@W0LvJ9z4dHWHbf{NFiP|Iwbeo}1Lrvt_x$z`^ z7D2TxW4$+0YXtPx?badd?YCKmEVr?LGf5uyTT`F$i6@MjHr={tTOAOOu{b+X%g!W& zR3W?}cS1N&YA2||hyNhd>^3vijg5FiQR<0*LwCTLp+0$cx0+LL;U8{EHQ)NM>B%S2 z@xIM+?|r6?2aKc-)v#miW$0Gvx{@{+QPxxw>ZlQpomGK>J_Rx00Pyok{JVYa$t;G5 z3PYR|eiwvMXoz0czG>N#rOP&5oqNo*&2&Ys(73Pp(4ppig`4WHys~~1UL+mo`jiE{ zp8#?rSGScV^aW;iQenoza6u>^_n>eMN=8k>>EmN_6|IkqcglX|^pKhdEt9mq?Q2iv zC`9wC=4f(Ej1?o%-&7>dCagz-c1-~VZu)!5@!^6`yjVzyt?eROhs|v zM-~3=(-^}V9b79eYj&($v2*8&l{=VE4LJ#OSMJ!kV#UrKE7jN%`q3=|_Rzm_T_%RD ztkvt!(k8QyZS(&IR%>i5+G9q0oimOLI|(Q&&+lV0CaZ#Dh13G>{)RY{F=nO!w~EDv zTn{GWt!nODPXto)iBME2cB5jb{@t-2J~jSn4C?_=-@gsd^s~Tum>iXq_8;+d7WQ8P zMnNnuT%(0?2aUY2{zi~d>}&XO@lD1VRj{tc!+D6oiT+>5d5B|$#;`K9vgNY}{^UH2 zV}BY>1}K(^d6O|N)ed=JNl~l+H*h+qjP39@VsC0>4G<5wJ@r2Up^0^j6IQ{{90%Xw zZwADKPKEs`<6$OYJp8YrQId%NpTc@jaV4jO_3&w6A)#?Z!Q%~F2l=F!>l^+i%=LJ` zQ^9PC^)=}^j*`zpK6LQOFq?$@v%scfU2jJ_W$^LG@F+|2{jYq zHLd)NLBA*9;grttu1Q%q34k}};dc1xN)Z$o^gm_FU0W=+{J(3F8%{|@$ZSdDC$-~Pio^i zYiF^=VJ2Y1;^wQ0o!s`Rv6JI{PQ?z7^)o4U^5>!Rn1so(lLgb+v6D#$w@nc{S+IRF z?BpH56fV_bC;uJo@Tr3*6K-xH?C@Zs9gZuBN&fV)cK8I?$=fl`GPL&zu#+dT#m|nN z{J&<4gKsq$=cKl{20Quxwk_@#=0Of5#3eohTl{Qi_|>q*Q-DkSw_zs>DSuDww)bq|0@<-k}kIg7<@a^2`ZwkURfn5(gS@s`jFN0^Ym`~?sdTiD> zJ{r|6hOe-c*}Zc1BR;7gm~Z{2^3s}?Jv+ZOxUjskqIAi!x@psEmJ9jw+bdhG%rK{> zYnhP$W-u==Pr9)%lveZRK^Em?|&Q1cSs?m#<)|HJQ+z&FpU9O25No82LOlXblM z!V5h;LVnN1Jtxq$@(!9oE+A?q^E)}XQcpPG?$8o8_q7*Z801g?hMpx{afb1eFO1*e zL^`0FU!{o%E16XxR`go!hRTbs{o>)Wm1U(XOP8%%v&ph}}atbym&#PD+{8>T; zU>l^j)~#dt>w0>6*g#K@bQ2$M6mtk%6^`{_<9G=?4NnP-QmN%2+rDxjXMxq#lv5o( z$?|`E;YO=*yTw|w;Z=^$#Q7{3&_=ADu}r6&5ka-k@&9Uf6{RQUvJlT-1ob(gVza;U z(tE95DugPe`K;f#w4mHnS@7<=LjLQaru5?WS8ce=hCecs&;IMWHtWoAY>sGNk;)vO zSEOBFMhAO)5w&TR=aOm;-lwI@2?()T0u@8>6R3kgg^_bh0WF5CF3K%^+_)=u?_sme zAehrp$u0LBY=rY2+3D0+A}v(l4Wg0#Jnw;0Qro}Jy8Gm06=Y0S|AF^x<=tcsym42ZS}Z2y1RiHJpS+*9{-M_PXKW>jqbKcCMl?W{MwcNI7b$a@M)18;&DabBaP&ap3 zM*1$7FDuI($}T1>O&%*}4`DnU!-VecQL-`RMl<)|ZS1S;J5nqAPH(Tg&afV6ol*P| zd4OuY6Ix+B9~h#N?%B|f1{R&SAK~Ovc?iOyNlGrll-R`fWq4!=IVy zx7SR=`unfD51@Hk(O|HAMydDc3CRR|M{xi1!KcnWCSFcQ5mxI8cAxtEA3#q;UH7Pq z#0!K|ZZd5=&qHxEF$NAA%ObI6+!2 zt;LWN#GpbV0a`M4?uCy&IJ{TbIsDB>hcA5cNuXY(JoupWd+Gfr`PeCELBRWjxhKC5 zyf%3-7zu{KS_hxi6rgzb-FI2DT6%)k5Bh%^@5k|o5gUe>p_%lur=@);yZkXbD19vU z_I3m2q<5oq2LKRdo{LxD6IDhspSD@)jw7%_7!oDLB>jNB{X*m2&m}1dV#9;Y-#hc4 zNveX{ejE5A`wp@^_6+nJOTh-LAT675dU~9;<8q-W6eDH}FORK6%N9vNg zjg4y~?#!k`LouIrW|*P#DC4U2;*tc1-_fW(EUT~ez{&%y&nNXI{CR)v0}s@W{C84E zDGL8qa2c74Xc_X%3-ZRj9}?2s6>%o_ek_R0c6>dd{9B$xhPZ-1Ko2QjBY8;_k#5HK z5$@`1=alo@iA2)mt{=Oz@rA9)y&e5d^MfNT$sMTe)4itnnn8*><`io#xqbG8^wf;x z_PyQRBR$E@L&oMH{^h}1_VYV+dD$7Hlf~*4Mne%mR6#1##xC>4^;f}dtMpb(3m2tC zp5a}x!V0&;;!8afQ)pi?TcYLRS$VQz>uC+x9DsS89#e1CIlW>EbDD7HCwWe@>btt? z=_@lQClg=8$y~TXexSaqGms@eH4;r`ie8@66o4W?Lilm!mFqIvtVIR60k;k1yP00u zu$nb?7TVs#M(!I!-vvqZrP#2srFWBw+@D0Gx-RD8WR&p<3-bg148jy+9s?N{@D2i) z19wd2yCbzgSr}&L8 ziR?_{`URK86WTlM7ij*i@r)kc$H?cBEg!j`pNhCD0uLPSR1)4I=80o!Ma7A`3du4u zFkWxM?_@D~e{z3hzs%tEnv|r8_0XH6ext9)*OETQ|semB3ns?7_Zq|*yjIsfXo-Tpy22qc!=F<+Bgw}4*Xfi!&t8x7$5NjIamg%E? zNivFb7PJj~5o3r@;^HoazbF%xp|qz=(V4%-8dKY%wXSVTUh7%{Kaks+qc)|eJ8#FD zg3N=Z$-XJddJbXA$tn)XcFmEaRdKY$vMtI|Rh1hyU1dYEPLmq%HpUOyKNJU|>w9rt z^V=udfw0-?j_Fp%qHdCrg=({?hm5h@!Sy3~4ahhr(2cY--wCY0YNIMN%2A?dG@z0DjQBb&1@C;0an>n-A}8}AJ*Qc@UE_O{#P~w~)wsST zl@3~mRJ+?Q+x)cWNajvXz%+Sj?i;^vMKPD|9k*jHM`}ia%*p*`bl)zR%kSGw?mKgW zvWfg>gEu#xJH8K1I(dHc=g?)0@3dy=&auaqv}VsT=u6dAyncdVtBYE4O)zj-elEh= za`JuSamje;@Us9Giz?gD7yl`OVmD6>*44qoS5>w9kAM8*d+)LRy$kSPuXOyq-YR*m z0|sZSkqX!oTrjLo?KSBLu;J-e??U;JI9sF@qYa3ik_{GMP0&>%kgH> zE@5zNh{ynxJ%Fd+p!!>jcks!p_R=&ifn#}H@I$$Y*t$CQH3*?6LdFsk4W|s>4rhrN_4hO zXe;5Qi}lR*PGBX?P)9V8ZRAPhcOCqW!+b6JK!X?hA?X{+TGXoOd|UoZUXf)98&ciq zD-xac&_5u1WnVpwFATpM+CIC#o_e3mXMYD|@ML~_>3S}S1>HRG_YN)xQqlhyT@OC| zg^&Oz;m4PE|7(gjU)Gzx1{tMCWX5zV)yV0lcuuXIpAF>u|BnqzYGwaFyX8#g89tvF zFF()6c@N4(l*bJ20rB#C@5asxHFl)OZZ@4#Dk3v94-9{dTs;L>g`s&`^s|(I8V7Wi;Kezu7_8i#>Ih;>~&8y*)I6)kN zeE`n=EIF7U+nZNS6j30#A@@c4E!7uN^jp>LoTxiR3veg*s9Gi`C+!pKP>zq#`23mj z8lRvun&ENcByZBeKT)hiTCAN*@RIg)HToj|$E16DLJq$%!T$bXG7lzngZ#^cOyRmG z=Shgx3icdmqtc-;myl*GQdD_m5tskNfX;joL}lOsqmg5a3XSU;5G z&t!czhrObhxp*MSt)&9{gznTMuB4pLe%KN|ht&}CpJ<_}67Ec!u;%VfiZRJc?sH=U zO`3jWJ1vZU^0Pg*aeU7c^~m1Voas*|_Z&ane>}E(b&RskltcECJ43O(wX#)?=xB$@ z+GG*?)ujGZF?;>k&M;QODI%V#_E{zQq03ORY#f}T1S3r&UJ|Idf2?9~TM|9vxTF7h zENLnq$QMn1OL?wizG$rBxvGK1GPoN(oblzMVKW5uZ!i?}< zz;pmMMkk!=i|=V4W*y&czO_5K*TpYYz0>>X^dFAgl+?32KG_ab#~1U3Pc%OE4s?$P zl6xX8>@tZ!9gEmjoeBepQ9e|o|N z^Q#Hu^OMQ5I*}&!gRwKM*p6Z)>{T_#4rOjpOTAueq?1uZ#v8tvw!rk;c}puPtX;V@ zPxcQ;-y{J>UxgkY#k75%LdrhrVRkhjk2#d}9g4|Y5u+m?i$+f)C?CiOO;mocJ|31| zwMxiesg29ac|oImJ-CpoVm=L^TTMKXj78q!*f=?R0uz5Lh5QqP<+6C6F;2)FJDv2V zQIT{BFTAr^f$jd;ve@0ALMqy>{HO z$@*;4(7K>ejFSs6ayq6 z^SKOkWGgm8%!eGp21m?9cJm_0GftX<;$dX2$*56T-#9rvlq)ft=Sob6?h@jDGp(UQ zv4km*B;RCZ^WuR8i%Fa~m7;ZeT1Gs=ke-=3Nn%Cq^u_iJN*}`B;&~n1zS8nes{@>k zcYl!A>Y_(nD~i23HA_Qi|L?W$zxRa zyOO%{3z=iLQUZ&zsHBatJQlQpJuK(EP))lrn1FngJon`Qsr*X*%gCdgZpcc?f#G|S z>=z5-e#)MtV@}StO3sD(Gd5y(az2c5fK8GWqxMHSY!Ui%r;q2uouucVX;j#S<4_RO zVb44|2^n-o@NttqOMcXJ*(O$ffRhjqmFHqxa^I>uYj~25N!}8_Wxcir@;28;D(xix zE$1Y}+%rb2y(*ciWUcnh-4he2@`dzUc|FAZRg=*1Q>eG!AE#?lZ_hkEac?~D7W`PI z=()(EJDp+DoUf$fPPPt*RW0}QIK8WC?wN}xra&Dp>AUiHW4^UX#>-xnp8E1QJwn|* z^UlPbL4L;V)N;rPo--Qv!|{xQag)!G1FD8huHbIDU_rFYlbDS*cUicMXNK_b37{nP z;o!L0X;)lg^R#4Bl8DNG+W!=fns7ZPq+U$29;0LOFEYnrQgVXGnI|UYnL0DL}iy&RUGgVqi|{YkfBYv zl9an_ipQ12vALQ*!kVl|$k&ut-o}KiO+}wUo3zF}XcH=^s!vdCbZoN*c`YTjtontv zk7-*ZT?uW=XJ-U!Bl~QzAs9@FIj851Sp&}{jwv}vbZsILD$nSAlzA3EAIJ1{FQ)BG zV)NYH^FU&Y#511j%I86j@5FdU5t3NW>nY5^E=}I6tZluf$$pKurRH0xvA9^iMXb3I znf0th)1snVo*5ap&9lVDVsv(@9{v5=repE3CECU*mi_@7!5usgEMEARGkI*;$$
w;_56}0MTf6BcHWkA36Ax@@8AIY@R}A;WV2$)8;JpEbOT%E-dd|Ub5JqmgjU7 z*h|Vx3?DP4Np4lZqy}sLI%*nO7OcwK+&dPR+kk(!?bD=$bAT`6FH{?lw zDTugT1NpM;RWte#?#dM-KfDICmlttfg;gTqhzPI*lw$dUfHJB`9H&^Y2e&jFzxC$J zw)HGc6I^vU^{p#bM9OMccW+%^wzgzAQsDKvi%f-X-#zpM!50m#`1C`k}d#c5r z=BtZL>qxh5Nq5`Qt@dw1dh4RnJw#u}=-n(;IK;8QK5dP)O%|ii?e-Zh zR%7q#l!`EY@MUKDj8=;=RJOX;xYO^qcnb{k3@vH( zG?12)6Uesacv4oT&TLPk@D}PX+@t%MaB-ZrPf;W5$+OYM9{m)=5#R3BeIy)|@A?w< zBQH-6m)A!N7MwgO6pXyFMtGTz;a=Ty+ULA{0oX$>dX5R+H%$_}CepM}VZ2W3#{rvBqbIx}=>s!9Y`?yK>i-dRK7KzG$?Wjq< zU-Pa#>0RM+)Z?RbPPtD+b{@-wJmoT!uVI%MWo0RZ4Xk~p>_1C?C_a4A+*|Mr^e5pw z`2^jL>=b5FjS*3`Jm{Swu|z0O$w#}IdP}PNp4Govf08ZxQ_+vb@88k(=%we+ zzn-rN;R?`8XN+3g3i`qUoF_bOi|@J7pNLW2Zxwpw`d7FU^sWEw`k@%TsE^16&x(YL z*lvCnJK7*l1eU@}^K5q#b~JhMa3;SXp99LFtGp*xv)fW|gGS|r^6bAIt-pHZ)%D^% z=gqv~hMDv%@+O2wQ7=Y5laUJrTbBF>6Xnot8*~09>sHiernr$kAQHy+L|6&x$p8t% z9#GGlzp5X^Zz$a;*9yuxFP>mKcn(EFympCPtb|at+Z?!^2A*l_daiAQ!huPUE12+H zxE<0{lv;uIYQ%Hdt>VA%IRY9s#!P4Rt+n@Rr??wR{xNMNBKA^j=J1lBa|%b98~c{lK~-Bh z%08jmg-8WGa4S$-zJuy^IPJI$={537T81%|w6yl?^e}gRL8jZCNnga@h;Snt;<5C-3m&wgI#d>F zS>X=@9K9YO^E$B`+f)>Z-SQ0h=?M&cXuL<-eCl86Exa%4Hqvt`U2E4;@gEq>nPG<` z3{yXIk~|!?XM)(zM1go3i%VS0Hi_?|3t-an_3t5VP1cRPxD$b`i8CMiT7>l)E2?eb zP^R0MZV?w7E3530kk3g!i0{r@nC473WoOgBX-2=F+Ab0fLvC>$R+U>webFg$OV(w7 zsK_ljM_*oJMPd!)mPsSGANx zhu3Bbu&!_!?}As8qJuC&4-JNk{y$x39w$Y0ul=f0=$@YL=~0XrK*JS)&NJM2&Gl+K4em z;r;!-=H8n>-Z%O1q*HUwd8&WUd7e5|)!o%IR?_~@&tGx%=LY$>`cjQ%%Pm-{YTc#kf}MtjQ%qP8=r5*|TTAG4j1cy^$l&O8cMLso&Vq z1IMy~6{Y=pU)r;&ap1Y94y=e&oP24Iruu>Bnp1k0jXr(BRsE{^#73QQ@s<5l#|1{- zT425`b4#9qsHrWy`kXuG2Rw-32g7@ue&(sxf@8)pW5@Ysc*VQ#uISbr(a#56C%=dA z{qg_5pFt^~dpG4@t99yk1@pH@A2NSr4gT(J`C8*I|GUp?R--gTe9x+v4BM;snW5gN_xQn?p;Je&Q@_k)5=)Lgv?Tdu z=KDR%WHw&&iTRf$k7ran{k-HnbG_8#zu(vQ*G**?d&qrUbN$ivX85tk&KSs)X+br+RlKtS=USSSC{Myk)`gU|bTa6m? zQS$(Q|9|&N8o;-g9fDyZop1 zU;ew&*lwO=&a)zxYwbO5&~cgL-Z;MH_}h;Eu*X?FI(zKxIi%;}p1%uKhFU{wLwmy~ zhik%KxI6r9Nn6QnB_BpcN4g>}Mm{V(rF3=a(dhZnr=st~2E`V{R>xkAeOq>R*{b;1 zxEtSG-m|=>eE$h2opAmMn@;R=;#nuoKXKKG-6ww0Ye=t!y&gQN>7+F$?ft=!A7p;8 z@dsa=e9FnW-a~qOyRP#v2W7aA1*ql>)hPrn#rptADYrMW!038Q}$L{)u&Z&sy>`J zCvkV8JF!36p4^apKUJ3MOnq8&R?Yb}t7~4Y`Lg!3TD$hOy7Ic6^%LuZ`hyMUG~C^= zxAEl0nT>Zh)irHv9@McS7_pEiHd{6iOwz3BXlR$lbtMPDx% zuwdna#}*vAc+kbI7tgzR?ZpQ#314!~C0AXt_L7~KeA6+Y?KXS4 z{Rii4r_=d^JIJkZ?{~kxbm66&FFX0Nd6#{9`PrA>eEH_f_b-erY+2a3@ZN<77k+ug zQ@(A zi`y43U;NtQua=y%WYLoQuW4CYy>x5mIq9?0UV3%<<4icSAhSC2PWJe0zw9a5*6gC} zy6ooczTC*%%-pKn%hyJ)ZM*i4Ykzm`H(lp-WxDR|+S~O-KAIn!KR@r~*X1|o4|&79 ztGsUSJ%7C4>R;vG=6451FeGRQZVomEJA+TJv##rN-T3R0*Ui7qyKen;TdsTO`s1%Z z>-ymOE!Thflk1?#rnReo3UuIul5;;wJjk6k}+{hjN#t^eqk zC;xK(FIWEZtCP!>v_Lk_Up~R-uGDevGI?&kF9-d^JDvd6a7ugZ*src z@|!n)^X10!ji+sF-MDPyiyOasyy5ZXk8gSWncgiipPu*hgHIpbRI_R2rVX23+w|cx1D=`x%=%{zZLZpU$>#N&KYaGAXK#LX zfA{$AwcYPOSN7bb=enMI@VV{JeZ8e>%lTWjJRg4kyyrJO|K-;3*2=ACZ#{3TyEV6U z?beN3U*5WV>){uAzA*8H*)Ieyta)Mk3!lE&@5R$zyz0euFIg{5e5vWB`7f<~=?^a* zeChDZ*2^cpJnZGn%WGfW`10OYtXKNIGWM04R~EhEy|Vh1yIyr)4(=xI@k`*0B3^Ev2J;fm-6~D z@N%$lY_V+L4*u7%jq-XY`2MkV^7<3ne0gkxy#7jGTa0Njru7tCo(4C8&j^OlB7_zp zL$wGQszu09EkcHB5i(SZkfBlQLq zix66bOw}S}sum$rwFsd_$W$#tXc011ix66bOw}TU79q3Fj|DsB8(PcvFj|DsB8(O# zXihoh7q)g;EM=aM9?CF77?_FphW~NB4`mo ziwIgo@I?eIB4`moiwIgo&?15s5wwV)MFcG(Xc0k+2wFtYB7znXw1}WZ1T7+H5kZRx zT13zyf))|9h@eFTEh1v?xW3QnV;Vi&C^GMT=6jC`F4>v?xW3QnV;V zi&C^GMT=6jC`F4>v?xW3QnV;Vi&C^GMGN`3iPXOoElSa%6fH{8q7*Gk(V`SBO3|Ve zElSa%6fH{8q7*Gk(V`SBO3|VeElSa%6fH{8q7*Gk(V`SBO3|VeElSa%6fH{8q7*Gk z(V`SBO3|VeElSa%6fH{8q7*Gk(V`SBO3|VeEuv@%GMGP%sXc0q;7+S>8B8C<*w1}Za3@u`45krd@TEx&Ih88ijh@nLcEn;X9 zLyH(%#Lyy!7BRGlp+yWWVrUUVix^tS^&oLy3@u`45krd@TEx&Ih88ijh@nLcEn;X9 zLyH(%#LyyUzJ6@GjJX5U^=-^Nz-wJu#ZV`PIx*CVp-v2SVyF{CofzuGP^S!a%21~a zb;?ku40Xy-rwnzXe~Q8S2DQCyqLC)QO``9ChNT6Gxpm>cmkejyiGFi5uJG%4^*CE%>S; zdd1Nzj$U!}ilbK?z2fKB;%FB~yExj#t+0+SpITDXbD}sp#?dj3j&XF1qhmQb zmZM`iI+mkjIXaf3V>vpOqhmQbmZM`iI+mkaIjWVTS~;qfqgpwtm7`iYs+FT!IjWVT zS~;qfqgpwtm7`iYs+FT!IjWVTS~;qfqgpwtm7`iYs+FT!IjWVTS~)H&N3U}9Do3w! z^eRWMa`Y-kuX6M%N3U{RR*q8TC{>P9a*gtT1%U3dXE3b<7G=$E+}Q%nDP-tYFLvQ^%|@b<7G=$E+}Q%nHV=V9ZL!tYpke z#;jz_O2({Y%u2?rWXwv&tYpke#;jz_O2({Y%>InopE3J0W`D-)&zSugvp-|@XUzVL z*`G1xmZj`rf5z<3nEe@Zq>Q;i?w*{eC}XY@OoAz}2CN0^z-=9c5 zM+%GLE~(f^b2qpL+zajl4~o-AT7$KhHCfwRv%xvwT=2)>`QQcMJn%wrK6nwh;8>H4 zaPhHu@_F;q#N($Kr-Nq*o-Y5dM(}j-4Dd|BGh|Dvptd*>V=If5>P* zlr1&#>BBAZ*K^EGvghZR&w!i3SEaV+n6C+*%U{psujiWj*K$&`Ove6-1CL1=W zSvOgpda1Y+>;%(b2F!vvuuJMZS<*()1AQ=1l(cCQ>;?7)`+$AHeqaSy3HApEfCIrn z;9zhFI20TP4hO5i5#UI06gV0j1C9m9f#bmm;6$()Yyqc&t>84U4V(_PgEPRHpd&M9 zvSg0F)62li!A&xICriy0H-lR9$=}yp5=nb)2mg!huY)_louIDACQCZ$$Y0X(D}8O9 zr+>9JgU^E9;B$ggP;&}uPBB!?DX2LGHK)k2L$|1!Q{>p8sA^7;V~3)uIR!PRpym`g zcIXyWbBd_BQLq=-8|(x21^a;&U?tce8~_dk2Z4jZA>dGO7&siP0!M%&!BOC7a11yW z90!gECx8>dX0QdE3bumNz&3C?*bdGBXM(Ec6j4*(>1E*MpsG0qHK(BF6dW`KHK(BF z6x5s|#}`pSRsxEu<`g;BD5{!ML`@x8)tn;78hMSHQ&4k?rD{&GRLv=ts#%Si)u>sG zn$@UTjhfY{S&f?2s9BAg)u>sGn$@UTjhfY{S&f?2s9BAg)v^-UXjIEeKvC7KmX&~_ zs#z^70Yz1_T2=yzs%EvRYF5j7KvC7Kmi2(5s#z`T0Yz1_TGj)Ks%EvU2NYG!YFQ5` zs+!fZ9#B*@t7Sc)sA^WrdO%Uttd{kFqN-Uf>j6bovs%^zimGO{tOpcT&1zW>EEiNY zt5LIB)&u%l)vQL%YSgSo&1%%FM$Kx}tVYdh)T~C$YSgSo&1%%FM$Kx}tVYdh)T~C$ zYSgSo%>-&DP&0v=3DiuWW&$-6sF^^`1ZpNwGl7~3)J&je0yPt;nLy11Y9>%Kftm@_ zOrT~0H4~_rK+ObdCQvhhnhDfQpk@L!6R4R$%>-&DP&0v=3DiuWW&$-6sF^^`1ZpNw zGl7~3)J&je0yPt;nLy11Y9>%Kftm@_OrT~0H4~_rK+ObdCQvhhnhDfQpk@L!6R4R$ z%>-&DP&0v=3DiuWV*(u$=$Jsq1Ue?rF@cT=bWEaS5*?H1m_)}UIwsLEiH=EhOrm2F z9h2yoM8_mLCebm8j!AS(qGJ*rljxX4$0Rx?(J_gRNpwu2V-g*c=$J&uBswP1F^P^z zbWEaS5*?H1m_)}UIwsLEiH=EhOrm2F9h2yoM8_mLCebm8j!AS(qGJ*rljxX4$0Rx? z(J_gRNpwu2V-g*c=$J&uBswP1F^P^zbWEaS5*?H1m_)}Uu1un45;c>knMBPbY9>)L ziJD2&Ord59HB+dWLd_Ivrcg75nkm#wp=Js-Q>d9j%@k^;P&0*^Db!4%W(qY^sF^~| z6l$hWGliNd)J&mf3N=%xnL^DJYNk*#g_d9j%@k^;P&0*^Db!4%W(qY^sF^~|6l$hWGliNd)J&mf3N=%xnL^DJYNk*#g_d9j%@k@jb3W3{`A9S8Bh8$TG;==E%=t*O zspn12rk;y6oAt8tY36*Sne&lm&PSR#A8F=%q=hkC7_)^jTNty2F=2XU<%9v9bb1Gv_Wz4CJIh8S|GUimqY-P+= z#%yKGR>o{)%vQ#f2k6LqZ)MC@#%yKGR>o{)%vQ#1Wz1=eIgK%=G3GSJoW_{b7;_q9 zPGihzj5&=lr!nR<#+=5O(-^ajG20lkjWOF8vyCy^7_*Hr+ZeNrG20lkjWOF8vyCy^ z7;`#fPG`*Nj5(b#r!(es#+=TW(;0I*V@_wx>5Ms@F{d-;bjECF%y!0XXUulSY-h}N z#%yQIcE)UH%y!0XXUulSY-h}N#+<>JGZ=FQW6ogA8H_oDF=sI5491+nm@^o224l`( z%o&V1gE42xm>Y~)GNz!6xm+*_rob9db)O|;D%OJyU?bQB&XqOlEY6o_35&MW^W|Bb zFV8ade0i3s=gYH9Jzt(>>iP04IbW7umYy%q;(U3QrRU4DEInVIW$F3yEKARqXIXl_ zJj>Ga`gRQB1h&xUKLp|qE&pFg{j=Xnmsn<#7P|rEka}M>KLp|pSZZj?f=Yto43&4xP zOTZ3c-)MA5S;!MDM8z<0s- zz(0ZSgCBx_20sG-0)7mBBGv9NJ_SDm4}qV9hrz$m@@w$#;5Xnuz;D6tz@y+XMbiLH zuuR7><6t?cGpEBmiNBt~>mTxZ3a|CLQ-{nYMZNCSA#+JluRC?fTvF8QP93IRcj}NC zrKs1PI?Nw2f}W>$nCgNK^Fm(F2X(f0m>s;snAh8`fdzXTv%y9}K|j!0W-EfXl$;;0kahcq6z9ya~J+yaikh-U_Y( ze+u3P-VUw>e+J$G{v5m$`~|oUybD|p{t~eTVe|+g}1-7PLuho5Z$BY}?Spwhc{e+t9?e z4NYv@(8RV4O>EoH#I_AhY}?SpwvBs0O>EoH#I_AhY}?Spwhc{e+t9?e4NYv@(8RV4 z-GAHA{kKVM+tB^D4fVAx*K%tFU*feUwryx)+lD5#ZD?ZKh9;^TlZ9@~=HZ-wq zLlfIJG_h?%6Wca4v28;W+cwniwxNk_8=Ba*@h+%|Z5x`{wxNk_8=Ba*p^0r9n%K6X ziESI2*tVgGZIjrxp^0r9hrrLl!=NU%ZD?ZKh9oAkCxZ(G)Hx`j%T-nOObZIj+M>1~tVwx#K9 zTbkZB>1|t@-ZtrNlioJzZIj-%)yiKry=_a=+a|qj?y}jWw{87M-?g0CDb4~l&u#MD zmX)Nw);zamC8?-+Zp%ti@j?)#$a7oPa?54A=DAIt+m`0JO`hA9=DBTYp4*n@xov5l z+m`0JZE2p{mgc!_Edn*qZAZ_>v?^v4uj-~nUu=01vf5+1NcgcU3{CCNJm;86hf0z7s$$yvp zcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86h zf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3 z{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86hf7j6bcgcU3{CCNJm;86hf0z7s$$yvp zcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86h zf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3{CCNJm;86hf0z7s$$yvpcgcU3 zRD8YBxKwEx(EbYAUqSmTXupW|i)g=y_KRr0 zi1v$UzlipWXn!T`ucZBzw7-(}SJM7U+FwcgD`|ff?XRN!RkXi~_E*vVD%xK~`>SYw zHSMpa{nfO;n)X-I{%YD^P5Y~9zgU#rZY&mM6;oghSPRyH^ecRd>4EV{1f;-_#yab@FVaq;K$%6;HThc;34pH@UWt+ zTNLA9Id}qi5_pEB#8O$eXd69aUCN4ODJzzxtXP(^Vp+^&&9Kc8}KqcpbP5TmkA`*QK&<(Y|^`eW|Ql z6gPp-fSbYJN**rdymhIpUi9^AjDU9L?|H4)Fqg{wSJXRDOJ)8m>NU)z=9{2i$y_R{ zn&pCTv*l0h!{2!Qoz}`4q_1TqBm2fmW~r=O^!03T4#>Nf^@DCdAG`pZ2VMxy2QLB_ z9CM|mel~llrB|?*T89KXabhP<>@?JgorXHG(@-aN8tTMOL!H=Zs1rL4bz&z@>@?Jg zopP43PEeiL$*R6nR;t}bCt7!+bthVPqID-)ccOJCT6dy#Ct7!+b*HJycA{)2%67^s zRK}N_QB=J;(W?`^I?=0B)|t9p_3D&$=0-tPs#9`lv7qYGi7uV!(uppe=+Y?}rGHgj zI?<(5)||?vx^&8#Q{EA}bfQZqx^$vTC%SaXx=z~5x=vAb=|q=KS=Z@n)umI`b&9G> zr>yG~RhLe5=|q=KbV;L28eP)pl17&_x}?!1jV@_)Nux^|UDD{1Mwc|Yqzz5Qw4te( zHZ&E}hNfa#&I%PZ71MH-r>H5Hma{xXO}Vt3_t8I;Y) zIi~J|W_3o+F%>ndGjfipsNT<@dj{Pz=$=9M47z8~J%jEUvO0tM8L~QKYF1~+>J0NC z!+gjvA2Q5`4D%twe8?~#GR%hz^C820$S@x=%!dr~L4N8@_l^0GVLoJ-4;kh|hWU_T zK4h2=8RkQV`H*2gWS9>b=0k@0kYPS#m=77|LzelFWjS>{8Q z`H*EkWSI|H=0leGkYzq(Q9O&*S+vfgwLAk)-cc5nvJl(K?IPS(MG9Y!+p+ zsF_8tEP7?pD~n!P^va@F7QM3Ql|`v6x@6HMi!NDo$)ZaZU9#wsMVBnPWYHyyE?IQR zqDvNCvgndUmn^zu(Ity6S#-&wOBP+S=#oX3EV^XTC5tXubjhMi7F}}aBER-5M~WP} z3a_EvnmmIp}&?Sd1IdsXPOAcLf=#oR19J=JtC5J9KbjhJh4qbBS zl0%mqy5!I$hb}pE$)QUQU2^D>Lzf)73a_EvnmmIp}&?Sd1IdsXP zOAcLf=#oR19J=JtC5J9KbjhJh4qbBSl0%mqy5!I$hb}pE$)QUQU2^D>Lzf)7 zspKT%TKP=!Ho;zCZ?F&87wiXCfO_xvTC+bm02~PFdhA;HOtRt-a40wo91d22Bfyd1 zC~!151{@2H1IL3Cz=>cp*aA)kTS2{#aIJhMS#dhp4$c5)f|r7qftQ22g1r_suSLyk z<#WZl3t#fHHji8=icgdA%#V0{MBj}P@ z)GDa=RlDR&P4RVb2e=d51?~p-fPVzv0CnZxC95OFx4`}20q`KG=K@`FjauMpKPcX5rnOOEo=MzUq2;17ANpPucKgi+K_ z&vr?|DC(zYyCh*0_0zLmk}!(;>Dewx7{$4aFdw`K)Kz+y9LJR<0Ivgo0^>4XGfyOi zbOimxNSCCLqJGA&ixlc&-gYr>yGWrfIhyO3x}NWnqq)A`CFe3-l1Pesz`Y=qmqgN* z``B`jz0ywsb&*J2awS***D z9?avxJRZ!;-6Gwh9?avxJRZ#B!Mt28(Z8w(^Kzd^Q9YQKGZaOg33)j~QB)7+@n9Yg z=H)(-Zcz{BcPC+CsI@o=J8-2 z59aY;9uMa6U>*JRZ#B!8{(!fulihk7{F!=WAy^>C<%Lp>bo;ZP5UdN|a>p&kzPaHxkv zJsj%cP!ETCIMlfulihk7{F!=WAy z^>C<%Lp>bo;ZP5UdN|a>p&kzPaHxkvJsj%cP!ETCIMlfulihk7{F!=WAy^>C<%Lp>bo;ZP5UdN|a>p&kzPaHxkvJsj%c zP!ETCIMlfulihk7{F!=WAy^>C<% zLp>bo;ZP5UdN|a>p&kzPaHxkvJsj%cP!ETCIMlfulihk7{FllA;Y!^4jre)RC8haWxs=;22XKYIAl!;c<*^zfsHA3gl& z<3}Gq`uNeuk3N3%@uQC)ef;R-M;|}>_|eCYK7RD^qmLhb{OIFHA3yr|(Z`QIe)RF9 zj~{*f=;KEpKl=F5$B#aK^zoyQAAS7j<3}Gq`uNeuk3N3%@uQC)ef;R-M;|}>_|eCY zK7RD^qmLhb{OIFHA3yr|(Z`QIe)RF9j~{*f=;KEpKl=F5$B#aK^zoyQAAS7j<3}Gq z`uNeuk3N3%@uQC)ef;R-M;|}>_|eCYK7RD^qmLhb{OIFHA3yr|(Z`QIe)RF9j~{*f z=;KEpKl=F5$B#aK^zoyQAAS7j<3}Gq`uNeuk3N3%@uQC)ef;R-M;|}>_|eCYK7RD^ zqmLhb{OIFHA3yr|(Z`QIe)RF9j|Y7`=;J{j5Bhk}$Adl|^zopN2Yo!~<3S$}`gqXC zgFYVg@t}_feLU#nK_3tLc+kg#J|6V(ppOTAJm}*=9}oI?(8q&59`x~GfCmFS7~sJG z4+eNJz=HuE4Deup2Ln79;K2Y726!;Qg8?24@L+%k13Vbu!2k~icrd_&0UiwSV1Ne$ zJQ(1?01pOuFu;QW9t`kcfCmFS7~sJG4+eNJz=HuE4Deup2Ln79;K2Y726!;Qg8?24 z@L+%k13Vbu!2k~icrd_&0UiwSV1Ne$JQ(1?01pOuFu;QW9t`kcfCmFS7~sJG4+eNJ zz=HuE4Deup2Ln79;K2Y726!;Qg8?24@L+%k13Vbu!2k~icrd_&0UiwSV1Ne$JQ(1? z01pOuFu;QW9t`kcfCmFS7~sJG4+eNJz=HuE4Deup2Ln79;K2Y726!;Qg8?24@L+%k z13Vbu!2k~icrd_&0UiwSV1Ne$JQ(1?01pOuFu;QW9t`kcfCmFS7~sJG4+eNJz=HuE z4Deup2Ln79;K2Y726!;Qg8?24@L+%k13Vbu!2k~icrd_&H;99_88?W71VshKB$xtg zKs|rIK~&Jc)`N{;6R77|H^}%K1TU5&wR{^)w#at~KnHZeE-(-3dHr(vzQ3ZL-7lAK zq;?xC=(~cxD-7+s!qC1eE9twEzANdwlD;eHyOO>u z>ARA?E9rY9eQ%`ijr6^dzBkhMM*7}J-y7+BBYkhA?<)GPqVFpDuA=WM`mUnyD*CRX z?<)GPqVG-gy@|dz(f20$-bCM<=z9}=Z=&x_^u39`H`DiK`rb_6o9TNqeQ&1k&GfyQ zzBkkNX8PVj-&^Q=3w>{)?=AGbg}%4Y_ZIrzLf>2HyPCeM>ARY~tLeL%zN_iGn!c;) zyPCeM>3b`EZ>8_8^u3k7x6=1k`rb<4Tj_f%eQ%}j8v3rG?;859q3;^{uA%Q5`mUkx z8v3rG?@tA{8MlGA%Qzd2+hrU@2XsN5W4ANT?Tm9fQ<<2ktwe3v}2YPMiM zumY@8u&Z#_uwDE0=OOgFL1B1N_xG?9)7@lalE^Ce!t488(xqy7b6 zZwLPid>z~Y?gS6$OfcVJPu_#^ea8HN?VqsyQ(hn9uV1j`ue|<>*Z*LDjw)J)?!P>k zQD4i`O9cDqo>-T%pprtNH6BR z^_=dN#Z0zd<@N7nwDqz^on+ii#@++o3*HCb4?X~H0DlEO2tEWpY&Zy*`82)Y<7|JN z?T<_H>lWSq1lylr`x9(`g6&VT{Ykbz$@VAN{uJAvV*68Ue~Rr-%l3`N)3RMrk1S8i zc11n1Jk62iX^t#Ub7Xm%Bg@nB-q#sV%RRMjV-q86VuVeMu!#{iF~TNB*u)5%7-175 zY+{5>jPML2Ji`djFv2s8@C+k7!wAnX!ZVEU3?n?l2+uIWW@`8>*!@pbExL^tq|VQ= zWsCgg#B5Q>1|84^mx@MPWDY5&!3>xMbKtcy&K9}9)GC+yQHLkb?Z` z?QGeid0t>0QZRHKQZRHKQZRHKQZRHKQZRHKQZRHKQjn)_D(X6b z_FKpKA*kz+f}!h>g8T-mqOL;<^4pDyx(+EAx(+GGlPtBDu0sm)%tu9ChZGE5hZGE5 zhZGE5hZGE5hZN)&eH3*aQZRHKQZRHKQZRHKQjkZqD(dQ@!0MvF>Y^auxzR1Ux+oae z!q`Qf^PtY0g5iS!sOyA+I9pNI2?ayf2?ayf2?d$MPYG&f7DPcsT_+S|Cax0HOe@HI zdstA{2?ayf2?d!)ikhwk)(HjH2?ayf2?ayf2?ayf2?d!2in>lH7`jd<7`jd0!{^6!D(O{I2~*UXMi(7U5#uv zF9RpYn=+pS;m`a$p^a5LMV z1-n6Aw`@o8?I^z8dQG;xE(yF*P>gya;U+1X01C|}I?0{tlEIVM?0m}~grNr&V4*8`-MP=DxD9a9x-8*2} z0m}|pcEGX&mL0I{gk>izJ7L)g%T8E!!m<;Vov`eLWhX2mR+#yf@K#hyJ6W4%Whb9!?GKe z-LUM2Wj8FlVc8AKZdi81vKyA&uV8lySO^ zKgu|Yy1MwIjMHtr!T4`5{u_+{2IIfM$Zs(68;tx0Bfr7OZ^+2qaz3f^|4sV7N#8f= z`zC$gr0<*beUrX#()UgJ?xXKM`tGCeKKkyX?>_qOqwhZY?xXKM`o2Zqx9Iy8ecz(* zTl9U4zHia@E&9Gi-?zT+E7jO;>}Q1ijIf^(_A|nMs=6QT_M_c?wA+t%`_XPcEc;>E z56ga7_QSFtmi@3CfaL%z2Vgk>%K=ypz;XbV1F#%`xtE`8sn@4NJUm%i`P_g(tFOW$|t z`!0Roqwjn4eUHBH(f2+2zDM8p==&ah-=pt)^!=0IHsgIpc%Kp8XN30|;eAGUpAp_? zg!dWYeMWen5k8>r2lV}bz8}!{1NweI-w){f0ewH9?+5h#kiH+%_e1)ANZ&tmMg7lQ zQU9~F*=GD%+9>MP>_1DJZN^8m`G__j(dHxCd_GdhSKBL!X^!kimpV8|xdVNN(&*=3Ty*{JYA$lF6*CBcxqSqmM z9irDEdL5$IA$omIug~fAIlVro*XQ*5oL-;P>vMX2POroCI!v#_^g2wh!}K~#ufy~@ zOs~WADoV9C8bztLqJFZp$o;`0_XmsIA1rczu*m(vBKHT2+#f7*f3V2?!6Nqui`*Y9 za(}SM{lOyl2aDVvEOLLa$o;`0_XmsIA1rczu*m(vBKHT2+#f7*hFFyIi`lYQ&x2cK zZBvx<3*GV(d#mTmMeZIJxqDdT?qQL;hehrl7P)&^?UU$7ro0ak+j!2#eva1b~c90Cpnhk?VvDsTii5*!7N2FHNCU_}$8F)GPiQK*YLO##G(fBLb_*b&=uVmw2 z$;Q7*Hg?Nj^PmU%U?BJr1J2w{b-7wzUfC^^+r9 zKRLpclOtUHJHnNdBV0K-!qvGWl5E;iubdo_WK+~DCr7w)a)c`CHj=tg@ zeZ@Qaig)xC@91yL%)c=+|HjPx8#D87vS!$B{EfBN*R=VXHeb``YubEGo3Cl}ciQ}& zHh-th-)ZxA+Weh1-_Yh8+I&NsZ)o!kZN8z+KWOt0+Wdny|Der3X!8%+d`p{eY4a^@ zzNO8#wE31c-_hnf+I&Zw?`ZQKZN8(;QQ91(%~9GMrOi>=9Hq@M+8m?JG1?rX%`w^> z(>A7|Z3M;Lg5qvLakt>J#wmhZ6t%sewl`^S(%z)KNqdtvCT%QTDakb&`J97k$>&4l zdW|HrqWs2%p!~*#p!~*#p!~*#;6CtA+D1Nop(x)I7n}pm1%C{l4_*My11|*UgBO7d zz>5WsV^5A_PmYr-bv5R3vJcw?<wC_Rt9<=X4`<}G#N&B9(?@9ZfwC_p#p0w{t`w;Czv=7lf zMEel!L$nXkK1BNx+LzG2L|Se%OQfZuR=Y%6Dr&VOw2aU)Ldys(BeaarGD6EzT9(qX zl$NEmETv^BElX(`rDc?sQCdc68Kq^EmQh;9Xc?nrjFvH4#%LL%WsH_(GT*kDWisCs zWmPXIt9moe_Bh+)Y>%_OobBaoFK2r>+fQKo32Z-s?I*DPMA?%KatBv_kzVjx8TmxX zx=Dg^<=;F}=B;dzIjJ}soCC@?Xk^Qe!Slfjz;CxU%+b=B_fENq)g0UBjyI+w2-d$f9`@+~4#=bE2g|RP;ePQeiV_z8i!q^wa zzA*NMu`i7J?8OacKN$PL*bl~jF!qD7AB_EA><42%82iE455|5l_Jgq>jQwEj2ctfj zahs`6X541#lNmP%>fEk?u>!^lxGLbPfU5$o3b-oZs(`Bkt_rv+;HrSD0xo@Gqp-lG zPi)*^>Ju9k)kl?jek3UOG6ZE6A*jx(_a8{P{}^%6CQ<&eb6U7Zjet`=sxskANs@CAIAPL_J^@QjQwHk4`Y8A`@`5D#{Mw& zhp|75{bAJSKW;Pi`H$P=GaSk|0LB3@4uEk0j00dC0OJ4{2f#Q0#sM%6fN=nf17I8g z;{X^3z&HTL0Wc1PaUhHXVH^nKKo|$YI1t8xFb;%qAdCZH90=n;7ze^Q5XONp4uo+a zj00gD1mhqW2f;W9#z8O+f^iUxgJ2v4;~*FZ!8i!UK`;)2aS)7yU>pSFAQ%V1I2gvk zFb;-sFpPs?91P=N7ze{R7{N;}95! zz&HfPAutYsaR`hpMD5EzHRI0VKaFb;un2#iBu90KD|7>B|*6vm-24ux?jj6-1@ z3gb{1hr&1%#-T6{g>fj1Ltz{W<4_of!Z;MhVK5GZaTtulU>pYHFc^oyI1I*NFb;!p z7>vVU90ubs7>B_)48~zF4uf$RjKg6Z4&!hbhr>7=uHkSEhif=o!{HhZ*KoLo!!;bP z;cyLyYdBoP;TjHC6bZRd7|oRRvcSTvc#Y!BquU6%+Aj(~9lj3Zzi0VB_uHF?gg zpr-3c7)QdW&yAHWFzRz)^|h`XM#4A}#*r|NgmEN{BVil~<471s!l=)I-DZyBJ&xi% zj)HL%jH6&21>-0fN5MD>#!)bif^ig#qhK5b<0u$M!8i)WQ812zaWsshVH^$PXc$Ms zI2y*$Fph?CG>oHR91Y`W7)Qf68phEuj)rkGjH6*34dWOX$G|uS#xXFCfpH9sV_+Nu z;}{snz&HlRF))sSaSV)OU>pPE7#PREI0nYCFphXY7Ot^yjfHD0 zTw~!H3)fh<#=pbII2gylI1a{fFph(9JdERE91r7o>Ny_9@i2~uaXgIUVH^+Rco@gSI3C9FFph_D zJdERE91r7o7$?9u0mcb1PJn9yTod4$0M`V#CcrfTt_g5WfNKI=6X2Qv*95pGz%>D` ziEvGXYa(0|d3O_GoCxDY7$?Fw5ypuyPK0qHj1ys;2;)Q;C&D-p#)&Xagz;3)Sx)7g zP6bQA2v`b6!5Ao4R;7(xSrwEktAZySTO)X)qI@@` zTTrgr3H}L`U(GWAL)vT;)U)_W?9UXoOkv9uxl&Xk&#l)r-W0tCE-2T)1%E4;Fiw(Q z3F8Og$zX4=57-wR1&#*CfMdaNU^6J!V`ZGFpj?%e*VDi@a5^a0X=VEi@H|k{PoH7B zPS6G&&;{j+oNQmp>rOBYW+Y>^inwUgtp%^uYj>E6nm&`RtJ3_wQOhpJ^tf z28tcv_1eZftZ0RGi!~NJPxnE7BU>Lm@WUXto1<=U@q(dy~*Llw1p`utEutzMGqCFR6zqIxN+m!f(ps+XdADXOPW>Rc!7 zb?)htIu*5gDXOQ>>(tj;J$+uMqE=6z*Qu!0)8}gn@36}5UPs+XdA zDXN#EdMT=xqIxN+m!f(ps;5t-lqyj@eJZ8C*6Qg~DL0xmRIi5W)lj_}s#inxYN%cf z)vKX;HB_&L>eW!a8md=A^=hbI4b`imdNow9hU(Q&y&9@lL-lH?UJccg=L<<4YN%cf z)vKX;^6Q&y*XqeH+kslW8md=A^=hbI4b`imdNow9hU(Q&y&9@lL-lH?o~BogSwr<| zs9p`#tD$-|RIi5W)lj_}s#inxYN%c<)vKj?wN$T`>eW)cTB=t|^=heJE!C@~dbL!q zmg?0~y;`bQOZ950UMLsa`E} zua@f7QoUNLS4;J3sa`GBtEGCiRIirm)l$7$s#i<(YN=i=)vKj?wN$T`>eW)cTB=t| z^=heJE!C@|dUaHy*jE_NA>EcULDn|qk45zua4@~QN22Zo2F)vKd=byTm8>eW%bI;vMk_3Efz9o4I&dUaHy*jE_ zNA>EcULDn|qk45zua4@~QN22Zx8m)vKp^ z^;EB(>eW-dda74X_3Ei!J=LqHdi7MVp6b<8y?UxwPxb1lUOm;Tr+W2Nub%4FQ@whs zS5Niosa`$RtEYPPRIi@u)lZx8m)vKp^^;EB(>eW-dda74X_3Ei!J=LqH zdi7MVp6b<8y?UxwPxb1lUOm;Tr+W2NuYu|{P`w7K*Fg0es9porYoK}!RIh>RHBh|< zs@FjE8mL|a)oY-74OFjz>NQZk2CCOU^%|&N1J!GwdJR;sf$B9-y#}h+K=m4^UIW!@ zpn45duYu|{P`w7K*Fg0es9porYoK}!RIh>RHBh|NQZk z2CCOU^%|&NBh_o9dW}@Ck?J*4y+*3nNc9@2UL)0OqNQfmMyl6H^%|*OBh_o9dW}@Ck?J*4 zy+*3nNc9@2UL)0OqNQclCaTv&^_r+&6V+>?dQDWXiRv{`y(X&HMD?1eUK7=8qIykKuZik4 zQN1Rr*F^Q2s9qD*YodBhRIiEZHBr4Ls@FvIny6kA)oY@9O;oRm>NQclCaTv&^_r+& z6V+>?dQDWXiRv{`y(X&HMD?1eUK7=8qI&uq?G5tnHNEQF%z0Te=Vi^pGRbV_ysVk? zvS!Z9nmI3P=De(#^Ri~n%bGbaYv#PHne(z{&dZuPFVm-NZ!`5N+uKZi%Jv39Wo&`5 z1;!Q_TVQN~u?5B!7+YX$fw2X~78qM#Y=N-_#uga$8Qj7JqdtRsgQ?HpR@Cc1Q(>G6 z<5U=@!Z;PisW483aVm^cVVnx%R2ZkiI2FdJFzOS!Wn>uj3Edk^eL}aQGV1qrCJAa) zTVZU4u@%Nv7+Ya%g|QXJRv24hY=yBE##R{h`Q0)yjQafU4f1V6Wt;}%G#IDBI1R>W zFiwMU8jRCmoCf1G7^lHF4aR9OPJ?k8jQVu%ZKgimdz-0G_ue3=jBPNs!Po|48;or* zw!zp2V;hWZFt)+i24fqHZ7{aM*ao9M`&+nR)MtNhF!kBridxm_FiwYYI*ij{oDSo3 z7^lNH9meS}PKR+ijMHJ94&!tf^~vBeGK~6U@C~Lu8C+2r+vS|SMo`skhqoQxc6i(2 zZHKoV-gbD~;cbVv9o}|$+u?18SDzj(as?I0MER zFwTH+28=UcoB`tu7-zsZ14ezexQq&u9C5w$K0Pc4e6l%Y0bo!!jS14q@3QsjXLsI=B|p z!L^_ct_5{)EvQ2(Ut>Bl{zgH)2kprCih2*)k$0-t38ujes8^yKd8hxEy)%K+qo~t= zS3$1HK_-NFfH8Q4h!8OAfe;l$!eJl-Br(kS9vPBh-kAw=#l-XcbARse|OFQ`F;C+=Y8MFkc*(``o5of-tOw^U;XNN zs;jH3yX!Sv0j>la!6vX-Sjl;_lJjOI=gmsao0Xh5D>-jga^9@uyjjV4vy$^>CFjjb z&YP8-H!C@BR&w5~w>*R@Dt5&LXhIXZ2$$7Jq z^QPW#BgU>(D>-jga^9@uyjjV4vy$^>CFjjb&YP8-H!C@BR&w5~gwIOOo0Xh5D>-jg za^9@uyjjV4vy$^>CFjjb&YP8-H!C@BR&w4$l>?L3?0ecD9OTb$l>?L3?0ecD9OTb-OU90iUB$ACwH zW5N7A5$!t;yjrcna?M6%xC&eit^uzBzXVYNeg(W4yal`!ybW9j zeighOyc4_&yc@g+ychf$xE}mEcprE_sQ;Fg=lU;Z;iKR;!7lJg@M-XQa2vQCw5Pn5 z>q&A$d&+CMo+LMX3H&j*6a0JdAHbi0KLs_Pr_%o%{73L*(C!5+*OTOizXbmo{1@<7 z;IF|~RBxBtljOqRfV)6FcdZy3{a&so$<5C1!T$pPANb$k|A7As{sG)$=mOAzb{Av0 z{mY(kENJJT<$6BcQhrpe>vDG*F{cyr3Gj2o&jT-GYmxdSHt)UuA6%ZrHYGg|MAv>YnbNn9YAB=6}g?kJ<6~ujkLTm;Uok ze(FE(3@5U6lI5s#wD$GyA?CfHo?ceWWVW6_%oJkIw0!Nq@Pwac>)9-S20RCxLHxNa zp9h`~UI2a;oC(^Ug5`Sd-F&e7EX(!uyDi&&mgU~=6xiJRmSYiE43>bUU>O(zqhJh- zgY!ZC!?i42j^zd5La+k70<0vjYOn@e1YQZ&f^}d$*Z?jDmtbKjxD31s{5)H&|GC`$ z?M`UDrsdvxP0Q`y?u0F1E7%6w==yT|w>#k%!ByaDa1Hn+@LKRX@Op49_+@gx0lX2s z3H%CpGk6PlD|j2Y4*V*3J9h2>?*#7x?*{Jy?*+dGt_L4y-zQmqO1MJL@lF@oo!=Ge zn;Gi8a-sGAZMMKILc1DjrAOCFkFM2bCv&YfJDJdGRIBEQGt}&4LaR}&&T3Svv%1u( z+2IT~7|P~)q27AX+wV&h)24Hf;WF?la5-q|wCNmVXu7n~&upWg*+xIJ&He?zwb{P_ z2<udU75y|y-IcPiW5Tu^V7 zYT0Ujn@fOI;P>~`D`qSB17p%zYu~0PGuH`UATej@^^WF)S1B|T zHmLUww5<0IgnIA5*(`INLd(}?nKQI}nPpCBx--k1u!&_mDw$lZ4l^*Y)gmJ-wIf>AhUfUf0umxt`w3_4HV-r^j-y*ZcnN zYi^RBSA2-&4fOFg(8t?AA8!MFybbj6Hqgi0Kp$@deY_3y@ix%M+dv<01AV*=^zk;( z$J;<3Zv%b24fOFg(8t?AA8!MFybbj6HqghjS#&y`&7xyy?Aa_jhE`iP1Xf!%1lDG5 z2&~QA5LlbJA+R=cLtt&@hQQj)4S}_p8v<)HHw25pCA#~+LC2=yGVm&JIrw?d?m}*$ zf4G7E;RgDL8|WWypnteQ49{1Z?}Fbm6vKuKz*ftP{^16(t$49*Xh*~b|8?*_@P47q z4%8{M^4jb`hF0E3X-OWXC3%#VPaK zEO%qM8_PCZk)=1EZMGsq^Vw!A>U2G-$?JtSio$F~Li3;5iiGBW54rS^OAop9kV_A_ z^pHyr;~~szr1W;gF|U!(jyUEuavRBOBY82ekzy<_<~0&pUK`14BYABkuZ`rjk-RpN z*GBSU1|+4oyqEz=Xn8RMlG{XHo5*Vux@;n^O|Z9#yf%^7Ci2=uUYp2k6M1bSuTA8& zNgQsGP0MSOI5f1pHi^S6u9w!Jm)4+{)}WWxpqJL5m)4+{)}WWxpqJKQGka}jug$bP zn`wDAv)5)?p3Ss8n`wDA)ABsVUXQWYW9;=9dp*WpkFnQd?DZIXJ;q*7i-9ffX)$1E z?dsEFz|clWo)!a!HbU~W7%;RElBdOhq1B(KsXtFsf1alPJWc(127jKxpJ&MB8FG1s zT%IA9XJGFc*n0-{o`Jn*VDDM>dX~MOWv^%1>sfqz7T=!5w`cL~S$umI-=4*{XYuV> ze0vt(p2fH4@a;K#dyZV5BbVpMl*BSQv@}XX{=a{vvSlg;=Qd>4_TQx(np;_Ci8Ildn+E&ewY-rZD z>ZvM2v$hp$KajO`?gz4FI2;@S=7A%@QQ&BB40sec7R=u>Q~QoH)U`&v`+-I;4GX~{ zuox@>OTjWQ0!G0Y7zgL?87d3qT7Di6pU1=J@$h+-cb($R!{=3AL-X)?mDkWbd|u@> zG!LIwd1ngE!{_nvc|3d`51-fdf^yOLs-b!KyvA1z&BNz4zG`S5KCkgrL-X)?^&ZCx z&BJYYxD5}t;o&ws+=hqS@NgR*Zo|WEc(@G@x8dP7Jluwd+vo#t!_RH_xeY(J;paB| z+=idq@N*k}Zo|)Q__+-~x8dhD{M?40+wpTdes0Il?fAJJKeyxOcKqCqpWE?sJAQ7* z&+YiR9Y43@;dVUSj)&Xva62Au$HVP-xE&9-VFa@o>959O|~?q0J$)*4Z2~ zh85rypgqlHGs)=xiFGU+E(5OumxG@NS7@ZgW|A>%1e?HSL+8zoJ3_7258aXA5YV1f z{Gl5Lc32vn_YLQPUkC34?*})5yS!lD`TqhVT{cIJ{#hCSZH^jS zHveso8bkBn=BSAX&3~Jt#?bt?IckLX{{sHMfd4Nz^Zx~B{=b0#FX)YOd4m5h;QtHi zy;zL-|AIIFUtqlJ1;)ExV7%)E#=C6Zo3+m7y)iWZZQdJ0mv+hKc#{9Qg zcMQ#cn{`Ks|2y!12mbHC{~h?h1OIp6{|@}$f&V-3e+T~W!2ccizXShw;QtQ%x0!sl zIGf4G(9Wnv}wBE&!I0yZRbI^~m@MA3e z7z;nf!jG}=V=UO*KAq0y_A#_R-j8L$(E4~btIt}Yaci^s7#g=b;dUq7?u6T&aJv(3 zcf##XxV8CzB1&)E+WbF;#;wi&BZS+XaJv(3cf##XxZMf2JK=UG-0p#l>C*1x-t=|^SG-t>7Pt^JujsWw(k>DtBG&lx43LFdSpNO@W{)yQAR4rkj z(C%K@EInI^nctabnPO61B zwDIbsT6jYnuTH95hF44XB;(ad#;cS1_XLZv@#>`hJ;Bh%tCRZo1VbCIPU_zi4A+7- zUY*pxCm7mzbyBmV7~Txt0^SPV2HJRaQnRBN-VWXg-UZ$b+IV#`u<`0-VB^(E&5mMd ztz1&GqZnE%m(=VihBjWEWV|}5*->oS#;cQ>|HSZV(8jBin)$@gMlh0^`NYu1tCNgZ zCmF9!GG3k3%qJFaqYX*Td}3(h)k)2KV)#?=XW-Ale*|9!ZM-_kcy*HT>SXZG#QY2R zEAZE#jh`eLuTC;vowS)x6!Wj(Z$TTcP6odR{|o$o;D3WQUY!hVygC{D0o-HAcy-b_ zmaU#A8Lv(-PC6T}PP)^HvGMApv+?Srv+?Srv+?Srv+?Srv+?RA zR$HeQ{yc~OKmUY%sTI;q)FY}s0vB;(ad^(*u*dW=^m^^Xh|Z{yWT#;cS1 zPXx~r-lJV*!_v@#>_v@#>_v@#>_v@#>_v z@#>_v@#>`JY%#R)>ZG^v>ZGqEFB^MFdK-I5dK-I5dK-I5dK-I5dK-I5dK-I5dK-I5 zdK-I5YQ7hlMy->KS|`1Yt|WaM z*ba7pSA$;!SAna+HQ<-PYr*Tl>%q04ja?@-=Zv9^T_?SbT_-i?jG>KPCpG7cp^aT9 zHRp_>ja?_bja?`G?bx{kw6W`?zYDw@ya&7&{2I6(w6W`?f0E^=gf`olX0KNJZ)nWh zY-5J@1o$u1ZX4QN^&6GtUS$^Ndh4&p4Zr>~?y_=;NW^+Fqad4+L?R~R#YMaPl0s()@+2o{0Gpxse=MK#T^42*zL(2mnr zRMQOSgXO|q*vU8>a@`58rM6oalP{z*E_Fq zz4IE^JFjuQ^BUJXuW`Ne8rM6oalP{z*E_FqHhhh<;cm*lo3ihw?7J!ZZqDGlVPH25 z?1q8eFt8g2cEiAK7}yO1yJ28A4D5!1-7v5l26n^1?>O)Oj`RNSIPd?C^ZxHR@BfbT z{_p6s{Z4Fjy5G@f`<>XZWouDwHkd6!>zUYWFox=xXkK{rg@nVv;ot}`4;%@qFQhc; z3kh|O5FQ1pFQjF?nI+VlSw7G?qEEPdPp434H=*9l^31Oy9H;b0Sc%l9(V0bPF~jX? z9HHLK66(z?q2A0A>S-K5T(k8~*WA9kAEYsE&4}WUb@yrcI4hA*B@(JcLMzd`h<_LH z?;`$P#J^h{_W5^)N@Myc+wnCn&U}xJZX+6&GD%;>Rl_PYMrnV zRISspYMr-tmivV24f^*vJtSFHFm7;f1;*ChP`#K;02jj9Px7T7IEgexX`^e-!^S zmh#nB<=g4)?LtGfqC&NzLbam)Y^5<&JL%6>n`2lm{0!;seY#F9TY7t+uG62RH0y-r zI^ONQr!7J|2JO8kLpug%knarH+~V!+o<5=Gq!sG!p-^+u`g4`W(9+mDEPX;tWACsS zTAK4nWAAA6d3#60(6-t;8bY@66usvudZC_Y6Y6<3p~j+xOTlH}RiL#__WZn|u5*QI zGllAZ3e{!`)n@w7+H7yaqrta*YPL7UpA2fYH!Yt6o(f(FYPL7U&jJg;i@{64OTpQoW_wf0xuC{F zw5-|QgjL`#_FS#ySN2>X+^raU(!Nh<{M(cEhQ|L)_`i^?7qaz2wqD5A3)y;+ws!i9 zwAIjR(M8%S)K){Qb@tr2q1C!sq@P9lS)`vu`dOs6=e^f@d*1tMU!as*gjV+ol+w`Z zUI8gD#?HmqxfnYaW9Q;)SeI!>Kag}Ye1o% zSrYC5cN)qo!*cCAn|x=J?`-m&O}_Swai^cd*>(^$&&W9}3lH6Gp)ps6LxwOdWf+d4-=#N#|11xs-G+C7r7t z*A{KHlFn6+%h382b1CUuN;;R4+SAdUino%^rKEEy>0C-Wmy*tSvXzu)s)bfko~agENqMGPXeH&DYN3_Xo~d3dw35!l z&w2PcPfwwA`gwW^#qb<(26!%b9(X=@0r**PCTL2{qo&QHrp=?K&7-ExlmD`b=kw5L z9-hxbqj`8f4~^#G`8+h5hv)OGSE+r?^Lcna56=r>wGdVdVYLue?Wyl|-k$n4w7x+h zeS<>!28Hwu3h5gZ(l;oiZ%|0zppd>nA$@~F`UZs>(VF24=^GT%Hz>5HViaS2gF<^M zMreJ5LU$}^eS<=0eS<>!28H%ijFzo$Q0T00Q0T00P-xG_2(52W=&Wy0sJ7J5`UZv0 z`UZt+OASv1KL}dipiph8q4f<4)s`As-@s-CFmJ7IP)OgPP%Wx0Ti>A2S>K@0o{$k* z-=L7bK_PvELiz@U^bHE>8x+zvC{(*@DXni%NZ+84zCj^}7^@_LFrqG^^@z(#9 z5A+QR=^GT%Hz=fUQ0T31Q0T31Q0T31Q0T31P)OgPkiJ17eS<>!21Te`gvv#zT!hL+ zs9c1~MW|ea%0;MLgvv#zT!hL+s9c1~MW|ea%0;MLgvv#zT!hL+s9c1~MW|ea%0;ML zrozP+7cX#IS9JHycW`Sx~(q4o2NQMnkEi&424m5Wii7?q1rxfqp; zQMnkEi&424m5Wii7?q1rxfqp;QMnkEi&424m5Wii7?q1rxfqp;QMnkEi&424m5Wii z7?q1rxfqp;QMnkEi&424m5Wii7?q1rxfqp;QMnkEi&424m5Wii7?q1rxfqp;QMnkE zi&424m5Wii7?q1rxfqp;QMnkEi&424m5Wii7?q1rxfqp;QMnkEOHjE4l}k{$1eHrr zxdfF>7U(6Iy^OVF_d9ZS%$1RYDzu>>7U(6Iy^OVF_d z9ZS%$1RYDzu>>7U(6Iy^OVF_d9ZS%$1RYDzu>>7U(6Iy^OVF_d9ZS%$1RYDzu>>7U z(6Iy^OVF_d9ZS%$1RYDzu>>7U(6Iy^OVF_d9ZS%$1RYDzu>>7U(6Iy^OVF_d9ZS%$ z1RYDzu>>7U(6Iy^OVF_d9ZS%$1RYD!u@oIk(XkXAOVP0u9ZS)%6dg;^u@oIkIa*6O zT1z=vOF3FgIa*6mxfGR4QMnYAOHsKLl}k~%6qQR+xfGR4QMnYAOHsKLl}k~%6qQR+ zxfGR4QMnYAOHsKLl}k~%6qQR+xfGR4QMnYAOHsKLl}k~%6qQR+xfGR4QMnYAOHsKL zl}k~%6qQR+xfGR4QMnYAOHsKLl}k~%6qQR+xfGR4QMnYAOHsKLl}k~%6qQR+xfGR4 zQMnYAOHsKLl}k~%6qQR+xfGSlP`M11%TT!tmCI1M43*1JxeS%dP`M11%TT!tmCI1M z43*1JxeS%dP`M11%TT!tmCI1M43*1JxeS%dP`M11%TT!tmCI1M43*1JxeS%dP`M11 z%TT!tmCI1M43*1JxeS%dP`M11%TT!tmCI1M43*1JxeS%dP`M11%TT!tmCI1M43*1J zxeS%dP`M11%TT!tmCI1M43*1JxeS%dP`M11%TT!tmCI1M43*1JxeS%dP`M11%TT!t zmCI1M43*1JxeS%dP&tCi5mb(#as-tls2oA%2r5TVIfBX&RF0r>1eGJG96{v>Do0Q` zg31w8j-YY`l_RJeLFEW4M^HI}$`MqKpmGG2Bd8of1eGJG96{v>Do0Q`g31w8j-YY`l_RJeLFEW4M^HI}$`MqKpmGG2 zBd8of1eGJG96{v>Do0Q`g37#$ z>UkGcXrm3hiz>AKRTPz@s2oM*C@M!$If}|rRF0x@6qTc>97W|QDo0T{ipo(`j-qlD zm7}N}Mdc_eM^QP7%28B~qH+|Kqo^E397W|QDo0T{ipo(`j-qlDm7}N}Mdc_eM^QP7%28B~qH+|Kqo^E397W|QD)VNs=gnfFsmzhnBW2hWMWqbSBQd%$C-aa<8UUUqVW2hWMhnB zW2hWMhnBW2hXb#g5Zr$5A;>iycShI4Z|cIgZM4RF0!^ z9F^m!97p9iD#uYdj>>UVj-zrMmE))!N98yw$5A>UVj-zrMmE))!N98yw z$5A>UVo-dU<{d}oxXd}<_rE;e)C%&Bca^lO0xA)>Z_3xpU-rkEhwDgto z)6hn$D>Zs%Xd~73CU~dN(%YNhhL%1-`UL3{q)(9E-hJ-$_U^NxrMGvVg`}?{eHH1e zNMB9*YSLGezMAwk#McmCLwpVKi-=!D{37BP5q~A|R}z0E@mCUGOMETywZzvFUq^f$ z@pZ)45noSyJ@NI#*Aw4Bd;{?f#5WMXnE1uSFD8C5@k#wzLK)9)V)fj(Y;5*&w%HE=Yr>f7l5Ay zXMz`kv%rf%{acDG7?Ueua;5(B*OraRmEM?K>5a*i-k4nJjmeeXm|W?N$(7R6(3o85 zjmeer-O!j^sizJMjmeeXm|W?N$(7!iT5a*i-k4nJjmeeXm|W?N$(7!i zT5a*i-k4nJjmeeXm|W?N$(7!iTi(*sG1=&i$wuAJG&Cj~y)oIS`)r2BWTRS}twLk65hfd9vJoa5VX_e>8)32$ zCL3Y05hfd9vJoa5VX_e>8)32$CL3Y05hfd9vJoa5;jj@78{x1K4jbXH5e^&Sun`U$ z;jj@78{x1K4jbXH5e^&Sun`WM;IIh}o8Yhs4x8*PV|ivzO*GkC#zMVc?3>`W32vL< zwh3;V;I;{Fo8YzyZkyn?32vLJfWr=IUlag*HpZ zI-%x~6WVikHcN(~J$Ls-jiMOZb9Z0VD2kyyclSk&q8Qq9cQ%uTp*?qJGieywb9XkA z#?>mD*kTDD%x*6Y}M z9b2zs>ve3sj;+_T^?J5m&(`bNdOcg$vUM$6*RpjjTi3Gn%i7xMzpSl>HkR^bZ53*( zp^epinX!~F>zM8HH<11Y(%(S(8%Tcx>2DzY4Wz$;^f!|JM$+F%`Ws1qBk6A>{f(r* zk@Po_{wC7jMEaXZe-r6%BK=LIzlro;A^lfK{}s}Ih4fz`{Z~l;71Do&^f#0KX42nG z`kP6AGwE+8{mrDmne?}i{ua{TLi$@se+%hvA^k0+zlHR-lKxiG-%9#hNq;NpZzcV$ zq`#H)w~_uf(%(k<+em*K>2D+bZKS`A^y^5!j`ZtDzmD{JuSI&TBmFwkuOt0eN&i*S zf0guKCH+@bOSk&3s+Jly3vXA-^+J1w^LC{)v}ZVPSKZzsTnRRUO<=R|4(#87{X4LK z2lns4{vFuA1N(R2;T?E*Cwtw=UU#zBo$Pg|^4hBQ)Y`^7v2Z6A?!>~KShy1lcVXc! zEZl{KyRdK<7Vg5rU0Apa3wL4RE-c)Ig}W*5-IVuk%6m8Ey&DU6W8rQr+>M31v2eF6 zZ1H!?f>1nf6VB`d$#sjeNfIQSzc_@V22V||&KZvylvGyR=9>m&%SbGp_4`S^>tUZXe z2eI}b)*i&#gIIeAYY$=VA*?-wwTH0w5Y`^T+Cx}-2x|{v?IEl^gtdpT_Au5S#@fSJ zdl+jEW9?zAJ&d)7vGy?59>&_kSbG?24`b~StUZFYN3iw?)*ivyBUpO`YmZ><5v)Ce zwMVe_2-Y6K+BdNF4Xk|wYu~`yH?Z~%tbGG(-ynS_={rf^N%~IGYouQ)FdLQ7G-Wm_ zp=r8-t<2rznY&47iZgeUf0V7?#PT=U_nU0}Ci{MqtzCh=In@;m1MOMvu3!XcPdIl4 zBSCw@xht?IoVx;hbE+#i3bbdryLfWAizkP>l$XWWsCbw1GPF_gE}n4i;tA(2p5^Z1 z3Fj`==XJhI_1Vy#aPCrlHnb<4ySzQi-NkdlT|6h;#dE@4JSW`6bHZIbC)~wz!d*Nk z+{JUkT|6h;B}LZCf<58fO-Z{cX?I{H?WUyNft9qIl6D7H(r!xHO-Z{cX?I{H?WUyN zl(d_Yc2m-BO4?0HyD4cmCGDo9-ITPOl6F(lZc5rsNxLa&Hzn<+q}`OXo04`@(r!xH zO-Z{cX*VV9rlj4Jw40K4Q_>zv+CxcuC}|HR?V+SSl(dJE_E6FuO4>t7dnl>Rf7R)2 z{wqV%w1<-RP|_Ys+CxcuC}|HR?V+SSl(dJE_E6FuO4>t7dnjoSCGDZ4J(RSElJ-#2 z9!lCnNqZ=14<+rPq&<|hhmvljq#G&eMoPMol5V7=8!72VO1hDfZlt6eDd|Q^YO`;3 zdYgUA&`N5vZy8$cwb{1}?M;M@lyoB{-AG9{Qqql-bR#9*NJ%$R(v6gKBPHEPNjFl` zjg)jFCEZ9#H&W7#lyoB{-AG9{Qqql-)MoDL^fq&skmvI^@qGR!p3mRp?D_mn?p*LZ z@OB|i|4&~-iznG&OGmR=6SC(&wHJD-iznGc;1WW zy?EY>=e>B|i|4&~-iznGc;1WWy?EY>=e>B|i|4&~-iznGc;1WWy?EXS=Y4SAhv$8G z-iPOXc;1KSeR$r7=Y4qIhv$8Gu9+sqc^{tl;dvjP_u+XTp7-H-AD;K&c^{tl;dvjP z_u+XTp7-H-AD;K&c^{tl;W@LYd1g`boAG=zo^QtU&3L{U&o|@wW<1}F=bQ0-GoEk8 z^UZj^8P7N4`DQ%djOUy2d^4VJ#`Dd1z8TLq^rN&a;NrbACc+ z?JXK9uw0&GuP52-N%ne@y`E&RC)w*s_IfhhOFpdgPvXN{&ABZ8^H z*{S6t6@O)Fc}Vc_U}iLh`=2= zLiu0eZ%i$_V2t0BTK2)1BSxo|j|hs7I5xF>q~e#PmWKqjN3^AuhXxam_+4swL@@ct zV^Yhbw0uTtd9>ekWHhxrCRj9V*35=@MNOi7(*2WWMjL9&tLrCyx~8EvUYS+DKX!WFm^4jvNCOtoC+NmG>wqO~8Idg`ekI%D=_GcGwJwc+H{ zmNP8z8M80>@W~&Zdg{~TQwL-*h}TP&ESVb16k=+;rt0kSx=EMURM+dL zPCt|8SJc(lR>T^e;>CN}!@mI$x%1MU>W~iAksDEv&C!RCoF*r^Hh`$_3kRYEA8e zQxayquDtG)*s@c!?pae=#L|{l)J~tip$>TjDE|u&n3Z!gOe4^&Q$DuL`xsv zE8n?zr-yU!ds0r$1;M5A*L*QQ7Ai%(%53FZoQgNwr|Ek}P$j=BWy{iBu2^FwCXc47 zVVfF!RGxfH>8woqF2#Xyy(F;jROK+35>xTAN=;{ZP$y3>$LIRgT3u>QQyt64I{B+d zmSm|R_*E*!0>zkudIU*WuCk?-w|yJ1IaAwA|7vhjut@PSN`0l4tmd38E9Ka!5MNo9gHUXllu~U{aK5Zt{vf9JgQ&u=w%B&7SC)@in6I^|;;>dZ=BZ{aWFIR}npZ1} z)!H!5e(kteM(kp3snA*!b}U7MN@F(dh6{<@uN&@01bc!LT%H@LgKx`x`Z7JAxO27lVcF!|o&QqwZtwH2tIa$Ai<|>Fx|S-F-q$;`HDZ_sL+h z`&94=ccwcl_@(=Fpm{HJI8^GeOa#^XZ|u*wbKH#JPIqo_jvD!z;1BLRcfJdPbKM2b z1-}l?Q=e~<4wX9hSvOPv=Xa5trDoxY;7R=p-No*b-~xAP@Lz7Wn-gdb2K@tprS5XKz%6tY?h2hY zuF`?KJorNJc~|KY`ahn#T($a_mj=6Z=+ALAZjrk(nCog?UGP7_Ke>9>5PUKCoLlUc zxTV3oU}dl(XbhU%GIy2!3*__e3;M5x%k=-~D_x^&a?L?eP#nA(^tl%O<3fq%?{5$O zIrwUDyX(+=`6D#%{VKQGt#Q}5FKK4`>)iEjt^2aO!QJR?a$j*byIb6??l!m1ebwFW z?r?XyyWHLG9`$p_2gd{xg0}^458e^HGdMOlPJQLppe?w`-5abAhH75>_3rELK6k%+ zz&+?5au2&l+&6-M3;sR$52xAW-J|ZCuFG}19=FkLa=ot4ZFb*skGXHV$K4a|N%xfd zj@#nC>%QmyHW(g!FZj>kwP1HJCivIj%fWAhO=?`e9$Xu|J2*bLA-FNPS63Wg3)Tkf zf}7pnxu@MT?pgPo`@Y+%`HXMVjKTK>w+6QacLcp|o7=AWVPDV;raRn^+)M7qny>Qj z-9NaWXuiguxu3g#bT4aGx?i||a=&!{?Ec05%Kh5C;$C&Xal14p)o1nf12V>p8 z2ag8dbpPRAbN?BPbi0F3YNn=A_xoU!`>)_k&CV2Y{~dhW{ZDYe``_Sk_lMvCwR1Ve&uJ%#bzAU}98_>KYE0`F(C%D_Y;K<+}n`vBl?T-vr z1#5z>+}6Mf3zR(kMR@y+x*-8 zJN!HSvHm#!E3&GsT+>`Q#9FY^%}^)Vm!^L@F$+%ND8eTBb5Ph=;2 zm9O?Sev!Y@*ZMkN?;HGLzr-)~%luV-x&OTXf}Xh5vz>YxPtSLGJxSx+z3!&_FZxw} zwO`|}@n7=S`s@7ley#2u-r#TaH~FvloBb{RR)3pc=fCQ2_jmX^{aw0ua*w~)f6cG= zU)P<6`!(wSpnu3e>>u&p@HVpisQ;!$PP=`N->4CxUf<_8`)~Qj{I_-G{e*wgKjpvU zxA^b+@A<#=f9Id}&-iEkbN>5&tN($2-f#2U{SW;M{zbpT|H!}Of9!V#*Z98=e&+un zINSduc**}X_>%uwu+#rM_9f7SoS@ACiZf9wCv|GWPW|C;~L5%mizs_Pa-%i(lrPOYdwxxQG_H%2`k|kRM{WPl$V#++ z*f}Y4=U^`Hoc?sf&Iv6KJ%{uo&&{%SZhxv#=i22@G&DW(yiA%S&x=KChn` z%}V7siyTMKTG$|VY8$E&(T4hwv+5Gjx`h}RdP!*Kl59JdgbZEErjeIsxp-+-vM~$F zYpbHw^J9s+sqyHdQM0qQ4V{gNVGY$4r%wCOSx3$`GUkM2%t^U62iJzoG2uqf$#!tq zoRFZApUY%D^mDqFU0go&b2v5PbMtixUtU*HH}bNqG?#^G3Q3b!*ss!%OXCZdM2AIF zIY&boqN%DA%~YLed06In#%Nx=-^|eYVX4YfcFM7nSKgmsSb3_>l!r=OUUvBqg|Z4T zF>*nc*#-T3jarb!+{lHQG)FEp+A2cYDpHwNgw9u_oUiCN<14Nhc|~UD;o6WWudBOa zRArX=QI!jH(OsR8ZWZyN2}(OkSLpq9cxVFGk4$Lyq1EB`>g?^+Y#&)2T~woShMGkS z%a15mg{w)qSA%<_YqIqmS(8=aYD1f~**0sjIkYY$zb;dVQFU3#h9qjL7u1c?FiOVT z`q0~YBdQ@Jsv+e`1D*_Npnf%E`!lQ|Rlk;GavHiMtUF8aVZ@UD`n4=8&9X4fRiw$g zs-OBHbymNIBr57_%k!dB>lzl7*H+Zj=EX9L@yz1<%wl=nZ^3dVnb$eab|HzW^rj|aam^Zs;tHGTDf8E z&ynXe)Ygo;O6wKXm&4acwdDQF^-KEWN7pY@rA==cb-BjBGAkOoO0SHpt5}*|9$lxi zLv{aJdBuW-_35=yitpbE57LTZJF_C&=@qk`UJh;duVFjAhVAsqXe(V<+M2q{hqI=I zVJhcT`&Ak3S7$es&z6Q;*}?_oO&aA(8p^{G`H{%VVGDWlYZ4l)B+kxpwlJzr!*&U^ zt+q03S$Q>EjdNSbyF5`N5^ZrzbwgFmMl2VwIwYD{v@m*Pth_!tWPW*~K02&?QC)=& zy&?4r6{j|%DmFhltg2yZl?G3Jb;A+03u`7US*TIQx+@zrtQXS}URkcT=kofu?Hyff zLX29Zbav*jM5EIyY#Lr(wWxksU3q=pMRsPXuWg7|swMAVyrh3|h)ymw)p=mFwl=zK z)FL%UDo8_2yALZ*FzT6CT~nW09FyK|iOTDT*EPf!YWTN)q>^Z8wmzyZ#;6J#?W`-0 z+i+)o_6k{yi8aXQddntSUsF3mku^)K5W`q%Sd_;vB?&jquUS$(wm;eBwKY|0s`4|b zQZZvv`=?gJJ#61p#3;6>8B4E(WTw|*HT4VMrX;MJQ*5?Iy0Uy+c6=ChbUG?4S>D2B zYS63eYA&x&E!wF)Pg?1K4Hv7@i=l3ok8L4fsz!?Z z1?6_eNR-pCga`l3f?*u{GYf{=p|2l1@@Ezd4-b58=D4?CJM6XHj(Tkm4|*+x$Gj47 z$j>YokvifP!vR0DU}XRCuHEf$*Cvj3B~BgeGYdv%9qTg-vOS!g@^E(O;q1`E*=Y}F zr##dz9?lLuoSpV?cG|<)DGz7&dpJAg;p{9AXNMlnPI)-H-^1BC9?s74a8`=LSs{n| zF%D;?In-u2v|sa3+l@nQ4>{CA$e|Lz;jDfR6$6K}vN+W4#-TRBp%SM!oR!1jtZWWv zr8t}wa;P6XOmnEsp@%6BwH*)B9L`E}sDz=1{TwPL^e~G9B=vh~>UVbPcTVbeZtC}Qso#02-^)_Jh2ih0v*>=MSLo%1EBR+-`f6d!QD>$5 zap~mr;KG&BsY}W9TG%NJ*G6(Z87_~_Tw8__qt2qI8LkXJE5+aF)OBYn&Dq&ro=rD3 z+%o3uc=`Maov*{y{H)8=FlKD#Vl`zeykzZPu?yF5WyCr4>LHrCqr!{c^hy>hqrwZ= za7+FwE=6NAm%wRb*_@@Wm%~k?Q`g9;gy&}EnxA#O9Bv+$eW@Hqjm=z0hY@*p z)f_J7XI)H(F~iSK)xc5bXLB1~RHt@2f3M=5KcIN$_xIYvT}GXsUA)wldbnwH>Owu8 zFiZ9PtPA&W^SJEG_tYNYMSOZCs}79IzOE0q=h9G)Jk}zpI*r}l6~=?-k#;- z2n__JqGx3j7LEyoTk>b^McAxd!bZ)?;^*j`frQY+=+sz4I;$+-^Rq@8(wnm!96l>` z=!~4bu%=cQDpcffL?XSCUEb_Liq!USj3T{~m3Yjhxkp*nC`OoiT=rN-7?o$k6e(Nb z07fcl_RvOZ`!=a3DOa7d_7@aeK(K*?S=8SxVCPt@*NYZOL4HM%fX(zJC92Jg? zq@2haISFHq>K`#l?Hi7#q*gA=DouXYh)QbT%LWu69A`=G8;-W5SF$7+n;C!!w`wR! zm&qxc(JJePYaAk6AD(W~#%2vGQ6cDAhCNBv={%~prR#`r*Zl0RCrQTT^e;mz^g!u6 zhE}qAq(qDeDX`vY_E>>+5J!Z1SywSjTdj`j=S3@d;kW}kgbkr0M`v0atqr%a2oi+C zDQZMWn3hJebZMeyakTQNtTB$M(M0{oto6|>r>|whwe$t&@c6>=cx9|+=~3wg{Z{Ho z7?ECInjc=JRp}hmP{s9GPK+)e;*}$d{F*fuV`jv7Ser=zSp zof~816T>|_{S}Vx1L#JS?hq{29Si@N88c@GV-nH&YTaQuQt^RO*!K4XL(VEZXHszD z*_X`L!wnbCnyH)9m(03Qk4enF@<8UBuUi%NwJig` zL%ucSne=zu)NxaXykMx`mxmrX^u(bBLl=kZYv%kYShwZfQ@FRy$81(zT;r-tUtA>9x{mq}8`ug#c2K(l}Gyk26pFDo@ z@B+i}lk;~EkL49u{J?MC<@vkwcZWEB(u76!&AUM{cjrBkw{_H_QMZrUl)roYr2O5Z zerhR4y*k>5snR&mgV9e|3?A@1X7ZR*v(t<@eaw9GV$2okG&x&e8uQCzIG;WG zKRmW}?3%s5X)EFH*iR~bv3#4{pL*@sd&l-1(>eC{Qgrp;~z+WC&cV)aoOMTUE_C#Uvg0n<9{*! z4=f*d%tw!j9MddSdX9M^z12L}`+LmqQ}tr;g!EUp1m)k}UwO>;ba{P}dCoVc{TEMY zov>=cbrWvVasFu??e-ZOoT;P#Y<;Ke{`s8X6S@a|S#Y85Gv6M}3hvbX{4eYN=2N;S z`(1q>4W7}H0^ihq{~fyb`I7EuemnTJ8z1~YPY#@_=LSBm?|8d=?~ZYw()VrdEPdau z`}A|&JGg6pvhI{GaHr_rc$J<7ushs;<5uYV5$|e`tU;h<-3w00px30+jyYBmH#!-DEUc|Vl{uSp)7t@{Dp>DqZ z@n*Oyw>z)ya@~17)-AOAtgb@$SWj}5x`TR^OXz;))$Z%MbGgcO>E7iU*R8vkUv)jY zL%H64Pj@9BcU$dFqx+@qGk(|oi|#N!>we{vKIwj~`+~o6ujn3fukOKbR(MR|+X{~> z4A*_->0*7l?wC(^lY)tQ24cG2?4PcC#nZk1gHWyXw-h@mn4)KiU)7Vuuj=_w#b|A& z)*^w|(pD|KO#BpCo+x`0W%pD+Lx5}CB5yO7mQGf8A>rjDP}0e z3_YepvVsJqZ!onm#Zkwk$;^x6}5@(MtPa#fGV-DaR?YGbKAm?3mZn zQa)LVyzCV6e7q#ozY~d5JDYtgn8MNrHS^m{&HFY}v%byLoNqHV#HdC{_&2*C#j#qe(!h03or|^D-$qFYZOi}oN!ifqWR5(fDWQC~;rzo7N zaG}CQ3bPan6fRb{MB!3}*$Q(M<|?Po75o7*`Cesq~^^~J})We3dKa!l4$-O*QT82YYu(+rCjrT>z>_8 z+nciWxO{s>zAu+AUDCTch^SUX6=Di;h4~8Q3YROa&@Xx1}OQ`|WD zd$hva6yC1z4uy9r9IJ4g!n+hED!f}^lEU!{?@@TK!uu57uP|BR1cfOIA5b_^;e!e% zDV(e@RpAtcQx$Z~xsNE{kLma0dU|QPelJw~MGCVN3KT9@xJ2Pnh1m*o6y_>aDkK!D z6xy`!T7_=~^WEbLPbqvyVT;Q31O0ASctz=UEBv?e_#fr@2elYMP_1WBru!lt>m`~E zq*S3ydc~zvrQ&N87Ae$f9;W(WzGr@}V2$QOSSl@->gZakIS}qtO)B&q+V_iUckWcU zNBi8TeIC(rpMLEh#8hj%{U??FZ$hnGSnH-snJH2xPpV7_M(Qc9Y0|7vTMJUPw?HWh zl)`i?)N^0cRo3y!d!lOJW-0$|^-5pa^OBxUvNfymic$LM;$Vu(KSjPxNu|}XPksw| zzUiG>J63gMqQbisCMg`R@E(QtD!fnO{R)#6PEeSlFje6cg%2rMJNGvVA6EE?!bcT8 zrf{0V#}!UjI74B&!Y33ysqiUVFkc?#z%T%hn-g_#PMDHJLc zE0iddDwHWKQ0zj53WX~a5{j!*s8*;^Sfp^JLajobLcKzR!eWIb%5kZ}GKH%YmMeT- z;S2J1h4@~n(5TR)(5%oRmRc3s6xtPf6&Lbdt=7OaDir4hXmp%-zewS_V1~OP81HV> z`RFG7KB@JmbhLj*znY`QeP6#@6?RF_M(NZVYURH#W=E#1&zJS^9QC+(RUL81$=XFa zpRHuC=~8#B+L_Ro87b{2DwWxssPjX37PXpDKnrK*JJlxJYPCrFTTKdU#zY;zAFC?ObPn*yICP@(}NUyLGXm)o>KUZ!rv;(4(+P!RngY z5ZSOc!BkAQ2?g@BK%N%J(*k)~AWsYAX@NW~kf#Omv_PH~$kPIOTA=zjU3G7|JT8#( zNzg>z#%DvhXbVm|C?`jWEH zpR1j%?FgDCE8}HlI-HyRv|rQ7BTO+Rl_G34(>3vCuoq)#rRH_bvk98Av@W1#&VgVdZON~N^CZD+*&QePIgRq zT#r>6JMyiBc0^CNyq($xos;u)KAx!au(eB5R4>M>U79Fv%wB(6M2~8VdM;anBk6l( z_q)uGiPYMcC~;VB#i+OQGG5Nt^0DH^Q171!rzn1fV(i~Er=)r#GlK7_X6k>9)Q`7+ z)tsSz{0x=U7>GOFLCb8@@lY~N|x*IL_x)V>AUw?O;a|4J5!c{{o-2dBQCjx2dJ z7Col-FWL2h#)Y!mxV^3=yfh12LbC|lshSpQIL*(Lb*raSva}1^)BbA*&b?thwmNKQ z?ev-*e|Bu7>#QkgeoyPyG<~(QMSP^TS&hok$j!ENzn?W+H6?TPW{?Zqa zhG9Q;nyz1G*gu!jlQ4VPEe$o#EQtNE4{55+NUNqcqrP9cBebU3jKeD@J*BVSiPlor zV%EB7&E`>A%eF0Ads%B+_3XXgfz}mCr>;mkbw$#tE0RuKk#y>cq*GTUow_3F)D=mm zu1Gp{MbfD&l1^Qbbn1$vQ&%LNx+3Y+6-lSANIG>z(y1$wPF<07>WZXOS0tUfBI(o> zNvEzzI(0?TsVkCBU6FL^ilkFlB%Qh<>C_cTr>;mkbw$#tE0RuKk#y>cq*GTUow_3F zl>b-gilh_Ytt4yZ`_&u;TfvuuQF>!@tKQe#s<$<_>RrvPdQ)@jV662sHd6hiyx=rV2%R)Tdl@~T#rz?@H*vt>TPJ2I~^l-t?`o5PSbHRO`gB1 zHs9W8HU5V>YZ+cqYm!n#dg~f#&mUAH!gj=JMA(LenufaBRgPU;KDTqVu5lP5cQ>SgDtN7O5{^UAl?c7<&iJ>MK}TT@qcb}oH27^dr&JYBzx*Y(SI z>)W^!l*0$~dy?!7QC)jg^?!!0Nb+>G<3jnI<4>224Nebl5r;_UdaTvWR_ zX6@Xfwp4S+SgX533j3xDnjI|o>*ucw{FQ;fGVo`_fZEspL!Ujn_q@92 zcLCl2CcXD#hx$9k}*KHM?;OqRW@6gt-lZJ$>uKY9JJN~}Cz z=N$Wb@wr4~r;<`O^7}d;F|zyhx5F|_%gURiw&|#A)O~zRiG6*-?Ubb7$82x2m$U6q z!>#=4-AL!%oDbIONa!<0!gw%DV`yAhU#LHyYyK^d~m7cRQ4+nFo6GruRsv zmj>`pyVVySDd^W<%Po%Y%Sx-%dy{~T{`O0X_U~(H_x5^k3xma^>#6FG?$gjpkvHC{ zuW=wB`Ms5}WzW?)ZF1O3TRjbJs*P6)wPv)$*6P1bo2>XWAA{CfZMF7(5SI4mulC%c zV0u{I=9_W|j}6vR=cw1Slg+biad6 zvq!)FVT%2sO1M5%8GO&&SUfRrQl$;IT5P|?{-xBm zlq#A0vMpkdHaL|UUs7rDFr7N3b$WH5zj%{6zr$M=cPZQZ>1l-ZBJESSPbSNhjnG%~ zp7zVOle6)Y^4%1rjQufMAB6AB9%(C?++Kev>_sX6m(nd&nAX%GXI%?nZ-3`o(y52E zC4J1wqV|;Kt=4Z+JQnn8Er3n=G|}1z%U8j^)(3mZdSQxLXM1SLc(C@wtdJ%=p3~{^ zH7|YaE2YlTmV;8sYFLt7G>h1^zG`YYH-)WPJH4+@x{P6(ki&hYf4yyC`#@<9=sM-~ zJ$}6$EM6rInKnHJVP${*=k9~5{l`_hmXc3@?BL#{Ygkx{foZZW4cvAx>$09x#(~Gm z{z{vhS6EweZJ(pqUAkKn=S{QV{!BXxW7qTT~x%$a$msj{>wcBF% zTa$H-r&QLurM!_vJL;^@VMmgVXE+FtTQiwQ9@fXOy*NiJO}&=a>8l=!?AiW07x5d8 z5}LJCKgNvMM?R9L(pjI(`Z!^V*R4mgVXcLY&kRsGv?!e3zck1~uJ$2AgCyH;REE`D zi~HU2AQJ3t*%%KE9GvIIYkI$M8D&yBO9$HCbP7{1rC|Sl*>0PKjKwf@W_voPbWFIO z_B$Qh|2swd)5nv=fi>CcSL)nn>G$84vRqV)be;(9tFDA4v07vGmAY*>^)#=keyXwwR| zSvE8F1|-~Tb&X;Q_KFQ7=F87PKC}W-7|#dUe&A7uU+DwS`#@4kTRTfwyEo{$KsILV z%T8|j(yisb_85Fy=3JO-aq!e{EY@0YX}j0R!@*k3_o z2hc_jFtx8evbSX~4=}OUs%l#5Jh<1U!w?bniVuUfIm{gf#}2EBHl8?UR;;M%2Q zZNKn)Sc{7>*$sPXZ~VADpeymiUxEX*81^oNs)L78lXK5nhognbwRoWAIFNMImcw$a zh5hUFNYVcD9>|N;Ve>|q@+V!Z_iyXKQ-n5k22w3PByDrr&cksAI&k0r5>mbyn&$E% zZLJQehw&HsvHO(vHXa|10UegohGS`OjIlq0wp%H!9lJTl;lcWS;H}ibT0WfVZH!(e zweW^o=>3iB98RAP#g*; zZ>6<2cE&k;B?)VV)v-6*BU9J>ezWsAeB2zWC6(0f2d-xn?hxu>hM_m}%yFot8@QiJ z8{Qv1)T{ZN9?2VT=idAprk+%INBIq31La;t9geaOROgMYs~%g+psNC_(+6)W_xhcd zeNZc*ZR$NwhYifBzm*E_OAXk3IFAyvJv`^zK}$No^*{M)YNX~6TB%&u56AUwuEjTF z&D!NRzkPT!JU}`K3%l2-Iw6zdEdwEdT z2RaUHOh7eb&lP(!^7`y)AC92C_xWqg;b6e}QisFNpNoyR{x#|0Wb*%#wqbwK+88Z` zPpk2y+QIXADE-cZ&*gCJVZCIvsBicPe&ZGnM``wFBOEdK^HFDi<=OZ4J!^TcKVs)w z1&z1vJALlf^z}<_?Ecr356|-KKjq;~p=0*2^poG}eNTEp=_j|P=Enz^;Gr;^|NX;pT@9gyZU(RmPvzOC*a@_VGff>)TmU6hy_>@VJwzc=~zS5{Yuxt2fJh43J_}Jd| zvSTuyWXHZ$m(ew=O+FlczA*++-s&6uyKH}Q?S>i-uB7%Iv`wZa+qJm8TW#0lIdv#I zuLEDsuDyfV8&H$`domdhbN9-`AGi;LrBrVweXqcl)+rq1U8h{XGI`|ckct1(F40EW zTV&ESTa!cc>h;QgXx84Wy;PH}2Xj!PQE!$nZ>C+<+*B{i>a`iDyiM|viC+AzsTMCm$s%>%6d_DrI|HS^VTWlz?O61`oVcBMRi}E z(%PHB^idDa!k?oUsr8PLlO-<-6q zdG?McZ&>oabvpfk-+{AR*}t-+Kba-X8A9a1_ce2UO1-C%-u>Wz-;!$Xvl!C%Fx{=T zw(hO`QAzFX`qYdj=IMZ%cL>hEv1fZ|g{i8aWJPvJ%(uOlEsLTg%Beyh%wWpX}Iuc_4km>su>rP94g&aNx_?c@3r%toG-VNu9Nn zQ+G4*2kygwl>M_kr0?1e*!~y2n$|$Aa}KY6X@$;hA^*}!ms=ibiJI0fY%C6(Bw5b`OIFA29YqiR#I|L!0>EAb#-9N2u)nx7f z*_#F22jbqy!Syjhmi`=SvT8BPQqsfJbNtilH)!tR3{!zd9P0<&e(;g~y|aVg^^diO zj@p^Z%l@U7xqegQaf4nR4(8Kg<7zPDhds_ptGXP{l%^7MW&b+Y!h>a=Dea#_8>d#v zW~Q|}1&8)NP|kh9w|2KktJKKb?bRmuTYZJ)HIbRANhjfaP&?cbVCm31e@R9SCj zwAA}NV)}Q^UC88}8~;{bGj>#FT_3!$&%xA+Hc>ET2Cn1bKF>FMmqG1U*68`(+uxj+jOTkT?aTjtZA&}4-!x(0BExEW$3y$g z_WCK|NS#5(&zgy=1|Vx8C!40 zl3HZzrEyhoDBk7nb6B($=Wo_Wx(?`@y;(WEHSFf9^Vaa`&GjPeBfs%-=N`9juFr>N zUDpLRQo#4nEDYT1(2riTWP5YI9dOmA*wpoIm|wUyc&j>iEOxD|hxeJ9tag2{d?`=A z=NWEN{_k~W$k@m%4P-d8J|K+`-k;hw)Qu0Eo8Ug-#=1}Gdzw2--;cYqUEH1S%JnUB z3-m2^75bLAN>}Ad-E#MN7j-N2jk`wI?B=^x_eG^zt#6gPM&D|8ty}AA+zsv~SLZgk zN8MuA<^ItvbxHRNx8A*??|p8U`>ng*{kwb3J>+)#Bi%RrP(Rdt+Yk4{-Q#|gALX9# zZ};zTPx|Bh6!#r}qCe3+?@#h4xo!Rwe~R1g&-CAMKlI<#_jCSl^_}N`<9GSX0v8PR zzY0bT`kkV&^D)8Xtnbl5__Zwqzefch?Ejt|oE(f*c)f3akROc8`sSuf=aTugf4Z=7 z{I@IrV^ZGrK%nZtd^RvEX!Fz&9 z!9|MS`+Iy)rf-OIgY-8R*w?n?e&4J0beht@zTx)w1d$-hKH;AKzqc!auBtf0|Nq^W zmxUy(vIYoASi%|zgs>9`kU$b3>>x@AOF}||1W=K>um-efDPrq_XsuP;kP3!H*06{k zYdy8l9uHMfYe7NKDsIqk=DnBqLgMl1>GAz%zB_mB%ztO*U+);z;6%=%HZrrDE%CD0 zOH0I0x5)(g73p@C_*!X&BvjE#Sye^l;-O`-jNC;A^ZL_it*n(fa+lm8yrx5~|u zE%}sMCONKV$z_>d3)S|fb+S(8^8bBur;L}eUf=BD^c_5JzzcNvs6WrYj$g#KSBb-N~o(H=6T zZU7lyS3nB%dH%Y;r>CF)NnkBp!mk;BEk8dWU(Ljmx^|QY4ZnKT$o$p2p~Qg55g0}4 zQ0sgY8K5cAv~)vtt@RiSs!1xTHK<387SktC7yM(CJ6^zYEtT39&=O&5o_kNP0$Q@4 znzHWaSG{INrB?MVrpEZl%w~v}(&<}j(lGiPAKgfQN zO-t>+F}AreG1cx{Dka~ZyElycRBE5KrLGD6YY5|NK5LoO4iia!{MX`|E=}mCgvEF( zLldPB`F67f@i-=}+Oh2-ENN9L0}Tm#YfytZeipa0#4gMXxNT=lE(`8>|h zLndoAbFE3f%-0uXinxv<&UUhWOJC+GzG5~wK49Q6l9okG1zr-tRyzGl#B<0K?)>abWD zJ~VfHtQ2RD&We={xudgVrDA;Us8~7e<)Vxdb(y)fq~>*^O%9|jWl`6rQj-g8pL+Cf z;k5fE%&gl|j@_x9gXnj%=@+Ka4-|TPIrQK4na8)LK6hbO--i}3g8pFwwLRbDTby-0 z&c68W`nEl5wZY0r8`_sRSq;Hzc3~CPbpd>G^co8-QgZVwm^07H6%qyFXr}BfqIScdh zu{{_pC@foqieRv~aBd#<1%)Mx=cBSX7%a^%#_Pof-?Dhh;%SQ?lo}3agTjTgN^q$( z2wY%zUJeG!3QOiV5){tQU*NdQg2BZL%ADx3AaD`q=`;=om(E^T>a+?5X}(}F_U%~v zHPOtm_SMw3o39w9g%~th9%!HS?44(vW9!BbsLkm4oo{>aez2KH$ry+>bXOxQi7C8T@8wuHSOUJ|}6d}Bm(#O)Dr5q%>vc%8wrDdMHb zq^SF%wnv9WkBnYV-iCjeK);mBxB*jfJ@PRfdAJeNFat9&3$u}iAt=Bc6k;CcVknAG zjQL2%B9!1JEW~1zq6|y00K+gGx8P`mc4H5w zU@!LJ73}}PwfooYS#`}d`_^k#TiaUKaGm~D{@4mPd)MY&nauF6tF~47R#d^Y?BZ&C zYdN4h^<}N#Inogv#&H})r5@GedO}~Qw;kkO!s zU+j7O9^J^3i3j8%eo;OmkIKFBm^>{Te)a?E8_c|%hU(} z>t1U2alC=Q;h%UHAK?>R!ev}>Tuy{j&uQ$$IB`w~r>oP`>FW%3hC5kKt~1%W!I|aE za~3#DoMp~(r`%cZY;+!Uwm45Z&pO+k3TK~F>6~!hbpGzVe+Bc5Yc5EA??TKTx z1E1t-B6Y{iFn)n0|}atc}s(`W<3f8>=Jqd$eIKm$JWtIM&8#rd~xnYvXk!KOhrW zo1mkhXv^9}%>rO%?ZC|1g$~3JBof^)^9+TVXBf;p!(rxmj2aCbp+$k)n`W-P@zbE$8E5u%Um6*a1 z2lR##Q^AcvA2`Ima1r|#QpId@NP6Txo^hxhNYcrq7Z-mh%SmQ(b*=2>NpXKpE{XZB=DVSKuj{UZ7HS!^@^ z)rVHnPUq3yZqptlQ#)g8{C2f%=E@e^y8&~tI4!nMdTNoqrr7&4>bXCo)F;k2TKNUa z@hSFdS~*YhP1atld7}g0UO(W@&DC%p*sGuI;pqj=wK+XyQ*EZrwFToyOKqjCHCEeb zoW^ScJzP6&uN^dz@uib?)-KvryU|OT%(2|+$HUZ%t<;Ad+{;Qz{)CnJDazVN`W$8Z zm658EDdp*(pPOG;lmJ&B(8g~>Gt0}gZ8Jm9ES29}=K}8BSKl$c=w}91>*c28XmlLS zoRm+y@ZQhE&AA!gMxO$CyRV)%qiAt_C%TfSe-s!c?#AFB%)ip`|I9rzsQzPZxoo2zWTxtjTArL3{JWVwHTDL)r;o&GX|`H8ZAke>S@y|K?` zz_XG1o@|}`_mb}c^1CKmXT(?b+HUe*N_h{ZyPr}$tVfvNzRJAzB=gJn=$Vb5HD7a% zy&4;9YTsnMtkS;0Z_RRQl2}bjvznA`HEFKZq&1wO&mS0%7smdP^l~vgo#`OYlkZk~ ypcm}*1T%c_{uyEgbAFJgdCOK74-ar;sQJ#Y-x?P!nlD>7{e3y3)j4Wj&i??KB3oks diff --git a/src/assets/fonts/Luciole-Regular/Luciole-Regular.woff b/src/assets/fonts/Luciole-Regular/Luciole-Regular.woff deleted file mode 100644 index f5d39d7b752026347d32ea24a2c6b3fc6678bf70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85228 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 Date: Thu, 24 Aug 2023 15:12:33 +0200 Subject: [PATCH 21/83] keep default font --- src/app/components/form/form.component.css | 2 ++ src/styles.scss | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/components/form/form.component.css b/src/app/components/form/form.component.css index e2a5a0fa..02bdb9a3 100644 --- a/src/app/components/form/form.component.css +++ b/src/app/components/form/form.component.css @@ -129,6 +129,8 @@ hr { .domain .form-section fieldset:first-child .delete-button-container { margin-top: 2.2rem; + display: flex; + align-items: center; } } diff --git a/src/styles.scss b/src/styles.scss index df458c5a..f89d63e5 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -8,7 +8,6 @@ html, body { body { line-height: 1.6; font-size: 1.1rem; - font-family: "Open Sans"; } h1, h2, h3, h4, h5, h6 { From 6ddae896a6f6668a2e355e517372e4553abe7786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 24 Aug 2023 15:33:57 +0200 Subject: [PATCH 22/83] fix program version trigger with keyboard navigation --- src/app/components/footer/footer.component.css | 6 ++++-- src/app/components/footer/footer.component.html | 2 +- src/styles.scss | 12 +++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/app/components/footer/footer.component.css b/src/app/components/footer/footer.component.css index abd7fe11..311f80c0 100644 --- a/src/app/components/footer/footer.component.css +++ b/src/app/components/footer/footer.component.css @@ -4,8 +4,10 @@ footer { display: flex; } -footer a.program-versions { - cursor: pointer; +footer .program-versions, +footer .program-versions:hover { + border: none; + background: none; } footer dl.version { diff --git a/src/app/components/footer/footer.component.html b/src/app/components/footer/footer.component.html index 3bfd08b3..6f8a0162 100644 --- a/src/app/components/footer/footer.component.html +++ b/src/app/components/footer/footer.component.html @@ -3,7 +3,7 @@ - diff --git a/src/app/components/header/header.component.css b/src/app/components/header/header.component.css index c6746931..9b3a714b 100644 --- a/src/app/components/header/header.component.css +++ b/src/app/components/header/header.component.css @@ -1,16 +1,12 @@ -.main { +app-header { margin-bottom: 4rem; + display: block; } -.main > .container { - margin: auto; - padding: 0; -} - -.main h1 { +app-header h1 { text-align: center; margin-bottom: 4rem; - margin-top: 4rem; + font-size: 3rem; } .info-banner { diff --git a/src/app/components/header/header.component.html b/src/app/components/header/header.component.html index 56a79da8..83774408 100644 --- a/src/app/components/header/header.component.html +++ b/src/app/components/header/header.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/app/components/navigation/navigation.component.css b/src/app/components/navigation/navigation.component.css index cddd95a4..7c51039b 100644 --- a/src/app/components/navigation/navigation.component.css +++ b/src/app/components/navigation/navigation.component.css @@ -62,6 +62,7 @@ app-navigation .lang .icon { app-navigation #navBar a { border-bottom: .3rem solid transparent; } + app-navigation #navBar a:focus, app-navigation #navBar a:hover, app-navigation #navBar a.active { diff --git a/src/app/components/navigation/navigation.component.html b/src/app/components/navigation/navigation.component.html index 6b5aff35..278bf78d 100644 --- a/src/app/components/navigation/navigation.component.html +++ b/src/app/components/navigation/navigation.component.html @@ -12,7 +12,7 @@
- +
  • @@ -11,19 +11,19 @@
  • - - Source code + + Source code
  • - - Documentation + + Documentation
  • - diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 5fb1f9c4..c52f4f78 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -7,19 +7,19 @@ Algoritme - Algorithm required + Algorithm required Algoritme påkrævet - All - Alle + All + Alle Digest Digest - Digest required + Digest required Digest påkrævet @@ -27,15 +27,15 @@ Digest type - Digest type required + Digest type required Digest type påkrævet - Disable IPv4 + Disable IPv4 Deaktiver IPv4 - Disable IPv6 + Disable IPv6 Deaktiver IPv6 @@ -43,7 +43,7 @@ Domænenavn - Domain name required + Domain name required Domænenavn påkrævet @@ -55,7 +55,7 @@ Eksporter - Frequently asked questions + FAQ FAQ @@ -71,11 +71,11 @@ Hitorisk information er undervejs. - Keytag + Keytag Key tag - Keytag required + Keytag required Keytag påkrævet @@ -111,7 +111,7 @@ Programversioner - Digest + Digest Nulstil @@ -139,13 +139,13 @@ Zonemaster Backend er ikke tilgængelig. - Delegated - Delegerede + Delegated + Delegerede plural delegated - Undelegated - Ikke-delegerede + Undelegated + Ikke-delegerede plural undelegated @@ -216,7 +216,7 @@ Om DNS - Name + Name Kør @@ -244,7 +244,7 @@ Protokol - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 Kan ikke deaktivere både IPv4 og IPv6 @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Documentation - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 69e13aab..9fe416b3 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -7,19 +7,19 @@ Algoritmo - Algorithm required + Algorithm required Algoritmo necesario - All - Todos + All + Todos Digest Resumen - Digest required + Digest required Resumen necesario @@ -27,15 +27,15 @@ Tipo de resumen - Digest type required + Digest type required Tipo de resumen necesario - Disable IPv4 + Disable IPv4 Deshabilitar IPv4 - Disable IPv6 + Disable IPv6 Deshabilitar IPv6 @@ -43,7 +43,7 @@ Nombre de dominio - Domain name required + Domain name required Nombre de dominio necesario @@ -55,7 +55,7 @@ Exportar - Frequently asked questions + FAQ FAQ @@ -71,11 +71,11 @@ Solicitud de información histórica en progreso. - Keytag + Keytag Tag de Llave - Keytag required + Keytag required Tag de llave necesaria @@ -111,7 +111,7 @@ Versiones del programa - Digest + Digest Restablecer @@ -139,13 +139,13 @@ El servidor interno de Zonemaster no está disponible. - Delegated - Delegados + Delegated + Delegados plural delegated - Undelegated - No están delegados + Undelegated + No están delegados plural undelegated @@ -216,7 +216,7 @@ Acerca del DNS - Name + Name Ejecutar @@ -244,7 +244,7 @@ Protocolo - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 No puede deshabilitar ambos IPv4 e IPv6 @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Documentation - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index 98557a43..fce1b0ae 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -7,19 +7,19 @@ Algoritmi - Algorithm required + Algorithm required Algoritmi vaaditaan - All - Kaikki + All + Kaikki Digest Tiiviste - Digest required + Digest required Tiiviste (Digest) vaaditaan @@ -27,15 +27,15 @@ Tiivisteen (Digest) tyyppi - Digest type required + Digest type required Tiivisteen (Digest) tyyppi vaaditaan - Disable IPv4 + Disable IPv4 Poista IPv4 käytöstä - Disable IPv6 + Disable IPv6 Poista IPv6 käytöstä @@ -43,7 +43,7 @@ Verkkotunnus - Domain name required + Domain name required Verkkotunnus vaaditaan @@ -55,7 +55,7 @@ Vie - Frequently asked questions + FAQ Usein kysytyt kysymykset (FAQ) @@ -71,11 +71,11 @@ Aiempien testitulosten haku käynnissä. - Keytag - Keytag + Keytag + Keytag - Keytag required + Keytag required Keytag vaaditaan @@ -111,7 +111,7 @@ Ohjelman versiot - Digest + Digest Tyhjennä valinnat @@ -139,13 +139,13 @@ Zonemaster Backend ei ole käytettävissä. - Delegated - Delegoitu + Delegated + Delegoitu plural delegated - Undelegated - Delegointi puuttuu + Undelegated + Delegointi puuttuu plural undelegated @@ -216,7 +216,7 @@ Tietoja DNS:stä - Name + Name Suorita @@ -244,7 +244,7 @@ Protokolla - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 Ei pysty poistamaan käytöstä molempia, sekä IPv4 että IPv6 @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Documentation - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 0a25516f..99da4498 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -7,19 +7,19 @@ Algorithme - Algorithm required + Algorithm required L'algorithme est obligatoire - All - Tous + All + Tous Digest Condensat - Digest required + Digest required Le condensat est obligatoire @@ -27,15 +27,15 @@ Type de condensat - Digest type required + Digest type required Le type de condensat est obligatoire - Disable IPv4 + Disable IPv4 Désactiver IPv4 - Disable IPv6 + Disable IPv6 Désactiver IPv6 @@ -43,7 +43,7 @@ Nom de domaine - Domain name required + Domain name required Le nom de domaine est obligatoire @@ -55,7 +55,7 @@ Exporter - Frequently asked questions + FAQ FAQ @@ -71,11 +71,11 @@ La demande d'historique est en cours. - Keytag + Keytag Identifiant - Keytag required + Keytag required Identifiant obligatoire @@ -111,7 +111,7 @@ Versions des programmes - Digest + Digest Réinitialiser @@ -139,13 +139,13 @@ Zonemaster Backend n'est pas disponible. - Delegated - Délégués + Delegated + Délégués plural delegated - Undelegated - Non délégués + Undelegated + Non délégués plural undelegated @@ -216,7 +216,7 @@ À propos du DNS - Name + Name Lancer @@ -244,7 +244,7 @@ Protocole - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 Impossible de désactiver IPv4 et IPv6 simultanément @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code - - - Documentation + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index e26c3761..fd203c42 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -7,19 +7,19 @@ Algoritme - Algorithm required + Algorithm required Algoritme må angis - All - Alle + All + Alle Digest Digest - Digest required + Digest required Digest må angis @@ -27,15 +27,15 @@ Digest-type - Digest type required + Digest type required Digest-type må angis - Disable IPv4 + Disable IPv4 Deaktiver IPv4 - Disable IPv6 + Disable IPv6 Deaktiver IPv6 @@ -43,7 +43,7 @@ Domenenavn - Domain name required + Domain name required Domenenavn må angis @@ -55,7 +55,7 @@ Eksporter - Frequently asked questions + FAQ FAQ @@ -71,11 +71,11 @@ Historiske data hentes. - Keytag + Keytag Key tag - Keytag required + Keytag required Key tag må angis @@ -111,7 +111,7 @@ Programversjon - Digest + Digest Nullstill @@ -139,13 +139,13 @@ Zonemaster Backend er ikke tilgjengelig. - Delegated - Delegerte + Delegated + Delegerte plural delegated - Undelegated - Udelegerte + Undelegated + Udelegerte plural undelegated @@ -216,7 +216,7 @@ Om DNS - Name + Name Start sjekk @@ -244,7 +244,7 @@ Protokoll - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 Kan ikke deaktivere både IPv4 og IPv6 @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Documentation - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index dee1b59b..fa156612 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -7,19 +7,19 @@ Algoritm - Algorithm required + Algorithm required Algoritm krävs - All - Alla + All + Alla Digest Digest - Digest required + Digest required Digest krävs @@ -27,15 +27,15 @@ Digest-typ - Digest type required + Digest type required Digest-typ krävs - Disable IPv4 + Disable IPv4 Inaktivera IPv4 - Disable IPv6 + Disable IPv6 Inaktivera IPv6 @@ -43,7 +43,7 @@ Domännamn - Domain name required + Domain name required Domännamn måste anges @@ -55,7 +55,7 @@ Export - Frequently asked questions + FAQ Vanliga frågor @@ -71,11 +71,11 @@ Begäran om att hämta tidigare testdata pågår. - Keytag - Keytag + Keytag + Keytag - Keytag required + Keytag required Keytag krävs @@ -111,7 +111,7 @@ Programversioner - Digest + Digest Nollställ @@ -139,13 +139,13 @@ Zonemaster-Backend är inte åtkomlig. - Delegated - Delegerade + Delegated + Delegerade plural delegated - Undelegated - Odelegerade + Undelegated + Odelegerade plural undelegated @@ -216,7 +216,7 @@ Om DNS - Name + Name Kör @@ -244,7 +244,7 @@ Standard - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 Det går inte att avaktivera både IPv4 och IPv6 @@ -321,19 +321,17 @@ What is Zonemaster? - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Source code + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - Documentation - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation + Copyright © AFNIC and The Swedish Internet Foundation + footer My domain name @@ -342,16 +340,19 @@ example.org - More information on undelegated test: + More information on undelegated test: + More information on undelegated test: Nameserver # - The name of nameserver is required + The name of nameserver is required + The name of nameserver is required - Address (optional) + Address (optional) + Address (optional) Delete nameserver # @@ -360,13 +361,15 @@ DS record # - Algorithm + Algorithm + Algorithm Select the algorithm - Digest type + Digest type + Digest type Select the digest type @@ -390,11 +393,446 @@ Run the test - Run the test! + Run the test! + Run the test! Reset form + + Close + Close + + + Slide of + Slide of + Currently selected slide number read by screen reader + + + Previous + Previous + + + Next + Next + + + Select month + Select month + + + Select year + Select year + + + Previous month + Previous month + + + Next month + Next month + + + HH + HH + + + Hours + Hours + + + MM + MM + + + Minutes + Minutes + + + Increment hours + Increment hours + + + Decrement hours + Decrement hours + + + Increment minutes + Increment minutes + + + Decrement minutes + Decrement minutes + + + SS + SS + + + Seconds + Seconds + + + Increment seconds + Increment seconds + + + Decrement seconds + Decrement seconds + + + + + + + + + + + + + + + + + + + Close + Close + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + + Frequently asked questions + Frequently asked questions + faq header + + + Find answers to common questions about Zonemaster here. + Find answers to common questions about Zonemaster here. + faq header + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + faq header + + + General information + General information + faq section header + + + What is Zonemaster? + What is Zonemaster? + faq question + + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster is a software package that validates the quality of a DNS delegation. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, a test framework that supports all functionality to perform DNS tests; + faq answer + + + CLI,a command-line interface to the Engine; + CLI,a command-line interface to the Engine; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + + + GUI, a web interface to the Backend. + GUI, a web interface to the Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + + + Who is behind Zonemaster? + Who is behind Zonemaster? + faq question + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + + + How can Zonemaster help me? + How can Zonemaster help me? + faq question + + + The Zonemaster tool could help different kind of users: + The Zonemaster tool could help different kind of users: + faq answer + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + DNS operators, experts and beginners alike, who want to check their DNS configuration; + faq answer + + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. + faq answer + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + faq answer + + + What makes Zonemaster different from other DNS zone validating software? + What makes Zonemaster different from other DNS zone validating software? + faq question + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + How can Zonemaster distinguish between what is right and wrong? + faq question + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + faq answer + + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? + faq question + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Zonemaster and privacy + Zonemaster and privacy + faq response + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + Using Zonemaster + Using Zonemaster + faq section header + + + How come my domain name cannot be tested? + How come my domain name cannot be tested? + faq answer + + + There are several possibilities. + There are several possibilities. + faq answer + + + Your domain name is not yet delegated. + Your domain name is not yet delegated. + faq answer + + + Your domain name is not reachable from public Internet. + Your domain name is not reachable from public Internet. + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + + + You have misspelled your domain name. + You have misspelled your domain name. + faq answer + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + faq response + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + What is an undelegated domain test? + What is an undelegated domain test? + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + + + Does Zonemaster support IPv6? + Does Zonemaster support IPv6? + faq question + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + faq answer + + + Does Zonemaster verify DNSSEC? + Does Zonemaster verify DNSSEC? + faq question + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + faq answer + + + Can I test the DS records before they are published? + Can I test the DS records before they are published? + faq question + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + faq answer + + + How can I test a "reverse" zone with Zonemaster? + How can I test a "reverse" zone with Zonemaster? + faq answer + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + faq answer + + + Example: + Example: + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + + + Source code + Source code + footer + + + Documentation + Documentation + footer + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 5feb9b5a..10b0f2d8 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -43,11 +43,7 @@ - Frequently asked questions - - src/app/components/faq/faq.component.html - 2 - + FAQ src/app/components/faq/faq.component.ts 20 @@ -79,7 +75,7 @@ - Domain name required + Domain name required src/app/components/form/form.component.html 16,18 @@ -100,14 +96,14 @@ - Disable IPv4 + Disable IPv4 src/app/components/form/form.component.html 280,282 - Disable IPv6 + Disable IPv6 src/app/components/form/form.component.html 286,288 @@ -128,14 +124,14 @@ - Keytag + Keytag src/app/components/form/form.component.html 146,148 - Keytag required + Keytag required src/app/components/form/form.component.html 163,165 @@ -149,7 +145,7 @@ - Algorithm required + Algorithm required src/app/components/form/form.component.html 198,200 @@ -163,7 +159,7 @@ - Digest type required + Digest type required src/app/components/form/form.component.html 225,227 @@ -177,7 +173,7 @@ - Digest required + Digest required src/app/components/form/form.component.html 246,248 @@ -191,21 +187,21 @@ - Digest + Digest src/app/components/form/form.component.html 230,232 - All + All src/app/components/history/history.component.html 9,11 - Delegated + Delegated src/app/components/history/history.component.html 17,19 @@ -213,7 +209,7 @@ plural delegated - Undelegated + Undelegated src/app/components/history/history.component.html 25,27 @@ -411,14 +407,14 @@ - Name + Name src/app/components/form/form.component.html 81,83 - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6 src/app/components/form/form.component.html 291,293 @@ -571,21 +567,21 @@ - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. src/app/components/domain/domain.component.html 16,23 - Algorithm + Algorithm src/app/components/form/form.component.html 168,170 - More information on undelegated test: + More information on undelegated test: src/app/components/form/form.component.html 68 @@ -627,14 +623,14 @@ - Run the test! + Run the test! src/app/components/form/form.component.html 51,53 - The name of nameserver is required + The name of nameserver is required src/app/components/form/form.component.html 97,99 @@ -647,26 +643,13 @@ 48 - - Source code - - src/app/components/footer/footer.component.html - 15,16 - - - - Copyright © AFNIC and The Swedish Internet Foundation + + Copyright © AFNIC and The Swedish Internet Foundation src/app/components/footer/footer.component.html 26,28 - - - Documentation - - src/app/components/footer/footer.component.html - 20,21 - + footer Delete DS record # @@ -676,7 +659,7 @@ - Digest type + Digest type src/app/components/form/form.component.html 203,205 @@ -690,14 +673,14 @@ - Address (optional) + Address (optional) src/app/components/form/form.component.html 102,103 - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. src/app/components/domain/domain.component.html 35,45 @@ -759,6 +742,722 @@ 144 + + Does Zonemaster support IPv6? + + src/app/components/faq/faq.component.html + 175,177 + + faq question + + + Can I test the DS records before they are published? + + src/app/components/faq/faq.component.html + 193,195 + + faq question + + + Documentation + + src/app/components/footer/footer.component.html + 20 + + footer + + + What makes Zonemaster different from other DNS zone validating software? + + src/app/components/faq/faq.component.html + 59,61 + + faq question + + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + + src/app/components/faq/faq.component.html + 205,207 + + faq answer + + + There are several possibilities. + + src/app/components/faq/faq.component.html + 137,139 + + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + src/app/components/faq/faq.component.html + 20 + + faq answer + + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + + src/app/components/faq/faq.component.html + 187,189 + + faq answer + + + Zonemaster and privacy + + src/app/components/faq/faq.component.html + 118,120 + + faq response + + + CLI,a command-line interface to the Engine; + + src/app/components/faq/faq.component.html + 25 + + faq answer + + + Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + + src/app/components/faq/faq.component.html + 121,123 + + faq answer + + + How can Zonemaster distinguish between what is right and wrong? + + src/app/components/faq/faq.component.html + 82,84 + + faq question + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + src/app/components/faq/faq.component.html + 30 + + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + src/app/components/faq/faq.component.html + 85,87 + + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + src/app/components/faq/faq.component.html + 169,171 + + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + + src/app/components/faq/faq.component.html + 72,74 + + faq answer + + + Using Zonemaster + + src/app/components/faq/faq.component.html + 131 + + faq section header + + + GUI, a web interface to the Backend. + + src/app/components/faq/faq.component.html + 27 + + faq answer + + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + + src/app/components/faq/faq.component.html + 105,107 + + faq answer + + + Who is behind Zonemaster? + + src/app/components/faq/faq.component.html + 34,36 + + faq question + + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + + src/app/components/faq/faq.component.html + 55 + + faq answer + + + Your domain name is not reachable from public Internet. + + src/app/components/faq/faq.component.html + 142 + + faq answer + + + Frequently asked questions + + src/app/components/faq/faq.component.html + 2 + + faq header + + + Your domain name is not yet delegated. + + src/app/components/faq/faq.component.html + 141 + + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + + src/app/components/faq/faq.component.html + 156,158 + + faq answer + + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + src/app/components/faq/faq.component.html + 75,77 + + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + src/app/components/faq/faq.component.html + 143 + + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + src/app/components/faq/faq.component.html + 111,113 + + faq answer + + + Source code + + src/app/components/footer/footer.component.html + 15 + + footer + + + How can I test a "reverse" zone with Zonemaster? + + src/app/components/faq/faq.component.html + 202,204 + + faq answer + + + Find answers to common questions about Zonemaster here. + + src/app/components/faq/faq.component.html + 3,5 + + faq header + + + Zonemaster consists of several modules or components: + + src/app/components/faq/faq.component.html + 22 + + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + src/app/components/faq/faq.component.html + 166,168 + + faq answer + + + How can Zonemaster help me? + + src/app/components/faq/faq.component.html + 44,46 + + faq question + + + General information + + src/app/components/faq/faq.component.html + 13 + + faq section header + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + + src/app/components/faq/faq.component.html + 150,152 + + faq response + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + src/app/components/faq/faq.component.html + 26 + + faq answer + + + What is Zonemaster? + + src/app/components/faq/faq.component.html + 15,17 + + faq question + + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + + src/app/components/faq/faq.component.html + 51 + + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + + src/app/components/faq/faq.component.html + 89,91 + + faq answer + + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + src/app/components/domain/domain.component.html + 25,28 + + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + + src/app/components/faq/faq.component.html + 108,110 + + faq answer + + + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + + src/app/components/faq/faq.component.html + 96,98 + + faq answer + + + Does Zonemaster verify DNSSEC? + + src/app/components/faq/faq.component.html + 184,186 + + faq question + + + users who want to know whether the domain name they own or use have any issues or not. + + src/app/components/faq/faq.component.html + 52 + + faq answer + + + You have misspelled your domain name. + + src/app/components/faq/faq.component.html + 145 + + faq answer + + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + src/app/components/domain/domain.component.html + 12,14 + + + + What kind of DNS queries does Zonemaster generate? + + src/app/components/faq/faq.component.html + 102,104 + + faq question + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + src/app/components/faq/faq.component.html + 124,126 + + faq answer + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + src/app/components/faq/faq.component.html + 63,65 + + faq answer + + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + + src/app/components/faq/faq.component.html + 6,9 + + faq header + + + Engine, a test framework that supports all functionality to perform DNS tests; + + src/app/components/faq/faq.component.html + 24 + + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + src/app/components/faq/faq.component.html + 153,155 + + faq answer + + + Zonemaster is a software package that validates the quality of a DNS delegation. + + src/app/components/faq/faq.component.html + 19 + + faq answer + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + src/app/components/faq/faq.component.html + 211 + + faq answer + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + src/app/components/faq/faq.component.html + 210 + + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + src/app/components/faq/faq.component.html + 144 + + faq answer + + + Example: + + src/app/components/faq/faq.component.html + 208 + + faq answer + + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + src/app/components/faq/faq.component.html + 178,180 + + faq answer + + + Zonemaster can be used to test undelegated domain names. + + src/app/components/faq/faq.component.html + 69,71 + + faq answer + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + src/app/components/faq/faq.component.html + 38,40 + + faq answer + + + How come my domain name cannot be tested? + + src/app/components/faq/faq.component.html + 134,136 + + faq answer + + + The Zonemaster tool could help different kind of users: + + src/app/components/faq/faq.component.html + 48 + + faq answer + + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + src/app/components/faq/faq.component.html + 92,94 + + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + src/app/components/faq/faq.component.html + 66,67 + + faq answer + + + What is an undelegated domain test? + + src/app/components/faq/faq.component.html + 163,165 + + faq answer + + + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + + src/app/components/faq/faq.component.html + 196,198 + + faq answer + + + Close + + node_modules/src/alert/alert.ts + 79 + + + + Next + + node_modules/src/carousel/carousel.ts + 200 + + + + Previous + + node_modules/src/carousel/carousel.ts + 178,181 + + + + Slide of + + node_modules/src/carousel/carousel.ts + 150,157 + + Currently selected slide number read by screen reader + + + Next month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + + Previous month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + + Select month + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + + Select year + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + + + + + + node_modules/src/timepicker/timepicker.ts + 295 + + + + Decrement hours + + node_modules/src/timepicker/timepicker.ts + 229,230 + + + + Decrement minutes + + node_modules/src/timepicker/timepicker.ts + 272,274 + + + + Decrement seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + + + HH + + node_modules/src/timepicker/timepicker.ts + 136 + + + + Hours + + node_modules/src/timepicker/timepicker.ts + 155,158 + + + + Increment hours + + node_modules/src/timepicker/timepicker.ts + 206,208 + + + + Increment minutes + + node_modules/src/timepicker/timepicker.ts + 250,254 + + + + Increment seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + + + Minutes + + node_modules/src/timepicker/timepicker.ts + 190 + + + + MM + + node_modules/src/timepicker/timepicker.ts + 178 + + + + + + + + node_modules/src/timepicker/timepicker.ts + 295 + + + + Seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + + + SS + + node_modules/src/timepicker/timepicker.ts + 289 + + + + Close + + node_modules/src/toast/toast.ts + 108 + + \ No newline at end of file From b2ae3ec20c530476f16476814be1d8b5653cd579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Mon, 28 Aug 2023 21:40:53 +0200 Subject: [PATCH 29/83] test link localization --- src/app/components/faq/faq.component.html | 2 +- src/locale/messages.da.xlf | 9 +++++++-- src/locale/messages.es.xlf | 9 +++++++-- src/locale/messages.fi.xlf | 9 +++++++-- src/locale/messages.fr.xlf | 9 +++++++-- src/locale/messages.nb.xlf | 9 +++++++-- src/locale/messages.sv.xlf | 9 +++++++-- src/locale/messages.xlf | 10 +++++++++- 8 files changed, 52 insertions(+), 14 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index ab231cba..fc578fba 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -36,7 +36,7 @@

    General information

    - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs.

    diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index c52f4f78..aeadbab8 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -579,8 +579,8 @@ faq question
    - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 9fe416b3..b52f6aad 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -579,8 +579,8 @@ faq question - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index fce1b0ae..8e5c4aed 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -579,8 +579,8 @@ faq question - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 99da4498..4825431d 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -579,8 +579,8 @@ faq question - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index fd203c42..9e4c3c17 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -579,8 +579,8 @@ faq question - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index fa156612..eb575c6b 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -579,8 +579,8 @@ faq question - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -833,6 +833,11 @@ Documentation footer + + https://www.afnic.fr/en/ + https://www.afnic.fr/en/ + Afnic link + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 10b0f2d8..49dcc77f 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -1221,7 +1221,7 @@ faq answer - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. src/app/components/faq/faq.component.html 38,40 @@ -1458,6 +1458,14 @@ 108 + + https://www.afnic.fr/en/ + + src/app/components/faq/faq.component.html + 39 + + Afnic link + \ No newline at end of file From 53be660b18886f97fc8ac9c6218ac4b7af5135df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 10:49:13 +0200 Subject: [PATCH 30/83] tag string to translate --- src/app/components/form/form.component.html | 108 +++++++----------- .../components/history/history.component.html | 22 ++-- .../navigation/navigation.component.html | 10 +- .../page-not-found.component.html | 3 +- .../components/result/result.component.html | 53 +++++---- 5 files changed, 83 insertions(+), 113 deletions(-) diff --git a/src/app/components/form/form.component.html b/src/app/components/form/form.component.html index 5a6e7db4..9a002c70 100644 --- a/src/app/components/form/form.component.html +++ b/src/app/components/form/form.component.html @@ -1,6 +1,6 @@
    - +
    -
    - Domain name required -
    +
    Domain name required
    {{ domain.errors.serverError }} @@ -26,7 +23,7 @@ [disabled]="form.disabled" (click)="resetForm();" type="button" - i18n-title + i18n-title="form button" title="Clear domain input" class="btn grey"> @@ -45,11 +42,7 @@
    -
    @@ -57,7 +50,7 @@
    - +
    @@ -65,22 +58,20 @@
    - More information on undelegated test: - What is an undelegated domain test? + More information on undelegated test: + What is an undelegated domain test?
    - Nameservers + Nameservers
    - Nameserver #{{ i + 1}} + Nameserver #{{ i + 1}}
    - +
    {{ ns.controls.ns.errors.serverError }}
    -
    - The name of nameserver is required +
    + The name of nameserver is required
    -

    - DS records + DS records
    - DS record #{{ i + 1}} + DS record #{{ i + 1}}
    - +
    {{ ds_info.controls.keytag.errors.serverError }}
    -
    - Keytag required +
    + Keytag required
    - +
    - + @@ -222,14 +205,12 @@
    {{ ds_info.controls.digtype.errors.serverError }}
    -
    - Digest type required +
    + Digest type required
    - +
    {{ ds_info.controls.digest.errors.serverError }}
    -
    - Digest required +
    + Digest required
    @@ -253,7 +233,7 @@
    - +

    - General + General
    - Protocol + Protocol
    - +
    - +
    - Cannot disable both IPv4 and IPv6 + Cannot disable both IPv4 and IPv6
    @@ -297,7 +273,7 @@
    - +
    @@ -36,6 +36,6 @@
    - diff --git a/src/app/components/page-not-found/page-not-found.component.html b/src/app/components/page-not-found/page-not-found.component.html index ff067686..a329ee74 100644 --- a/src/app/components/page-not-found/page-not-found.component.html +++ b/src/app/components/page-not-found/page-not-found.component.html @@ -2,5 +2,6 @@

    Error 404

    -

    Page Not Found

    Sorry, there is nothing here!

    +

    Page Not Found

    +

    Sorry, there is nothing here!

    diff --git a/src/app/components/result/result.component.html b/src/app/components/result/result.component.html index ae990ab2..056897c8 100644 --- a/src/app/components/result/result.component.html +++ b/src/app/components/result/result.component.html @@ -1,7 +1,7 @@ -

    Result

    +

    Result

    -

    Test another domain

    +

    Test another domain

    @@ -16,14 +16,14 @@

    Test result for {{ form.domain }}

    @@ -290,7 +286,7 @@
    - +
    diff --git a/src/app/components/result/result.component.html b/src/app/components/result/result.component.html index 056897c8..9bf9b327 100644 --- a/src/app/components/result/result.component.html +++ b/src/app/components/result/result.component.html @@ -157,7 +157,7 @@

    Test result for {{ form.domain }}

    - +
    diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 0e3e9597..41b6b6b2 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -65,11 +65,6 @@ FAQ FAQ - - Fetch NS from parent zone - Hent NS fra forældrezonen - form button - History Historik @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 43403b55..9bc0e982 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -65,11 +65,6 @@ FAQ FAQ - - Fetch NS from parent zone - Obtener datos desde la zona padre - form button - History Historia @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index f0862731..601237a4 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -65,11 +65,6 @@ FAQ Usein kysytyt kysymykset (FAQ) - - Fetch NS from parent zone - Hae NS-tietueet pääverkkotunnuksesta - form button - History Historia @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 32c81153..a2252328 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -65,11 +65,6 @@ FAQ FAQ - - Fetch NS from parent zone - Récupérer les NS depuis la zone parente - form button - History Historique @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index fbbae1a0..a7838e07 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -65,11 +65,6 @@ FAQ FAQ - - Fetch NS from parent zone - Hent data fra foreldresonen - form button - History Historie @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index d764250c..5835b1dc 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -65,11 +65,6 @@ FAQ Vanliga frågor - - Fetch NS from parent zone - Hämta data från moderzonen - form button - History Tidigare test @@ -362,9 +357,10 @@ Copyright © AFNIC and The Swedish Internet Foundation footer - - My domain name + + Domain name form label + Domain name More information on undelegated test: @@ -408,22 +404,19 @@ Filter severity levels resut filter section - - Expand all - result filter messages - Collapse all result filter messages - - Run the test! - Run the test! + + Run the test + Run the test form button - - Reset form + + Reset the form form button + Reset the form Close @@ -534,320 +527,320 @@ Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - + Frequently asked questions Frequently asked questions - faq header + faq header - + Find answers to common questions about Zonemaster here. Find answers to common questions about Zonemaster here. - faq header + faq header - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + faq header - + General information General information - faq section header + faq section header - + What is Zonemaster? What is Zonemaster? - faq question + faq question - + Zonemaster is a software package that validates the quality of a DNS delegation. Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer + faq answer - + Zonemaster consists of several modules or components: Zonemaster consists of several modules or components: - faq answer + faq answer - + Engine, a test framework that supports all functionality to perform DNS tests; Engine, a test framework that supports all functionality to perform DNS tests; - faq answer + faq answer - + CLI,a command-line interface to the Engine; CLI,a command-line interface to the Engine; - faq answer + faq answer - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + faq answer - + GUI, a web interface to the Backend. GUI, a web interface to the Backend. - faq answer + faq answer - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer + faq answer - + Who is behind Zonemaster? Who is behind Zonemaster? - faq question + faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer - + How can Zonemaster help me? How can Zonemaster help me? - faq question + faq question - + The Zonemaster tool could help different kind of users: The Zonemaster tool could help different kind of users: - faq answer + faq answer - + DNS operators, experts and beginners alike, who want to check their DNS configuration; DNS operators, experts and beginners alike, who want to check their DNS configuration; - faq answer + faq answer - + users who want to know whether the domain name they own or use have any issues or not. users who want to know whether the domain name they own or use have any issues or not. - faq answer + faq answer - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - faq answer + faq answer - + What makes Zonemaster different from other DNS zone validating software? What makes Zonemaster different from other DNS zone validating software? - faq question + faq question - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. Zonemaster can be used to test undelegated domain names. - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? How can Zonemaster distinguish between what is right and wrong? - faq question + faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - faq answer + faq answer - + What kind of DNS queries does Zonemaster generate? What kind of DNS queries does Zonemaster generate? - faq question + faq question - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer + faq answer - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer + faq answer - + Zonemaster and privacy Zonemaster and privacy - faq response + faq response - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer + faq answer - + Using Zonemaster Using Zonemaster - faq section header + faq section header - + How come my domain name cannot be tested? How come my domain name cannot be tested? - faq answer + faq answer - + There are several possibilities. There are several possibilities. - faq answer + faq answer - + Your domain name is not yet delegated. Your domain name is not yet delegated. - faq answer + faq answer - + Your domain name is not reachable from public Internet. Your domain name is not reachable from public Internet. - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer + faq answer - + You have misspelled your domain name. You have misspelled your domain name. - faq answer + faq answer - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response + faq response - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. You can also get further insight about each test from the Test Case Specification documents. - faq answer + faq answer - + What is an undelegated domain test? What is an undelegated domain test? - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer + faq answer - + Does Zonemaster support IPv6? Does Zonemaster support IPv6? - faq question + faq question - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - faq answer + faq answer - + Does Zonemaster verify DNSSEC? Does Zonemaster verify DNSSEC? - faq question + faq question - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - faq answer + faq answer - + Can I test the DS records before they are published? Can I test the DS records before they are published? - faq question + faq question - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - faq answer + faq answer - + How can I test a "reverse" zone with Zonemaster? How can I test a "reverse" zone with Zonemaster? - faq answer + faq answer - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + faq answer - + Example: Example: - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + faq answer Source code @@ -914,6 +907,26 @@ : result colon + + https://internetstiftelsen.se/en/ + https://internetstiftelsen.se/en/ + IIS link + + + https://en.wikipedia.org/wiki/Request_for_Comments + https://en.wikipedia.org/wiki/Request_for_Comments + RFC Wikipedia link + + + Fetch nameservers from parent zone + Fetch nameservers from parent zone + form button + + + Expand all modules + Expand all modules + result filter messages + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index f1ade9a1..290b47f6 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -25,7 +25,7 @@ What is an undelegated domain test? src/app/components/form/form.component.html - 62 + 60 form info @@ -72,7 +72,7 @@ Domain name required src/app/components/form/form.component.html - 15 + 14 form error @@ -88,7 +88,7 @@ Options src/app/components/form/form.component.html - 53 + 51 form label @@ -96,7 +96,7 @@ Disable IPv4 src/app/components/form/form.component.html - 260 + 256 form label @@ -104,7 +104,7 @@ Disable IPv6 src/app/components/form/form.component.html - 264 + 260 form label @@ -112,7 +112,7 @@ Profile src/app/components/form/form.component.html - 276 + 272 form label @@ -120,7 +120,7 @@ Nameservers src/app/components/form/form.component.html - 68 + 66 form section @@ -128,7 +128,7 @@ Keytag src/app/components/form/form.component.html - 137 + 133 form label @@ -136,7 +136,7 @@ Keytag required src/app/components/form/form.component.html - 153 + 149 form error @@ -144,7 +144,7 @@ Algorithm src/app/components/form/form.component.html - 157 + 153 form label @@ -152,7 +152,7 @@ Algorithm required src/app/components/form/form.component.html - 185 + 181 form error @@ -160,7 +160,7 @@ Digest type src/app/components/form/form.component.html - 189 + 185 form label @@ -168,7 +168,7 @@ Digest type required src/app/components/form/form.component.html - 209 + 205 form error @@ -176,7 +176,7 @@ Digest src/app/components/form/form.component.html - 213 + 209 form label @@ -184,18 +184,10 @@ Digest required src/app/components/form/form.component.html - 227 + 223 form error - - Fetch NS from parent zone - - src/app/components/form/form.component.html - 125 - - form button - All @@ -444,7 +436,7 @@ Name src/app/components/form/form.component.html - 74 + 72 form label @@ -452,7 +444,7 @@ Cannot disable both IPv4 and IPv6 src/app/components/form/form.component.html - 268 + 264 form error @@ -467,7 +459,7 @@ Fetch DS from parent zone src/app/components/form/form.component.html - 246 + 242 form button @@ -483,7 +475,7 @@ General src/app/components/form/form.component.html - 253 + 249 form section @@ -491,7 +483,7 @@ DS records src/app/components/form/form.component.html - 132 + 128 form section @@ -499,7 +491,7 @@ Clear domain input src/app/components/form/form.component.html - 27 + 26 form button @@ -519,7 +511,7 @@ Protocol src/app/components/form/form.component.html - 256 + 252 form section @@ -613,31 +605,23 @@ More information on undelegated test: src/app/components/form/form.component.html - 61 + 59 form info - - Reset form + + Reset the form src/app/components/form/form.component.html - 293 + 289 form button - - Expand all - - src/app/components/result/result.component.html - 160 - - result filter messages - Delete nameserver # src/app/components/form/form.component.html - 116 + 112 form button @@ -652,15 +636,15 @@ Nameserver # src/app/components/form/form.component.html - 72 + 70 form section - - Run the test! + + Run the test src/app/components/form/form.component.html - 45,46 + 44 form button @@ -668,7 +652,7 @@ The name of nameserver is required src/app/components/form/form.component.html - 89 + 86 form error @@ -684,7 +668,7 @@ Delete DS record # src/app/components/form/form.component.html - 237 + 233 form button @@ -737,12 +721,12 @@ Select the digest type src/app/components/form/form.component.html - 199 + 195 form label - - My domain name + + Domain name src/app/components/form/form.component.html 3 @@ -753,7 +737,7 @@ Select the algorithm src/app/components/form/form.component.html - 167 + 163 form label @@ -761,25 +745,25 @@ DS record # src/app/components/form/form.component.html - 135 + 131 form section - + Does Zonemaster support IPv6? src/app/components/faq/faq.component.html 175,177 - faq question + faq question - + Can I test the DS records before they are published? src/app/components/faq/faq.component.html 193,195 - faq question + faq question Documentation @@ -789,205 +773,205 @@ footer - + What makes Zonemaster different from other DNS zone validating software? src/app/components/faq/faq.component.html 59,61 - faq question + faq question - + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". src/app/components/faq/faq.component.html 205,207 - faq answer + faq answer - + There are several possibilities. src/app/components/faq/faq.component.html 137,139 - faq answer + faq answer - + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. src/app/components/faq/faq.component.html 20 - faq answer + faq answer - + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. src/app/components/faq/faq.component.html 187,189 - faq answer + faq answer - + Zonemaster and privacy src/app/components/faq/faq.component.html 118,120 - faq response + faq response - + CLI,a command-line interface to the Engine; src/app/components/faq/faq.component.html 25 - faq answer + faq answer - - Nothing beside the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. src/app/components/faq/faq.component.html 121,123 - faq answer + faq answer - + How can Zonemaster distinguish between what is right and wrong? src/app/components/faq/faq.component.html 82,84 - faq question + faq question - + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. src/app/components/faq/faq.component.html 30 - faq answer + faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. src/app/components/faq/faq.component.html 85,87 - faq answer + faq answer - + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. src/app/components/faq/faq.component.html 169,171 - faq answer + faq answer - + Zonemaster can be used to test DS records before their publication in the parent zone. src/app/components/faq/faq.component.html 72,74 - faq answer + faq answer - + Using Zonemaster src/app/components/faq/faq.component.html 131 - faq section header + faq section header - + GUI, a web interface to the Backend. src/app/components/faq/faq.component.html 27 - faq answer + faq answer - + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. src/app/components/faq/faq.component.html 105,107 - faq answer + faq answer - + Who is behind Zonemaster? src/app/components/faq/faq.component.html 34,36 - faq question + faq question - + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. src/app/components/faq/faq.component.html 55 - faq answer + faq answer - + Your domain name is not reachable from public Internet. src/app/components/faq/faq.component.html 142 - faq answer + faq answer - + Frequently asked questions src/app/components/faq/faq.component.html 2 - faq header + faq header - + Your domain name is not yet delegated. src/app/components/faq/faq.component.html 141 - faq answer + faq answer - + You can also get further insight about each test from the Test Case Specification documents. src/app/components/faq/faq.component.html 156,158 - faq answer + faq answer - + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. src/app/components/faq/faq.component.html 75,77 - faq answer + faq answer - + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. src/app/components/faq/faq.component.html 143 - faq answer + faq answer - + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. src/app/components/faq/faq.component.html 111,113 - faq answer + faq answer Source code @@ -997,93 +981,93 @@ footer - + How can I test a "reverse" zone with Zonemaster? src/app/components/faq/faq.component.html 202,204 - faq answer + faq answer - + Find answers to common questions about Zonemaster here. src/app/components/faq/faq.component.html 3,5 - faq header + faq header - + Zonemaster consists of several modules or components: src/app/components/faq/faq.component.html 22 - faq answer + faq answer - + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. src/app/components/faq/faq.component.html 166,168 - faq answer + faq answer - + How can Zonemaster help me? src/app/components/faq/faq.component.html 44,46 - faq question + faq question - + General information src/app/components/faq/faq.component.html 13 - faq section header + faq section header - + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? src/app/components/faq/faq.component.html 150,152 - faq response + faq response - + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; src/app/components/faq/faq.component.html 26 - faq answer + faq answer - + What is Zonemaster? src/app/components/faq/faq.component.html 15,17 - faq question + faq question - + DNS operators, experts and beginners alike, who want to check their DNS configuration; src/app/components/faq/faq.component.html 51 - faq answer + faq answer - + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. src/app/components/faq/faq.component.html 89,91 - faq answer + faq answer Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. @@ -1092,45 +1076,45 @@ 25,28 - + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. src/app/components/faq/faq.component.html 108,110 - faq answer + faq answer - + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. src/app/components/faq/faq.component.html 96,98 - faq answer + faq answer - + Does Zonemaster verify DNSSEC? src/app/components/faq/faq.component.html 184,186 - faq question + faq question - + users who want to know whether the domain name they own or use have any issues or not. src/app/components/faq/faq.component.html 52 - faq answer + faq answer - + You have misspelled your domain name. src/app/components/faq/faq.component.html 145 - faq answer + faq answer Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. @@ -1139,165 +1123,165 @@ 12,14 - + What kind of DNS queries does Zonemaster generate? src/app/components/faq/faq.component.html 102,104 - faq question + faq question - + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. src/app/components/faq/faq.component.html 124,126 - faq answer + faq answer - + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. src/app/components/faq/faq.component.html 63,65 - faq answer + faq answer - + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. src/app/components/faq/faq.component.html 6,9 - faq header + faq header - + Engine, a test framework that supports all functionality to perform DNS tests; src/app/components/faq/faq.component.html 24 - faq answer + faq answer - + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. src/app/components/faq/faq.component.html 153,155 - faq answer + faq answer - + Zonemaster is a software package that validates the quality of a DNS delegation. src/app/components/faq/faq.component.html 19 - faq answer + faq answer - + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. src/app/components/faq/faq.component.html 211 - faq answer + faq answer - + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; src/app/components/faq/faq.component.html 210 - faq answer + faq answer - + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. src/app/components/faq/faq.component.html 144 - faq answer + faq answer - + Example: src/app/components/faq/faq.component.html 208 - faq answer + faq answer - + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. src/app/components/faq/faq.component.html 178,180 - faq answer + faq answer - + Zonemaster can be used to test undelegated domain names. src/app/components/faq/faq.component.html 69,71 - faq answer + faq answer - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. src/app/components/faq/faq.component.html 38,40 - faq answer + faq answer - + How come my domain name cannot be tested? src/app/components/faq/faq.component.html 134,136 - faq answer + faq answer - + The Zonemaster tool could help different kind of users: src/app/components/faq/faq.component.html 48 - faq answer + faq answer - + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. src/app/components/faq/faq.component.html 92,94 - faq answer + faq answer - + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents src/app/components/faq/faq.component.html 66,67 - faq answer + faq answer - + What is an undelegated domain test? src/app/components/faq/faq.component.html 163,165 - faq answer + faq answer - + Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. src/app/components/faq/faq.component.html 196,198 - faq answer + faq answer Close @@ -1493,7 +1477,7 @@ (optional) src/app/components/form/form.component.html - 94 + 91 form info @@ -1533,7 +1517,7 @@ Address src/app/components/form/form.component.html - 94 + 91 form label @@ -1569,6 +1553,38 @@ result security level description + + https://internetstiftelsen.se/en/ + + src/app/components/faq/faq.component.html + 39 + + IIS link + + + Fetch nameservers from parent zone + + src/app/components/form/form.component.html + 121 + + form button + + + https://en.wikipedia.org/wiki/Request_for_Comments + + src/app/components/faq/faq.component.html + 86 + + RFC Wikipedia link + + + Expand all modules + + src/app/components/result/result.component.html + 160 + + result filter messages + \ No newline at end of file From adc6d83908bfb0cf7540b1aae23377163b76f7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 16:36:27 +0200 Subject: [PATCH 34/83] try to improve FAQ navigation --- .../faq-question/faq-question.component.ts | 34 +++++++++++++------ src/app/components/faq/faq.component.ts | 3 +- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/app/components/faq-question/faq-question.component.ts b/src/app/components/faq-question/faq-question.component.ts index a1712c72..51ae55da 100644 --- a/src/app/components/faq-question/faq-question.component.ts +++ b/src/app/components/faq-question/faq-question.component.ts @@ -1,6 +1,7 @@ -import { AfterViewChecked, Component, Input, OnChanges, ViewChild } from '@angular/core'; +import { Component, Input, AfterViewInit, OnInit, OnDestroy, ViewChild } from '@angular/core'; import {ViewEncapsulation} from '@angular/core'; -import { Router } from '@angular/router'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Subscription } from 'rxjs'; @Component({ selector: 'app-faq-question', @@ -8,28 +9,39 @@ import { Router } from '@angular/router'; styleUrls: ['./faq-question.component.css'], encapsulation: ViewEncapsulation.None }) -export class FaqQuestionComponent implements OnChanges, AfterViewChecked { +export class FaqQuestionComponent implements AfterViewInit, OnInit, OnDestroy { @Input('questionId') questionId; @ViewChild('entry') entryElement; public isOpen: boolean = false; private fragment: string = null; + private fragmentSub: Subscription; - constructor(private router: Router) { + constructor(private router: Router, private route: ActivatedRoute) { this.fragment = this.router.getCurrentNavigation().extractedUrl.fragment; + this.fragmentSub = route.fragment.subscribe(this.checkQuestionState.bind(this)); } - ngOnChanges() { - if (!this.isOpen && this.fragment !== null) { - this.isOpen = this.fragment === this.questionId; - } + ngOnInit() { + this.checkQuestionState(this.fragment); + } + + ngOnDestroy() { + this.fragmentSub.unsubscribe(); } - ngAfterViewChecked() { - if (this.isOpen && this.fragment === this.questionId) { + ngAfterViewInit(){ + if (this.isOpen) { this.entryElement.nativeElement.scrollIntoView(); } + } - this.fragment = null; + private checkQuestionState(newFragment) { + if (newFragment === this.questionId) { + this.isOpen = true; + if (this.entryElement) { + this.entryElement.nativeElement.scrollIntoView(); + } + } } public toggleOpenEntry() { diff --git a/src/app/components/faq/faq.component.ts b/src/app/components/faq/faq.component.ts index 77262c05..3a7c8968 100644 --- a/src/app/components/faq/faq.component.ts +++ b/src/app/components/faq/faq.component.ts @@ -13,7 +13,8 @@ import { first } from 'rxjs/operators'; }) export class FaqComponent implements OnInit { - constructor(private titleService: Title) { + constructor(private titleService: Title, private route: ActivatedRoute ) { + } ngOnInit() { From cae560921787040e128875d20683c1909232d940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 16:51:35 +0200 Subject: [PATCH 35/83] fix faq --- src/app/components/faq-question/faq-question.component.ts | 6 +++++- src/app/components/faq/faq.component.html | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/components/faq-question/faq-question.component.ts b/src/app/components/faq-question/faq-question.component.ts index 51ae55da..cec0b6f5 100644 --- a/src/app/components/faq-question/faq-question.component.ts +++ b/src/app/components/faq-question/faq-question.component.ts @@ -15,6 +15,7 @@ export class FaqQuestionComponent implements AfterViewInit, OnInit, OnDestroy { public isOpen: boolean = false; private fragment: string = null; private fragmentSub: Subscription; + private clicked: boolean = false; constructor(private router: Router, private route: ActivatedRoute) { this.fragment = this.router.getCurrentNavigation().extractedUrl.fragment; @@ -36,7 +37,9 @@ export class FaqQuestionComponent implements AfterViewInit, OnInit, OnDestroy { } private checkQuestionState(newFragment) { - if (newFragment === this.questionId) { + if (this.clicked) { + this.clicked = false; + } else if (newFragment === this.questionId) { this.isOpen = true; if (this.entryElement) { this.entryElement.nativeElement.scrollIntoView(); @@ -52,6 +55,7 @@ export class FaqQuestionComponent implements AfterViewInit, OnInit, OnDestroy { } this.isOpen = !this.isOpen; + this.clicked = true; } } diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index 6af6815d..3cfe04a1 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -67,10 +67,10 @@

    General information

    All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents
  • - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names.
  • - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone.
  • This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. From b5162187648de94bf5bb2060c1e835ef30745c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 18:17:06 +0200 Subject: [PATCH 36/83] update some strings in faq --- src/app/components/faq/faq.component.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index 3cfe04a1..190d9cd8 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -48,7 +48,7 @@

    General information

    The Zonemaster tool could help different kind of users:

      -
    • DNS operators, experts and beginners alike, who want to check their DNS configuration;
    • +
    • DNS administrator, experts and beginners alike, who want to check their DNS configuration;
    • users who want to know whether the domain name they own or use have any issues or not.
    @@ -87,10 +87,10 @@

    General information

    - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found.

    - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions.

    @@ -205,7 +205,7 @@

    Using Zonemaster

    To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa".

    -

    Example:

    +

    Examples:

    • for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa;
    • for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa.
    • From 0b6ef46d0f6f8805c1596b1d0b8e435c13fd4584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 18:18:06 +0200 Subject: [PATCH 37/83] update french translation --- src/locale/messages.fr.xlf | 2025 +++++++++++++++++++++++++----------- 1 file changed, 1439 insertions(+), 586 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index a2252328..c300148b 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -1,932 +1,1785 @@ - + - - Algorithm - Algorithme - form label + + Close + + src/app/components/alert/alert.component.html + 5 + + + src/app/components/alert/alert.component.html + 5 + + + src/app/components/result/result.component.html + 225 + + + src/app/components/result/result.component.html + 225 + + Fermer - - Algorithm required - L'algorithme est obligatoire - form error + + What is an undelegated domain test? + + src/app/components/form/form.component.html + 60 + + form info + Qu'est-ce qu'un test sur un nom de domaine non délégué ? - - All - Tous - history button + + Parent data fetched with success. + + src/app/components/form/form.component.ts + 179 + + Les données de la zone parente ont été récupérées avec succès. - - Digest - Condensat - form label + + Error during parent data fetching. + + src/app/components/run-test/run-test.component.ts + 55 + + Erreur lors de la récupération des données de la zone parente. - - Digest required - Le condensat est obligatoire - form error + + FAQ + + src/app/components/faq/faq.component.ts + 20 + + + src/app/components/navigation/navigation.component.html + 18 + + FAQ + + + Program versions + + src/app/components/footer/footer.component.html + 6 + + Versions des programmes - - Digest type - Type de condensat - form label + + Zonemaster Backend is not available. + + src/app/components/footer/footer.component.ts + 42 + + Zonemaster Backend n'est pas disponible. - - Digest type required - Le type de condensat est obligatoire + + Domain name required + + src/app/components/form/form.component.html + 14 + form error + Le nom de domaine est obligatoire + + + Run a test + + src/app/components/navigation/navigation.component.html + 15 + + nav link + Lancer un test + + + Options + + src/app/components/form/form.component.html + 51 + + form label + Options - + Disable IPv4 - Désactiver IPv4 + + src/app/components/form/form.component.html + 256 + form label + Désactiver IPv4 - + Disable IPv6 - Désactiver IPv6 + + src/app/components/form/form.component.html + 260 + form label + Désactiver IPv6 - - Domain name required - Le nom de domaine est obligatoire - form error - - - Error during parent data fetching. - Erreur lors de la récupération des données de la zone parente. - - - Export - Exporter - result button - - - FAQ - FAQ - - - History - Historique - result button + + Profile + + src/app/components/form/form.component.html + 272 + + form label + Profil - - History information request is in progress. - La demande d'historique est en cours. + + Nameservers + + src/app/components/form/form.component.html + 66 + + form section + Serveurs de noms - + Keytag - Identifiant + + src/app/components/form/form.component.html + 133 + form label + Identifiant - + Keytag required - Identifiant obligatoire + + src/app/components/form/form.component.html + 149 + form error + Identifiant obligatoire - - Nameservers - Serveurs de noms - form section - - - No data for this test. - Il n'y a pas de résultat pour ce test. - - - Options - Options + + Algorithm + + src/app/components/form/form.component.html + 153 + form label + Algorithme - - Page Not Found - Page introuvable - - - Parent data fetched with success. - Les données de la zone parente ont été récupérées avec succès. - - - Please set the api endpoint - Merci de contacter l'administrateur, un point d'accès est nécessaire + + Algorithm required + + src/app/components/form/form.component.html + 181 + + form error + L'algorithme est obligatoire - - Profile - Profil + + Digest type + + src/app/components/form/form.component.html + 185 + form label + Type de condensat - - Program versions - Versions des programmes - - - Results from previous tests are not available. - Les résultats des tests précédents ne sont pas disponibles. - history info - - - Run a test - Lancer un test - nav link - - - Share - Partager - form button + + Digest type required + + src/app/components/form/form.component.html + 205 + + form error + Le type de condensat est obligatoire - - Sorry, there is nothing here! - Désolé, il n'y a rien ici ! + + Digest + + src/app/components/form/form.component.html + 209 + + form label + Condensat - - What is an undelegated domain test? - Qu'est-ce qu'un test sur un nom de domaine non délégué ? - form info + + Digest required + + src/app/components/form/form.component.html + 223 + + form error + Le condensat est obligatoire - - Zonemaster Backend is not available. - Zonemaster Backend n'est pas disponible. + + All + + src/app/components/history/history.component.html + 9 + + history button + Tous Delegated - Délégués + + src/app/components/history/history.component.html + 15 + plural delegated history button + Délégués Undelegated - Non délégués + + src/app/components/history/history.component.html + 30 + singular undelegated history info + Non délégués Undelegated - Non délégué + + src/app/components/history/history.component.html + 21 + plural undelegated history button + Non délégué + + + Results from previous tests are not available. + + src/app/components/history/history.component.html + 47 + + history info + Les résultats des tests précédents ne sont pas disponibles. Click to return on the top page - Cliquer pour retourner en haut de la page + + src/app/components/navigation/navigation.component.html + 39 + nav button + Cliquer pour retourner en haut de la page Error 404 + + src/app/components/page-not-found/page-not-found.component.html + 2 + Erreur 404 + + Page Not Found + + src/app/components/page-not-found/page-not-found.component.html + 5 + + Page introuvable + + + Sorry, there is nothing here! + + src/app/components/page-not-found/page-not-found.component.html + 6 + + Désolé, il n'y a rien ici ! + Result - Résultat + + src/app/components/result/result.component.html + 2 + result header + Résultat - - Close - Fermer + + History + + src/app/components/result/result.component.html + 19 + + + src/app/components/result/result.component.html + 224 + + result button + Historique + + + Export + + src/app/components/result/result.component.html + 26 + + result button + Exporter + + + Share + + src/app/components/result/result.component.html + 41 + + form button + Partager All - Tout + + src/app/components/result/result.component.html + 72 + all filter button + Tout Info - Info + + src/app/components/result/result.component.html + 79 + + + src/app/components/result/result.component.html + 121 + info filter button + Info Notice - Note + + src/app/components/result/result.component.html + 86 + + + src/app/components/result/result.component.html + 126 + notice filter button + Note Warning - Avertissement + + src/app/components/result/result.component.html + 93 + + + src/app/components/result/result.component.html + 131 + warning filter button + Avertissement Error - Erreur + + src/app/components/result/result.component.html + 100 + + + src/app/components/result/result.component.html + 136 + error filter button + Erreur Critical - Critique + + src/app/components/result/result.component.html + 107 + + + src/app/components/result/result.component.html + 142 + critical filter button + Critique + + + No data for this test. + + src/app/components/result/result.component.ts + 169 + + Il n'y a pas de résultat pour ce test. + + + History information request is in progress. + + src/app/components/result/result.component.ts + 252 + + La demande d'historique est en cours. Module + + src/app/components/result/result.component.ts + 336 + Module Level + + src/app/components/result/result.component.ts + 337 + Sévérité Message + + src/app/components/result/result.component.ts + 338 + Message + + Please set the api endpoint + + src/app/services/dns-check.service.ts + 19 + + Merci de contacter l'administrateur, un point d'accès est nécessaire + A word about the DNS - À propos du DNS - - - Name - Lancer - form label - - - Change language - Changer de langue - nav label + + src/app/components/domain/domain.component.html + 34 + + À propos du DNS Test completed! + + src/app/components/run-test/run-test.component.ts + 83 + Test terminé ! - - Clear domain input - Effacer le champ du domaine - form button - - - DS records - Enregistrement DS - form section - - - General - Général - form section + + Change language + + src/app/components/navigation/navigation.component.html + 22 + + + src/app/components/navigation/navigation.component.html + 25 + + nav label + Changer de langue - - Protocol - Protocole - form section + + Name + + src/app/components/form/form.component.html + 72 + + form label + Lancer Cannot disable both IPv4 and IPv6 - Impossible de désactiver IPv4 et IPv6 simultanément + + src/app/components/form/form.component.html + 264 + form error + Impossible de désactiver IPv4 et IPv6 simultanément No data found for the zone. + + src/app/components/form/form.component.ts + 174 + Aucune donnée trouvée pour la zone. + + Fetch DS from parent zone + + src/app/components/form/form.component.html + 242 + + form button + Récupérer les DS depuis la zone parente + Link to test - Lien vers le test + + src/app/components/result/result.component.html + 45 + result label + Lien vers le test + + + General + + src/app/components/form/form.component.html + 249 + + form section + Général + + + DS records + + src/app/components/form/form.component.html + 128 + + form section + Enregistrements DS + + + Clear domain input + + src/app/components/form/form.component.html + 26 + + form button + Effacer le champ du domaine Copy link to clipboard - Copier le lien dans le presse-papiers + + src/app/components/result/result.component.html + 46 + + + src/app/components/result/result.component.html + 48 + result button + Copier le lien dans le presse-papiers - - Fetch DS from parent zone - Récupérer les DS depuis la zone parente - form button + + Protocol + + src/app/components/form/form.component.html + 252 + + form section + Protocole No previous tests found for this domain. + + src/app/components/result/result.component.ts + 257 + Aucun test antérieur n’a été trouvé pour ce domaine. An unexpected server error happened. + + src/app/components/run-test/run-test.component.ts + 98 + Une erreur imprévue du serveur est survenue. «« + + node_modules/src/pagination/pagination.ts + 247,249 + «« - - « - « - - - » - » + + First + + node_modules/src/pagination/pagination.ts + 322,323 + + Aller au début »» + + node_modules/src/pagination/pagination.ts + 305,307 + »» - - First - Aller au début + + Last + + node_modules/src/pagination/pagination.ts + 363,365 + + Aller à la fin - - Previous - Précédent + + » + + node_modules/src/pagination/pagination.ts + 290 + + » Next + + node_modules/src/pagination/pagination.ts + 350 + Suivant - - Last - Aller à la fin + + « + + node_modules/src/pagination/pagination.ts + 266 + + « + + + Previous + + node_modules/src/pagination/pagination.ts + 338 + + Précédent + + node_modules/src/progressbar/progressbar.ts + 64,67 + - - + - - Check how your domain is doing - - - Test your domain - - - What is Zonemaster? - - - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - - - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - - Copyright © AFNIC and The Swedish Internet Foundation - Copyright © AFNIC and The Swedish Internet Foundation - footer - - - Domain name - form label - Domain name + + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. + + src/app/components/domain/domain.component.html + 16,23 + + Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. More information on undelegated test: - More information on undelegated test: + + src/app/components/form/form.component.html + 59 + form info + Plus d'information sur les tests non délégués : - - Nameserver # - form section - - - The name of nameserver is required - The name of nameserver is required - form error + + Reset the form + + src/app/components/form/form.component.html + 289 + + form button + Réinitialiser le formulaire Delete nameserver # + + src/app/components/form/form.component.html + 112 + form button + Supprimer le serveur de noms # - - DS record # + + What is Zonemaster? + + src/app/components/domain/domain.component.html + 11 + + Qu'est-ce que Zonemaster ? + + + Nameserver # + + src/app/components/form/form.component.html + 70 + form section + Serveur de noms # - - Select the algorithm - form label + + Run the test + + src/app/components/form/form.component.html + 44 + + form button + Lancer le test - - Select the digest type - form label + + The name of nameserver is required + + src/app/components/form/form.component.html + 86 + + form error + Le nom du serveur de noms est requis + + + Copyright © AFNIC and The Swedish Internet Foundation + + src/app/components/footer/footer.component.html + 26,28 + + footer + Copyright © AFNIC et The Swedish Internet Foundation Delete DS record # + + src/app/components/form/form.component.html + 233 + form button + Supprimer l'enregistrement DS # - - Test another domain - result subheader + + Check how your domain is doing + + src/app/components/domain/domain.component.html + 2 + + Vérifier l'état de votre domaine - - Filter severity levels - resut filter section + + The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + + src/app/components/domain/domain.component.html + 35,45 + + Le Système de Nom de Domaine (DNS) est une base de données qui associe des noms de domaine à des adresses IP (Internet Protocol), de la même manière qu’un annuaire associe des noms à des numéros de téléphone. Une adresse IP est un identifiant numérique unique qui identifie chaque ordinateur connecté à Internet, de la même manière que chaque téléphone a son propre numéro dans le réseau téléphonique. Ces identifiants numériques complexes conviennent parfaitement aux ordinateurs, mais sont beaucoup plus difficiles à mémoriser pour des humains. C’est pour cela que le DNS a été développé, pour établir une correspondance entre des noms que nous pouvons plus facilement retenir et les adresses IP utilisées par les ordinateurs lorsqu’on veut accéder à un site Web ou utiliser d’autres services sur Internet, comme le courriel. + + + Test your domain + + src/app/components/domain/domain.component.html + 4 + + Tester votre domaine Collapse all + + src/app/components/result/result.component.html + 161 + result filter messages + Replier tout - - Run the test - Run the test - form button - - - Reset the form - form button - Reset the form - - - Close - Close - - - Slide of - Slide of - Currently selected slide number read by screen reader - - - Previous - Previous - - - Next - Next - - - Select month - Select month - - - Select year - Select year - - - Previous month - Previous month - - - Next month - Next month - - - HH - HH - - - Hours - Hours - - - MM - MM - - - Minutes - Minutes - - - Increment hours - Increment hours + + Filter severity levels + + src/app/components/result/result.component.html + 65 + + resut filter section + Filtrer les niveaux de sévérité - - Decrement hours - Decrement hours + + Test another domain + + src/app/components/result/result.component.html + 4 + + result subheader + Tester un autre domaine - - Increment minutes - Increment minutes + + Select the digest type + + src/app/components/form/form.component.html + 195 + + form label + Sélectionner le type de condensat - - Decrement minutes - Decrement minutes + + Domain name + + src/app/components/form/form.component.html + 3 + + form label + Nom de domaine - - SS - SS + + Select the algorithm + + src/app/components/form/form.component.html + 163 + + form label + Sélectionner l'algorithme - - Seconds - Seconds + + DS record # + + src/app/components/form/form.component.html + 131 + + form section + Enregistrement DS # - - Increment seconds - Increment seconds + + Does Zonemaster support IPv6? + + src/app/components/faq/faq.component.html + 175,177 + + faq question + Zonemaster est-il compatible avec IPv6 ? - - Decrement seconds - Decrement seconds + + Can I test the DS records before they are published? + + src/app/components/faq/faq.component.html + 193,195 + + faq question + Peut-on tester des enregistrements DS avant leur publication ? - - - - - - - + + Documentation + + src/app/components/footer/footer.component.html + 20 + + footer + Documentation - - - - - - - + + What makes Zonemaster different from other DNS zone validating software? + + src/app/components/faq/faq.component.html + 59,61 + + faq question + Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? - - Close - Close + + To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + + src/app/components/faq/faq.component.html + 205,207 + + faq answer + Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». - - Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. - Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + There are several possibilities. + + src/app/components/faq/faq.component.html + 137,139 + + faq answer + Il y a plusieurs possibilités. - - Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + src/app/components/faq/faq.component.html + 20 + + faq answer + L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. - - Frequently asked questions - Frequently asked questions - faq header + + Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + + src/app/components/faq/faq.component.html + 187,189 + + faq answer + Oui. Si DNSSEC est disponible pour un nom de domaine testé par Zonemaster, ce sera automatiquement vérifié. - - Find answers to common questions about Zonemaster here. - Find answers to common questions about Zonemaster here. - faq header + + Zonemaster and privacy + + src/app/components/faq/faq.component.html + 118,120 + + faq response + Zonemaster et vie privée - - You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - faq header + + CLI,a command-line interface to the Engine; + + src/app/components/faq/faq.component.html + 25 + + faq answer + CLI, une interface en ligne de commande à l'Engine ; - - General information - General information - faq section header + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + + src/app/components/faq/faq.component.html + 121,123 + + faq answer + Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. - - What is Zonemaster? - What is Zonemaster? + + How can Zonemaster distinguish between what is right and wrong? + + src/app/components/faq/faq.component.html + 82,84 + faq question + Comment Zonemaster discerne-t-il le bon du mauvais ? - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + src/app/components/faq/faq.component.html + 30 + faq answer + Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + src/app/components/faq/faq.component.html + 85,87 + faq answer + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + src/app/components/faq/faq.component.html + 169,171 + faq answer + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; + + Zonemaster can be used to test DS records before their publication in the parent zone. + + src/app/components/faq/faq.component.html + 72,74 + faq answer + Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer + + Using Zonemaster + + src/app/components/faq/faq.component.html + 131 + + faq section header + Utilisation de Zonemaster GUI, a web interface to the Backend. - GUI, a web interface to the Backend. + + src/app/components/faq/faq.component.html + 27 + faq answer + GUI, une interface web au Backend. - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + + src/app/components/faq/faq.component.html + 105,107 + faq answer + Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. Who is behind Zonemaster? - Who is behind Zonemaster? + + src/app/components/faq/faq.component.html + 34,36 + faq question + Qui est derrière Zonemaster ? - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + + src/app/components/faq/faq.component.html + 55 + faq answer + Les utilisateurs et utilisatrices de la seconde catégorie devraient contacter leur opérateur DNS si le moindre test de leur nom de domaine rapporte une erreur ou un avertissement. - - How can Zonemaster help me? - How can Zonemaster help me? - faq question - - - The Zonemaster tool could help different kind of users: - The Zonemaster tool could help different kind of users: + + Your domain name is not reachable from public Internet. + + src/app/components/faq/faq.component.html + 142 + faq answer + Votre domaine n'est pas joignable publiquement depuis Internet. - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + Frequently asked questions + + src/app/components/faq/faq.component.html + 2 + + faq header + Questions fréquentes + + + Your domain name is not yet delegated. + + src/app/components/faq/faq.component.html + 141 + faq answer + Votre domaine n'est pas encore délégué. - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + You can also get further insight about each test from the Test Case Specification documents. + + src/app/components/faq/faq.component.html + 156,158 + faq answer + Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). - - Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + src/app/components/faq/faq.component.html + 75,77 + faq answer + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. - - What makes Zonemaster different from other DNS zone validating software? - What makes Zonemaster different from other DNS zone validating software? - faq question + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + src/app/components/faq/faq.component.html + 143 + + faq answer + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + src/app/components/faq/faq.component.html + 111,113 + faq answer + Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Source code + + src/app/components/footer/footer.component.html + 15 + + footer + Code source + + + How can I test a "reverse" zone with Zonemaster? + + src/app/components/faq/faq.component.html + 202,204 + faq answer + Comment tester une zone inverse avec Zonemaster ? - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + + Find answers to common questions about Zonemaster here. + + src/app/components/faq/faq.component.html + 3,5 + + faq header + Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. + + + Zonemaster consists of several modules or components: + + src/app/components/faq/faq.component.html + 22 + faq answer + Zonemaster est constitué de plusieurs modules ou composants : - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + src/app/components/faq/faq.component.html + 166,168 + faq answer + Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + How can Zonemaster help me? + + src/app/components/faq/faq.component.html + 44,46 + + faq question + Qu'est-ce que Zonemaster peut faire pour moi ? + + + General information + + src/app/components/faq/faq.component.html + 13 + + faq section header + Informations générales + + + Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + + src/app/components/faq/faq.component.html + 150,152 + + faq response + Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + src/app/components/faq/faq.component.html + 26 + faq answer + Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; - - How can Zonemaster distinguish between what is right and wrong? - How can Zonemaster distinguish between what is right and wrong? + + What is Zonemaster? + + src/app/components/faq/faq.component.html + 15,17 + faq question + Qu'est-ce que Zonemaster ? - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + DNS operators, experts and beginners alike, who want to check their DNS configuration; + + src/app/components/faq/faq.component.html + 51 + faq answer + Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + + src/app/components/faq/faq.component.html + 89,91 + faq answer + Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + src/app/components/domain/domain.component.html + 25,28 + + Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + + src/app/components/faq/faq.component.html + 108,110 + faq answer + L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + + src/app/components/faq/faq.component.html + 96,98 + faq answer + Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + Does Zonemaster verify DNSSEC? + + src/app/components/faq/faq.component.html + 184,186 + faq question + Zonemaster vérifie-t-il DNSSEC ? - - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - faq answer - - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + + users who want to know whether the domain name they own or use have any issues or not. + + src/app/components/faq/faq.component.html + 52 + faq answer + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + You have misspelled your domain name. + + src/app/components/faq/faq.component.html + 145 + faq answer + Vous avez fait une faute de frappe dans le nom de domaine. - - Zonemaster and privacy - Zonemaster and privacy - faq response + + Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + src/app/components/domain/domain.component.html + 12,14 + + Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer + + What kind of DNS queries does Zonemaster generate? + + src/app/components/faq/faq.component.html + 102,104 + + faq question + Quel genre de requêtes Zonemaster génère-t-il ? However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + src/app/components/faq/faq.component.html + 124,126 + faq answer + Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. - - Using Zonemaster - Using Zonemaster - faq section header + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + src/app/components/faq/faq.component.html + 63,65 + + faq answer + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. - - How come my domain name cannot be tested? - How come my domain name cannot be tested? + + You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + + src/app/components/faq/faq.component.html + 6,9 + + faq header + Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. + + + Engine, a test framework that supports all functionality to perform DNS tests; + + src/app/components/faq/faq.component.html + 24 + faq answer + Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; - - There are several possibilities. - There are several possibilities. + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + src/app/components/faq/faq.component.html + 153,155 + faq answer + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. - - Your domain name is not yet delegated. - Your domain name is not yet delegated. + + Zonemaster is a software package that validates the quality of a DNS delegation. + + src/app/components/faq/faq.component.html + 19 + faq answer + Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. - - Your domain name is not reachable from public Internet. - Your domain name is not reachable from public Internet. + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + src/app/components/faq/faq.component.html + 211 + faq answer + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + src/app/components/faq/faq.component.html + 210 + faq answer + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + src/app/components/faq/faq.component.html + 144 + faq answer + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. - - You have misspelled your domain name. - You have misspelled your domain name. + + Example: + + src/app/components/faq/faq.component.html + 208 + faq answer + Exemple : - - Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - faq response - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + src/app/components/faq/faq.component.html + 178,180 + faq answer + Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. + + Zonemaster can be used to test undelegated domain names. + + src/app/components/faq/faq.component.html + 69,71 + faq answer + Zonemaster peut être utilisé pour tester des noms de domaines non délégués. - - What is an undelegated domain test? - What is an undelegated domain test? + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + src/app/components/faq/faq.component.html + 38,40 + faq answer + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + How come my domain name cannot be tested? + + src/app/components/faq/faq.component.html + 134,136 + faq answer + Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + The Zonemaster tool could help different kind of users: + + src/app/components/faq/faq.component.html + 48 + faq answer + Zonemaster peut aider différents types d'utilisateurs et utilisatrices : - - Does Zonemaster support IPv6? - Does Zonemaster support IPv6? - faq question - - - Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + src/app/components/faq/faq.component.html + 92,94 + faq answer + Les descriptions de niveaux de messages comme notice, avertissement et erreur se trouvent dans le document de définition des niveaux de sévérité. - - Does Zonemaster verify DNSSEC? - Does Zonemaster verify DNSSEC? - faq question - - - Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + src/app/components/faq/faq.component.html + 66,67 + faq answer + Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) - - Can I test the DS records before they are published? - Can I test the DS records before they are published? - faq question + + What is an undelegated domain test? + + src/app/components/faq/faq.component.html + 163,165 + + faq answer + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + + src/app/components/faq/faq.component.html + 196,198 + faq answer + Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. - - How can I test a "reverse" zone with Zonemaster? - How can I test a "reverse" zone with Zonemaster? - faq answer + + Close + + node_modules/src/alert/alert.ts + 79 + + Fermer - - To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - faq answer + + Next + + node_modules/src/carousel/carousel.ts + 200 + + Suivant - - Example: - Example: - faq answer + + Previous + + node_modules/src/carousel/carousel.ts + 178,181 + + Précédent - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer + + Slide of + + node_modules/src/carousel/carousel.ts + 150,157 + + Currently selected slide number read by screen reader + Diapositive de - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer + + Next month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + Next month - - Source code - Source code - footer + + Previous month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + Previous month - - Documentation - Documentation - footer + + Select month + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + Select month + + + Select year + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + Select year + + + + + + + node_modules/src/timepicker/timepicker.ts + 295 + + + + Decrement hours + + node_modules/src/timepicker/timepicker.ts + 229,230 + + Decrement hours + + + Decrement minutes + + node_modules/src/timepicker/timepicker.ts + 272,274 + + Decrement minutes + + + Decrement seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + Decrement seconds + + + HH + + node_modules/src/timepicker/timepicker.ts + 136 + + HH + + + Hours + + node_modules/src/timepicker/timepicker.ts + 155,158 + + Hours + + + Increment hours + + node_modules/src/timepicker/timepicker.ts + 206,208 + + Increment hours + + + Increment minutes + + node_modules/src/timepicker/timepicker.ts + 250,254 + + Increment minutes + + + Increment seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + Incrémenter les secondes + + + Minutes + + node_modules/src/timepicker/timepicker.ts + 190 + + Minutes + + + MM + + node_modules/src/timepicker/timepicker.ts + 178 + + MM + + + + + + + node_modules/src/timepicker/timepicker.ts + 295 + + + + Seconds + + node_modules/src/timepicker/timepicker.ts + 295 + + Secondes + + + SS + + node_modules/src/timepicker/timepicker.ts + 289 + + SS + + + Close + + node_modules/src/toast/toast.ts + 108 + + Fermer https://www.afnic.fr/en/ - https://www.afnic.fr/en/ + + src/app/components/faq/faq.component.html + 39 + Afnic link - - - Address - Address - form label + https://www.afnic.fr (optional) - (optional) + + src/app/components/form/form.component.html + 91 + form info + (facultatif) - - What is the meaning of the severity levels? - What is the meaning of the severity levels? - result info + + The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. + + src/app/components/result/result.component.html + 127,130 + + result security level description + Le message indique un élément dont la personne administrant la zone devrait prendre connaissance sans qu’il ne s’agisse nécessairement d’un problème de configuration. + + + : + + src/app/components/result/result.component.html + 179 + + result colon +  : The message is something that may be of interest to the zone's administrator but that definitely does not indicate a problem. - The message is something that may be of interest to the zone's administrator but that definitely does not indicate a problem. - result security level description - - - The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. - The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. + + src/app/components/result/result.component.html + 122,125 + result security level description + Le message indique une information pouvant être utile pour la personne administrant la zone, mais qui n’est en aucun cas une anomalie. The message means something that will under some circumstances be a problem, but that is unlikely to be noticed by a casual user. - The message means something that will under some circumstances be a problem, but that is unlikely to be noticed by a casual user. + + src/app/components/result/result.component.html + 132,135 + result security level description + Le message indique un élément pouvant causer un dysfonctionnement dans certaines circonstances, mais qu’une personne non avertie a peu de chances de repérer. + + + Address + + src/app/components/form/form.component.html + 91 + + form label + Adresse + + + What is the meaning of the severity levels? + + src/app/components/result/result.component.html + 118 + + result info + Que signifie les niveaux de sévérité ? The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. - The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. - result security level description - - - The message means a very serious error. - The message means a very serious error. + + src/app/components/result/result.component.html + 137,141 + result security level description + Le message indique une anomalie pouvant provoquer de façon (quasi) certaine un dysfonctionnement de la zone testée, sans être suffisamment grave pour rendre l’intégralité de la zone inaccessible. Search text in messages - Search text in messages + + src/app/components/result/result.component.html + 151 + result filter messages + Rechercher dans les messages - - : - : - result colon + + The message means a very serious error. + + src/app/components/result/result.component.html + 143,145 + + result security level description + Le message indique une erreur très grave. https://internetstiftelsen.se/en/ - https://internetstiftelsen.se/en/ + + src/app/components/faq/faq.component.html + 39 + IIS link - - - https://en.wikipedia.org/wiki/Request_for_Comments - https://en.wikipedia.org/wiki/Request_for_Comments - RFC Wikipedia link + https://internetstiftelsen.se/en/ Fetch nameservers from parent zone - Fetch nameservers from parent zone + + src/app/components/form/form.component.html + 121 + form button + Récupérer les serveurs de noms depuis la zone parente + + + https://en.wikipedia.org/wiki/Request_for_Comments + + src/app/components/faq/faq.component.html + 86 + + RFC Wikipedia link + https://fr.wikipedia.org/wiki/Request_for_comments Expand all modules - Expand all modules + + src/app/components/result/result.component.html + 160 + result filter messages + Déplier tous les modules - \ No newline at end of file + From dd13742e8b4e3f8a1b63a398ff3cd98c330d3987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 18:24:24 +0200 Subject: [PATCH 38/83] i18n extract strings --- src/locale/messages.da.xlf | 36 +- src/locale/messages.es.xlf | 36 +- src/locale/messages.fi.xlf | 36 +- src/locale/messages.fr.xlf | 999 +++---------------------------------- src/locale/messages.nb.xlf | 36 +- src/locale/messages.sv.xlf | 36 +- src/locale/messages.xlf | 34 +- 7 files changed, 183 insertions(+), 1030 deletions(-) diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 41b6b6b2..f7960e57 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -612,9 +612,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer @@ -643,13 +643,13 @@ faq answer - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer @@ -667,14 +667,9 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer @@ -827,9 +822,9 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". faq answer - - Example: - Example: + + Examples: + Examples: faq answer @@ -927,6 +922,11 @@ Expand all modules result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 9bc0e982..5a051289 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -612,9 +612,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer @@ -643,13 +643,13 @@ faq answer - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer @@ -667,14 +667,9 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer @@ -827,9 +822,9 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". faq answer - - Example: - Example: + + Examples: + Examples: faq answer @@ -927,6 +922,11 @@ Expand all modules result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index 601237a4..bc7d18bf 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -612,9 +612,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer @@ -643,13 +643,13 @@ faq answer - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer @@ -667,14 +667,9 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer @@ -827,9 +822,9 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". faq answer - - Example: - Example: + + Examples: + Examples: faq answer @@ -927,6 +922,11 @@ Expand all modules result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index c300148b..879c2e13 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -4,1782 +4,935 @@ Close - - src/app/components/alert/alert.component.html - 5 - - - src/app/components/alert/alert.component.html - 5 - - - src/app/components/result/result.component.html - 225 - - - src/app/components/result/result.component.html - 225 - Fermer What is an undelegated domain test? - - src/app/components/form/form.component.html - 60 - form info - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Parent data fetched with success. - - src/app/components/form/form.component.ts - 179 - Les données de la zone parente ont été récupérées avec succès. Error during parent data fetching. - - src/app/components/run-test/run-test.component.ts - 55 - Erreur lors de la récupération des données de la zone parente. FAQ - - src/app/components/faq/faq.component.ts - 20 - - - src/app/components/navigation/navigation.component.html - 18 - FAQ Program versions - - src/app/components/footer/footer.component.html - 6 - Versions des programmes Zonemaster Backend is not available. - - src/app/components/footer/footer.component.ts - 42 - - Zonemaster Backend n'est pas disponible. + Zonemaster Backend n'est pas disponible. Domain name required - - src/app/components/form/form.component.html - 14 - form error Le nom de domaine est obligatoire Run a test - - src/app/components/navigation/navigation.component.html - 15 - nav link Lancer un test Options - - src/app/components/form/form.component.html - 51 - form label Options Disable IPv4 - - src/app/components/form/form.component.html - 256 - form label Désactiver IPv4 Disable IPv6 - - src/app/components/form/form.component.html - 260 - form label Désactiver IPv6 Profile - - src/app/components/form/form.component.html - 272 - form label Profil Nameservers - - src/app/components/form/form.component.html - 66 - form section Serveurs de noms Keytag - - src/app/components/form/form.component.html - 133 - form label Identifiant Keytag required - - src/app/components/form/form.component.html - 149 - form error Identifiant obligatoire Algorithm - - src/app/components/form/form.component.html - 153 - form label Algorithme Algorithm required - - src/app/components/form/form.component.html - 181 - form error - L'algorithme est obligatoire + L'algorithme est obligatoire Digest type - - src/app/components/form/form.component.html - 185 - form label Type de condensat Digest type required - - src/app/components/form/form.component.html - 205 - form error Le type de condensat est obligatoire Digest - - src/app/components/form/form.component.html - 209 - form label Condensat Digest required - - src/app/components/form/form.component.html - 223 - form error Le condensat est obligatoire All - - src/app/components/history/history.component.html - 9 - history button Tous Delegated - - src/app/components/history/history.component.html - 15 - plural delegated history button Délégués Undelegated - - src/app/components/history/history.component.html - 30 - singular undelegated history info Non délégués Undelegated - - src/app/components/history/history.component.html - 21 - plural undelegated history button Non délégué Results from previous tests are not available. - - src/app/components/history/history.component.html - 47 - history info Les résultats des tests précédents ne sont pas disponibles. Click to return on the top page - - src/app/components/navigation/navigation.component.html - 39 - nav button Cliquer pour retourner en haut de la page Error 404 - - src/app/components/page-not-found/page-not-found.component.html - 2 - Erreur 404 Page Not Found - - src/app/components/page-not-found/page-not-found.component.html - 5 - Page introuvable Sorry, there is nothing here! - - src/app/components/page-not-found/page-not-found.component.html - 6 - - Désolé, il n'y a rien ici ! + Désolé, il n'y a rien ici ! Result - - src/app/components/result/result.component.html - 2 - result header Résultat History - - src/app/components/result/result.component.html - 19 - - - src/app/components/result/result.component.html - 224 - result button Historique Export - - src/app/components/result/result.component.html - 26 - result button Exporter Share - - src/app/components/result/result.component.html - 41 - form button Partager All - - src/app/components/result/result.component.html - 72 - all filter button Tout Info - - src/app/components/result/result.component.html - 79 - - - src/app/components/result/result.component.html - 121 - info filter button Info Notice - - src/app/components/result/result.component.html - 86 - - - src/app/components/result/result.component.html - 126 - notice filter button Note Warning - - src/app/components/result/result.component.html - 93 - - - src/app/components/result/result.component.html - 131 - warning filter button Avertissement Error - - src/app/components/result/result.component.html - 100 - - - src/app/components/result/result.component.html - 136 - error filter button Erreur Critical - - src/app/components/result/result.component.html - 107 - - - src/app/components/result/result.component.html - 142 - critical filter button Critique No data for this test. - - src/app/components/result/result.component.ts - 169 - - Il n'y a pas de résultat pour ce test. + Il n'y a pas de résultat pour ce test. History information request is in progress. - - src/app/components/result/result.component.ts - 252 - - La demande d'historique est en cours. + La demande d'historique est en cours. Module - - src/app/components/result/result.component.ts - 336 - Module Level - - src/app/components/result/result.component.ts - 337 - Sévérité Message - - src/app/components/result/result.component.ts - 338 - Message Please set the api endpoint - - src/app/services/dns-check.service.ts - 19 - - Merci de contacter l'administrateur, un point d'accès est nécessaire + Merci de contacter l'administrateur, un point d'accès est nécessaire A word about the DNS - - src/app/components/domain/domain.component.html - 34 - À propos du DNS Test completed! - - src/app/components/run-test/run-test.component.ts - 83 - Test terminé ! Change language - - src/app/components/navigation/navigation.component.html - 22 - - - src/app/components/navigation/navigation.component.html - 25 - nav label Changer de langue Name - - src/app/components/form/form.component.html - 72 - form label Lancer Cannot disable both IPv4 and IPv6 - - src/app/components/form/form.component.html - 264 - form error Impossible de désactiver IPv4 et IPv6 simultanément No data found for the zone. - - src/app/components/form/form.component.ts - 174 - Aucune donnée trouvée pour la zone. Fetch DS from parent zone - - src/app/components/form/form.component.html - 242 - form button Récupérer les DS depuis la zone parente Link to test - - src/app/components/result/result.component.html - 45 - result label Lien vers le test General - - src/app/components/form/form.component.html - 249 - form section Général DS records - - src/app/components/form/form.component.html - 128 - form section Enregistrements DS Clear domain input - - src/app/components/form/form.component.html - 26 - form button Effacer le champ du domaine Copy link to clipboard - - src/app/components/result/result.component.html - 46 - - - src/app/components/result/result.component.html - 48 - result button Copier le lien dans le presse-papiers Protocol - - src/app/components/form/form.component.html - 252 - form section Protocole No previous tests found for this domain. - - src/app/components/result/result.component.ts - 257 - Aucun test antérieur n’a été trouvé pour ce domaine. An unexpected server error happened. - - src/app/components/run-test/run-test.component.ts - 98 - Une erreur imprévue du serveur est survenue. «« - - node_modules/src/pagination/pagination.ts - 247,249 - «« First - - node_modules/src/pagination/pagination.ts - 322,323 - Aller au début »» - - node_modules/src/pagination/pagination.ts - 305,307 - »» Last - - node_modules/src/pagination/pagination.ts - 363,365 - Aller à la fin » - - node_modules/src/pagination/pagination.ts - 290 - » Next - - node_modules/src/pagination/pagination.ts - 350 - Suivant « - - node_modules/src/pagination/pagination.ts - 266 - « Previous - - node_modules/src/pagination/pagination.ts - 338 - Précédent - - node_modules/src/progressbar/progressbar.ts - 64,67 - - + + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - - src/app/components/domain/domain.component.html - 16,23 - - Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. + Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. More information on undelegated test: - - src/app/components/form/form.component.html - 59 - form info - Plus d'information sur les tests non délégués : + Plus d'information sur les tests non délégués : Reset the form - - src/app/components/form/form.component.html - 289 - form button Réinitialiser le formulaire Delete nameserver # - - src/app/components/form/form.component.html - 112 - form button Supprimer le serveur de noms # What is Zonemaster? - - src/app/components/domain/domain.component.html - 11 - - Qu'est-ce que Zonemaster ? + Qu'est-ce que Zonemaster ? Nameserver # - - src/app/components/form/form.component.html - 70 - form section Serveur de noms # Run the test - - src/app/components/form/form.component.html - 44 - form button Lancer le test The name of nameserver is required - - src/app/components/form/form.component.html - 86 - form error Le nom du serveur de noms est requis Copyright © AFNIC and The Swedish Internet Foundation - - src/app/components/footer/footer.component.html - 26,28 - footer Copyright © AFNIC et The Swedish Internet Foundation Delete DS record # - - src/app/components/form/form.component.html - 233 - form button - Supprimer l'enregistrement DS # + Supprimer l'enregistrement DS # Check how your domain is doing - - src/app/components/domain/domain.component.html - 2 - - Vérifier l'état de votre domaine + Vérifier l'état de votre domaine The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - src/app/components/domain/domain.component.html - 35,45 - Le Système de Nom de Domaine (DNS) est une base de données qui associe des noms de domaine à des adresses IP (Internet Protocol), de la même manière qu’un annuaire associe des noms à des numéros de téléphone. Une adresse IP est un identifiant numérique unique qui identifie chaque ordinateur connecté à Internet, de la même manière que chaque téléphone a son propre numéro dans le réseau téléphonique. Ces identifiants numériques complexes conviennent parfaitement aux ordinateurs, mais sont beaucoup plus difficiles à mémoriser pour des humains. C’est pour cela que le DNS a été développé, pour établir une correspondance entre des noms que nous pouvons plus facilement retenir et les adresses IP utilisées par les ordinateurs lorsqu’on veut accéder à un site Web ou utiliser d’autres services sur Internet, comme le courriel. Test your domain - - src/app/components/domain/domain.component.html - 4 - Tester votre domaine Collapse all - - src/app/components/result/result.component.html - 161 - result filter messages Replier tout Filter severity levels - - src/app/components/result/result.component.html - 65 - resut filter section Filtrer les niveaux de sévérité Test another domain - - src/app/components/result/result.component.html - 4 - result subheader Tester un autre domaine Select the digest type - - src/app/components/form/form.component.html - 195 - form label Sélectionner le type de condensat Domain name - - src/app/components/form/form.component.html - 3 - form label Nom de domaine Select the algorithm - - src/app/components/form/form.component.html - 163 - form label - Sélectionner l'algorithme + Sélectionner l'algorithme DS record # - - src/app/components/form/form.component.html - 131 - form section Enregistrement DS # Does Zonemaster support IPv6? - - src/app/components/faq/faq.component.html - 175,177 - faq question Zonemaster est-il compatible avec IPv6 ? Can I test the DS records before they are published? - - src/app/components/faq/faq.component.html - 193,195 - faq question Peut-on tester des enregistrements DS avant leur publication ? Documentation - - src/app/components/footer/footer.component.html - 20 - footer Documentation What makes Zonemaster different from other DNS zone validating software? - - src/app/components/faq/faq.component.html - 59,61 - faq question - Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? + Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - - src/app/components/faq/faq.component.html - 205,207 - faq answer - Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». + Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». There are several possibilities. - - src/app/components/faq/faq.component.html - 137,139 - faq answer Il y a plusieurs possibilités. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - - src/app/components/faq/faq.component.html - 20 - faq answer - L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. + L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - - src/app/components/faq/faq.component.html - 187,189 - faq answer Oui. Si DNSSEC est disponible pour un nom de domaine testé par Zonemaster, ce sera automatiquement vérifié. Zonemaster and privacy - - src/app/components/faq/faq.component.html - 118,120 - faq response Zonemaster et vie privée CLI,a command-line interface to the Engine; - - src/app/components/faq/faq.component.html - 25 - faq answer - CLI, une interface en ligne de commande à l'Engine ; + CLI, une interface en ligne de commande à l'Engine ; Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - - src/app/components/faq/faq.component.html - 121,123 - faq answer - Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. + Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. How can Zonemaster distinguish between what is right and wrong? - - src/app/components/faq/faq.component.html - 82,84 - faq question Comment Zonemaster discerne-t-il le bon du mauvais ? The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - - src/app/components/faq/faq.component.html - 30 - faq answer - Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. + Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - - src/app/components/faq/faq.component.html - 85,87 - faq answer - Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - - src/app/components/faq/faq.component.html - 169,171 - faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. - Zonemaster can be used to test DS records before their publication in the parent zone. - - src/app/components/faq/faq.component.html - 72,74 - + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. + Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. Using Zonemaster - - src/app/components/faq/faq.component.html - 131 - faq section header Utilisation de Zonemaster GUI, a web interface to the Backend. - - src/app/components/faq/faq.component.html - 27 - faq answer GUI, une interface web au Backend. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - - src/app/components/faq/faq.component.html - 105,107 - faq answer - Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. + Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. Who is behind Zonemaster? - - src/app/components/faq/faq.component.html - 34,36 - faq question Qui est derrière Zonemaster ? Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - - src/app/components/faq/faq.component.html - 55 - faq answer Les utilisateurs et utilisatrices de la seconde catégorie devraient contacter leur opérateur DNS si le moindre test de leur nom de domaine rapporte une erreur ou un avertissement. Your domain name is not reachable from public Internet. - - src/app/components/faq/faq.component.html - 142 - faq answer - Votre domaine n'est pas joignable publiquement depuis Internet. + Votre domaine n'est pas joignable publiquement depuis Internet. Frequently asked questions - - src/app/components/faq/faq.component.html - 2 - faq header Questions fréquentes Your domain name is not yet delegated. - - src/app/components/faq/faq.component.html - 141 - faq answer - Votre domaine n'est pas encore délégué. + Votre domaine n'est pas encore délégué. You can also get further insight about each test from the Test Case Specification documents. - - src/app/components/faq/faq.component.html - 156,158 - faq answer Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - - src/app/components/faq/faq.component.html - 75,77 - faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - - src/app/components/faq/faq.component.html - 143 - faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - - src/app/components/faq/faq.component.html - 111,113 - faq answer - Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). + Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). Source code - - src/app/components/footer/footer.component.html - 15 - footer Code source How can I test a "reverse" zone with Zonemaster? - - src/app/components/faq/faq.component.html - 202,204 - faq answer Comment tester une zone inverse avec Zonemaster ? Find answers to common questions about Zonemaster here. - - src/app/components/faq/faq.component.html - 3,5 - faq header Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. Zonemaster consists of several modules or components: - - src/app/components/faq/faq.component.html - 22 - faq answer - Zonemaster est constitué de plusieurs modules ou composants : + Zonemaster est constitué de plusieurs modules ou composants : An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - - src/app/components/faq/faq.component.html - 166,168 - faq answer Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. How can Zonemaster help me? - - src/app/components/faq/faq.component.html - 44,46 - faq question - Qu'est-ce que Zonemaster peut faire pour moi ? + Qu'est-ce que Zonemaster peut faire pour moi ? General information - - src/app/components/faq/faq.component.html - 13 - faq section header Informations générales Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - - src/app/components/faq/faq.component.html - 150,152 - faq response - Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? + Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - - src/app/components/faq/faq.component.html - 26 - faq answer - Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; What is Zonemaster? - - src/app/components/faq/faq.component.html - 15,17 - faq question - Qu'est-ce que Zonemaster ? - - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - - src/app/components/faq/faq.component.html - 51 - + Qu'est-ce que Zonemaster ? + + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - - src/app/components/faq/faq.component.html - 89,91 - + Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. + Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - - src/app/components/domain/domain.component.html - 25,28 - Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - - src/app/components/faq/faq.component.html - 108,110 - faq answer - L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. + L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - - src/app/components/faq/faq.component.html - 96,98 - faq answer - Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. + Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. Does Zonemaster verify DNSSEC? - - src/app/components/faq/faq.component.html - 184,186 - faq question Zonemaster vérifie-t-il DNSSEC ? users who want to know whether the domain name they own or use have any issues or not. - - src/app/components/faq/faq.component.html - 52 - faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. - - src/app/components/faq/faq.component.html - 145 - faq answer Vous avez fait une faute de frappe dans le nom de domaine. Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. - - src/app/components/domain/domain.component.html - 12,14 - Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. What kind of DNS queries does Zonemaster generate? - - src/app/components/faq/faq.component.html - 102,104 - faq question Quel genre de requêtes Zonemaster génère-t-il ? However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - - src/app/components/faq/faq.component.html - 124,126 - faq answer - Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. + Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - - src/app/components/faq/faq.component.html - 63,65 - faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - - src/app/components/faq/faq.component.html - 6,9 - faq header - Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. + Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. Engine, a test framework that supports all functionality to perform DNS tests; - - src/app/components/faq/faq.component.html - 24 - faq answer Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - - src/app/components/faq/faq.component.html - 153,155 - faq answer - Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. Zonemaster is a software package that validates the quality of a DNS delegation. - - src/app/components/faq/faq.component.html - 19 - faq answer - Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. + Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - - src/app/components/faq/faq.component.html - 211 - faq answer - pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - - src/app/components/faq/faq.component.html - 210 - faq answer - pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - - src/app/components/faq/faq.component.html - 144 - faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. - - - Example: - - src/app/components/faq/faq.component.html - 208 - + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + + + Examples: faq answer - Exemple : + Exemple : Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - - src/app/components/faq/faq.component.html - 178,180 - faq answer - Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». + Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». - Zonemaster can be used to test undelegated domain names. - - src/app/components/faq/faq.component.html - 69,71 - + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster peut être utilisé pour tester des noms de domaines non délégués. + Zonemaster peut être utilisé pour tester des noms de domaines non délégués. Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - - src/app/components/faq/faq.component.html - 38,40 - faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? - - src/app/components/faq/faq.component.html - 134,136 - faq answer - Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? + Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? The Zonemaster tool could help different kind of users: - - src/app/components/faq/faq.component.html - 48 - faq answer - Zonemaster peut aider différents types d'utilisateurs et utilisatrices : - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - - src/app/components/faq/faq.component.html - 92,94 - - faq answer - Les descriptions de niveaux de messages comme notice, avertissement et erreur se trouvent dans le document de définition des niveaux de sévérité. + Zonemaster peut aider différents types d'utilisateurs et utilisatrices : All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - - src/app/components/faq/faq.component.html - 66,67 - faq answer - Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) + Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) What is an undelegated domain test? - - src/app/components/faq/faq.component.html - 163,165 - faq answer - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - - src/app/components/faq/faq.component.html - 196,198 - faq answer - Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. + Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. Close - - node_modules/src/alert/alert.ts - 79 - Fermer Next - - node_modules/src/carousel/carousel.ts - 200 - Suivant Previous - - node_modules/src/carousel/carousel.ts - 178,181 - Précédent Slide of - - node_modules/src/carousel/carousel.ts - 150,157 - Currently selected slide number read by screen reader Diapositive de Next month - - node_modules/src/datepicker/datepicker-navigation.ts - 69 - - - node_modules/src/datepicker/datepicker-navigation.ts - 69 - Next month Previous month - - node_modules/src/datepicker/datepicker-navigation.ts - 69 - - - node_modules/src/datepicker/datepicker-navigation.ts - 69 - Previous month Select month - - node_modules/src/datepicker/datepicker-navigation-select.ts - 74 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 74 - Select month Select year - - node_modules/src/datepicker/datepicker-navigation-select.ts - 74 - - - node_modules/src/datepicker/datepicker-navigation-select.ts - 74 - Select year - - node_modules/src/timepicker/timepicker.ts - 295 - Decrement hours - - node_modules/src/timepicker/timepicker.ts - 229,230 - Decrement hours Decrement minutes - - node_modules/src/timepicker/timepicker.ts - 272,274 - Decrement minutes Decrement seconds - - node_modules/src/timepicker/timepicker.ts - 295 - Decrement seconds HH - - node_modules/src/timepicker/timepicker.ts - 136 - HH Hours - - node_modules/src/timepicker/timepicker.ts - 155,158 - Hours Increment hours - - node_modules/src/timepicker/timepicker.ts - 206,208 - Increment hours Increment minutes - - node_modules/src/timepicker/timepicker.ts - 250,254 - Increment minutes Increment seconds - - node_modules/src/timepicker/timepicker.ts - 295 - Incrémenter les secondes Minutes - - node_modules/src/timepicker/timepicker.ts - 190 - Minutes MM - - node_modules/src/timepicker/timepicker.ts - 178 - MM - - node_modules/src/timepicker/timepicker.ts - 295 - Seconds - - node_modules/src/timepicker/timepicker.ts - 295 - Secondes SS - - node_modules/src/timepicker/timepicker.ts - 289 - SS Close - - node_modules/src/toast/toast.ts - 108 - Fermer https://www.afnic.fr/en/ - - src/app/components/faq/faq.component.html - 39 - Afnic link https://www.afnic.fr (optional) - - src/app/components/form/form.component.html - 91 - form info (facultatif) The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. - - src/app/components/result/result.component.html - 127,130 - result security level description Le message indique un élément dont la personne administrant la zone devrait prendre connaissance sans qu’il ne s’agisse nécessairement d’un problème de configuration. : - - src/app/components/result/result.component.html - 179 - result colon -  : + : The message is something that may be of interest to the zone's administrator but that definitely does not indicate a problem. - - src/app/components/result/result.component.html - 122,125 - result security level description Le message indique une information pouvant être utile pour la personne administrant la zone, mais qui n’est en aucun cas une anomalie. The message means something that will under some circumstances be a problem, but that is unlikely to be noticed by a casual user. - - src/app/components/result/result.component.html - 132,135 - result security level description Le message indique un élément pouvant causer un dysfonctionnement dans certaines circonstances, mais qu’une personne non avertie a peu de chances de repérer. Address - - src/app/components/form/form.component.html - 91 - form label Adresse What is the meaning of the severity levels? - - src/app/components/result/result.component.html - 118 - result info - Que signifie les niveaux de sévérité ? + Que signifie les niveaux de sévérité ? The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. - - src/app/components/result/result.component.html - 137,141 - result security level description Le message indique une anomalie pouvant provoquer de façon (quasi) certaine un dysfonctionnement de la zone testée, sans être suffisamment grave pour rendre l’intégralité de la zone inaccessible. Search text in messages - - src/app/components/result/result.component.html - 151 - result filter messages Rechercher dans les messages The message means a very serious error. - - src/app/components/result/result.component.html - 143,145 - result security level description Le message indique une erreur très grave. https://internetstiftelsen.se/en/ - - src/app/components/faq/faq.component.html - 39 - IIS link https://internetstiftelsen.se/en/ Fetch nameservers from parent zone - - src/app/components/form/form.component.html - 121 - form button Récupérer les serveurs de noms depuis la zone parente https://en.wikipedia.org/wiki/Request_for_Comments - - src/app/components/faq/faq.component.html - 86 - RFC Wikipedia link https://fr.wikipedia.org/wiki/Request_for_comments Expand all modules - - src/app/components/result/result.component.html - 160 - result filter messages Déplier tous les modules + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + - + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index a7838e07..664de5b4 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -612,9 +612,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer @@ -643,13 +643,13 @@ faq answer - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer @@ -667,14 +667,9 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer @@ -827,9 +822,9 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". faq answer - - Example: - Example: + + Examples: + Examples: faq answer @@ -927,6 +922,11 @@ Expand all modules result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index 5835b1dc..273d8042 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -612,9 +612,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS operators, experts and beginners alike, who want to check their DNS configuration; - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer @@ -643,13 +643,13 @@ faq answer - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer @@ -667,14 +667,9 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. - faq answer - - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer @@ -827,9 +822,9 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". faq answer - - Example: - Example: + + Examples: + Examples: faq answer @@ -927,6 +922,11 @@ Expand all modules result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 290b47f6..618cc6d8 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -47,7 +47,7 @@ FAQ src/app/components/faq/faq.component.ts - 20 + 21 src/app/components/navigation/navigation.component.html @@ -870,7 +870,7 @@ faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. src/app/components/faq/faq.component.html 72,74 @@ -1053,16 +1053,16 @@ faq question - - DNS operators, experts and beginners alike, who want to check their DNS configuration; + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; src/app/components/faq/faq.component.html 51 faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for that test case are found. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. src/app/components/faq/faq.component.html 89,91 @@ -1203,8 +1203,8 @@ faq answer - - Example: + + Examples: src/app/components/faq/faq.component.html 208 @@ -1220,7 +1220,7 @@ faq answer - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. src/app/components/faq/faq.component.html 69,71 @@ -1251,14 +1251,6 @@ faq answer - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - - src/app/components/faq/faq.component.html - 92,94 - - faq answer - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents @@ -1585,6 +1577,14 @@ result filter messages + + The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + src/app/components/faq/faq.component.html + 92,94 + + faq answer + \ No newline at end of file From e34d968d1a8e8b6b999e6f4503cfb507d5e5d725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 29 Aug 2023 18:33:57 +0200 Subject: [PATCH 39/83] update french translation --- src/locale/messages.fr.xlf | 957 ++++++++++++++++++++++++++++++++++--- 1 file changed, 902 insertions(+), 55 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 879c2e13..942c53c9 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -4,935 +4,1782 @@ Close + + src/app/components/alert/alert.component.html + 5 + + + src/app/components/alert/alert.component.html + 5 + + + src/app/components/result/result.component.html + 225 + + + src/app/components/result/result.component.html + 225 + Fermer What is an undelegated domain test? + + src/app/components/form/form.component.html + 60 + form info - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Parent data fetched with success. + + src/app/components/form/form.component.ts + 179 + Les données de la zone parente ont été récupérées avec succès. Error during parent data fetching. + + src/app/components/run-test/run-test.component.ts + 55 + Erreur lors de la récupération des données de la zone parente. FAQ + + src/app/components/faq/faq.component.ts + 21 + + + src/app/components/navigation/navigation.component.html + 18 + FAQ Program versions + + src/app/components/footer/footer.component.html + 6 + Versions des programmes Zonemaster Backend is not available. - Zonemaster Backend n'est pas disponible. + + src/app/components/footer/footer.component.ts + 42 + + Zonemaster Backend n'est pas disponible. Domain name required + + src/app/components/form/form.component.html + 14 + form error Le nom de domaine est obligatoire Run a test + + src/app/components/navigation/navigation.component.html + 15 + nav link Lancer un test Options + + src/app/components/form/form.component.html + 51 + form label Options Disable IPv4 + + src/app/components/form/form.component.html + 256 + form label Désactiver IPv4 Disable IPv6 + + src/app/components/form/form.component.html + 260 + form label Désactiver IPv6 Profile + + src/app/components/form/form.component.html + 272 + form label Profil Nameservers + + src/app/components/form/form.component.html + 66 + form section Serveurs de noms Keytag + + src/app/components/form/form.component.html + 133 + form label Identifiant Keytag required + + src/app/components/form/form.component.html + 149 + form error Identifiant obligatoire Algorithm + + src/app/components/form/form.component.html + 153 + form label Algorithme Algorithm required + + src/app/components/form/form.component.html + 181 + form error - L'algorithme est obligatoire + L'algorithme est obligatoire Digest type + + src/app/components/form/form.component.html + 185 + form label Type de condensat Digest type required + + src/app/components/form/form.component.html + 205 + form error Le type de condensat est obligatoire Digest + + src/app/components/form/form.component.html + 209 + form label Condensat Digest required + + src/app/components/form/form.component.html + 223 + form error Le condensat est obligatoire All + + src/app/components/history/history.component.html + 9 + history button Tous Delegated + + src/app/components/history/history.component.html + 15 + plural delegated history button Délégués Undelegated + + src/app/components/history/history.component.html + 30 + singular undelegated history info Non délégués Undelegated + + src/app/components/history/history.component.html + 21 + plural undelegated history button Non délégué Results from previous tests are not available. + + src/app/components/history/history.component.html + 47 + history info Les résultats des tests précédents ne sont pas disponibles. Click to return on the top page + + src/app/components/navigation/navigation.component.html + 39 + nav button Cliquer pour retourner en haut de la page Error 404 + + src/app/components/page-not-found/page-not-found.component.html + 2 + Erreur 404 Page Not Found + + src/app/components/page-not-found/page-not-found.component.html + 5 + Page introuvable Sorry, there is nothing here! - Désolé, il n'y a rien ici ! + + src/app/components/page-not-found/page-not-found.component.html + 6 + + Désolé, il n'y a rien ici ! Result + + src/app/components/result/result.component.html + 2 + result header Résultat History + + src/app/components/result/result.component.html + 19 + + + src/app/components/result/result.component.html + 224 + result button Historique Export + + src/app/components/result/result.component.html + 26 + result button Exporter Share + + src/app/components/result/result.component.html + 41 + form button Partager All + + src/app/components/result/result.component.html + 72 + all filter button Tout Info + + src/app/components/result/result.component.html + 79 + + + src/app/components/result/result.component.html + 121 + info filter button Info Notice + + src/app/components/result/result.component.html + 86 + + + src/app/components/result/result.component.html + 126 + notice filter button Note Warning + + src/app/components/result/result.component.html + 93 + + + src/app/components/result/result.component.html + 131 + warning filter button Avertissement Error + + src/app/components/result/result.component.html + 100 + + + src/app/components/result/result.component.html + 136 + error filter button Erreur Critical + + src/app/components/result/result.component.html + 107 + + + src/app/components/result/result.component.html + 142 + critical filter button Critique No data for this test. - Il n'y a pas de résultat pour ce test. + + src/app/components/result/result.component.ts + 169 + + Il n'y a pas de résultat pour ce test. History information request is in progress. - La demande d'historique est en cours. + + src/app/components/result/result.component.ts + 252 + + La demande d'historique est en cours. Module + + src/app/components/result/result.component.ts + 336 + Module Level + + src/app/components/result/result.component.ts + 337 + Sévérité Message + + src/app/components/result/result.component.ts + 338 + Message Please set the api endpoint - Merci de contacter l'administrateur, un point d'accès est nécessaire + + src/app/services/dns-check.service.ts + 19 + + Merci de contacter l'administrateur, un point d'accès est nécessaire A word about the DNS + + src/app/components/domain/domain.component.html + 34 + À propos du DNS Test completed! + + src/app/components/run-test/run-test.component.ts + 83 + Test terminé ! Change language + + src/app/components/navigation/navigation.component.html + 22 + + + src/app/components/navigation/navigation.component.html + 25 + nav label Changer de langue Name + + src/app/components/form/form.component.html + 72 + form label Lancer Cannot disable both IPv4 and IPv6 + + src/app/components/form/form.component.html + 264 + form error Impossible de désactiver IPv4 et IPv6 simultanément No data found for the zone. + + src/app/components/form/form.component.ts + 174 + Aucune donnée trouvée pour la zone. Fetch DS from parent zone + + src/app/components/form/form.component.html + 242 + form button Récupérer les DS depuis la zone parente Link to test + + src/app/components/result/result.component.html + 45 + result label Lien vers le test General + + src/app/components/form/form.component.html + 249 + form section Général DS records + + src/app/components/form/form.component.html + 128 + form section Enregistrements DS Clear domain input + + src/app/components/form/form.component.html + 26 + form button Effacer le champ du domaine Copy link to clipboard + + src/app/components/result/result.component.html + 46 + + + src/app/components/result/result.component.html + 48 + result button Copier le lien dans le presse-papiers Protocol + + src/app/components/form/form.component.html + 252 + form section Protocole No previous tests found for this domain. + + src/app/components/result/result.component.ts + 257 + Aucun test antérieur n’a été trouvé pour ce domaine. An unexpected server error happened. + + src/app/components/run-test/run-test.component.ts + 98 + Une erreur imprévue du serveur est survenue. «« + + node_modules/src/pagination/pagination.ts + 247,249 + «« First + + node_modules/src/pagination/pagination.ts + 322,323 + Aller au début »» + + node_modules/src/pagination/pagination.ts + 305,307 + »» Last + + node_modules/src/pagination/pagination.ts + 363,365 + Aller à la fin » + + node_modules/src/pagination/pagination.ts + 290 + » Next + + node_modules/src/pagination/pagination.ts + 350 + Suivant « + + node_modules/src/pagination/pagination.ts + 266 + « Previous + + node_modules/src/pagination/pagination.ts + 338 + Précédent + + node_modules/src/progressbar/progressbar.ts + 64,67 + - - + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. + + src/app/components/domain/domain.component.html + 16,23 + + Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. More information on undelegated test: + + src/app/components/form/form.component.html + 59 + form info - Plus d'information sur les tests non délégués : + Plus d'information sur les tests non délégués : Reset the form + + src/app/components/form/form.component.html + 289 + form button Réinitialiser le formulaire Delete nameserver # + + src/app/components/form/form.component.html + 112 + form button Supprimer le serveur de noms # What is Zonemaster? - Qu'est-ce que Zonemaster ? + + src/app/components/domain/domain.component.html + 11 + + Qu'est-ce que Zonemaster ? Nameserver # + + src/app/components/form/form.component.html + 70 + form section Serveur de noms # Run the test + + src/app/components/form/form.component.html + 44 + form button Lancer le test The name of nameserver is required + + src/app/components/form/form.component.html + 86 + form error Le nom du serveur de noms est requis Copyright © AFNIC and The Swedish Internet Foundation + + src/app/components/footer/footer.component.html + 26,28 + footer Copyright © AFNIC et The Swedish Internet Foundation Delete DS record # + + src/app/components/form/form.component.html + 233 + form button - Supprimer l'enregistrement DS # + Supprimer l'enregistrement DS # Check how your domain is doing - Vérifier l'état de votre domaine + + src/app/components/domain/domain.component.html + 2 + + Vérifier l'état de votre domaine The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. + + src/app/components/domain/domain.component.html + 35,45 + Le Système de Nom de Domaine (DNS) est une base de données qui associe des noms de domaine à des adresses IP (Internet Protocol), de la même manière qu’un annuaire associe des noms à des numéros de téléphone. Une adresse IP est un identifiant numérique unique qui identifie chaque ordinateur connecté à Internet, de la même manière que chaque téléphone a son propre numéro dans le réseau téléphonique. Ces identifiants numériques complexes conviennent parfaitement aux ordinateurs, mais sont beaucoup plus difficiles à mémoriser pour des humains. C’est pour cela que le DNS a été développé, pour établir une correspondance entre des noms que nous pouvons plus facilement retenir et les adresses IP utilisées par les ordinateurs lorsqu’on veut accéder à un site Web ou utiliser d’autres services sur Internet, comme le courriel. Test your domain + + src/app/components/domain/domain.component.html + 4 + Tester votre domaine Collapse all + + src/app/components/result/result.component.html + 161 + result filter messages Replier tout Filter severity levels + + src/app/components/result/result.component.html + 65 + resut filter section Filtrer les niveaux de sévérité Test another domain + + src/app/components/result/result.component.html + 4 + result subheader Tester un autre domaine Select the digest type + + src/app/components/form/form.component.html + 195 + form label Sélectionner le type de condensat Domain name + + src/app/components/form/form.component.html + 3 + form label Nom de domaine Select the algorithm + + src/app/components/form/form.component.html + 163 + form label - Sélectionner l'algorithme + Sélectionner l'algorithme DS record # + + src/app/components/form/form.component.html + 131 + form section Enregistrement DS # Does Zonemaster support IPv6? + + src/app/components/faq/faq.component.html + 175,177 + faq question Zonemaster est-il compatible avec IPv6 ? Can I test the DS records before they are published? + + src/app/components/faq/faq.component.html + 193,195 + faq question Peut-on tester des enregistrements DS avant leur publication ? Documentation + + src/app/components/footer/footer.component.html + 20 + footer Documentation What makes Zonemaster different from other DNS zone validating software? + + src/app/components/faq/faq.component.html + 59,61 + faq question - Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? + Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". + + src/app/components/faq/faq.component.html + 205,207 + faq answer - Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». + Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». There are several possibilities. + + src/app/components/faq/faq.component.html + 137,139 + faq answer Il y a plusieurs possibilités. The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + src/app/components/faq/faq.component.html + 20 + faq answer - L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. + L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. + + src/app/components/faq/faq.component.html + 187,189 + faq answer Oui. Si DNSSEC est disponible pour un nom de domaine testé par Zonemaster, ce sera automatiquement vérifié. Zonemaster and privacy + + src/app/components/faq/faq.component.html + 118,120 + faq response Zonemaster et vie privée CLI,a command-line interface to the Engine; + + src/app/components/faq/faq.component.html + 25 + faq answer - CLI, une interface en ligne de commande à l'Engine ; + CLI, une interface en ligne de commande à l'Engine ; Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + + src/app/components/faq/faq.component.html + 121,123 + faq answer - Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. + Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. How can Zonemaster distinguish between what is right and wrong? + + src/app/components/faq/faq.component.html + 82,84 + faq question Comment Zonemaster discerne-t-il le bon du mauvais ? The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + src/app/components/faq/faq.component.html + 30 + faq answer - Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. + Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + src/app/components/faq/faq.component.html + 85,87 + faq answer - Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + src/app/components/faq/faq.component.html + 169,171 + faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. Zonemaster can be used to test DS records before their publication in the parent zone. + + src/app/components/faq/faq.component.html + 72,74 + faq answer - Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. + Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. Using Zonemaster + + src/app/components/faq/faq.component.html + 131 + faq section header Utilisation de Zonemaster GUI, a web interface to the Backend. + + src/app/components/faq/faq.component.html + 27 + faq answer GUI, une interface web au Backend. Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + + src/app/components/faq/faq.component.html + 105,107 + faq answer - Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. + Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. Who is behind Zonemaster? + + src/app/components/faq/faq.component.html + 34,36 + faq question Qui est derrière Zonemaster ? Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. + + src/app/components/faq/faq.component.html + 55 + faq answer Les utilisateurs et utilisatrices de la seconde catégorie devraient contacter leur opérateur DNS si le moindre test de leur nom de domaine rapporte une erreur ou un avertissement. Your domain name is not reachable from public Internet. + + src/app/components/faq/faq.component.html + 142 + faq answer - Votre domaine n'est pas joignable publiquement depuis Internet. + Votre domaine n'est pas joignable publiquement depuis Internet. Frequently asked questions + + src/app/components/faq/faq.component.html + 2 + faq header Questions fréquentes Your domain name is not yet delegated. + + src/app/components/faq/faq.component.html + 141 + faq answer - Votre domaine n'est pas encore délégué. + Votre domaine n'est pas encore délégué. You can also get further insight about each test from the Test Case Specification documents. + + src/app/components/faq/faq.component.html + 156,158 + faq answer Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + src/app/components/faq/faq.component.html + 75,77 + faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + src/app/components/faq/faq.component.html + 143 + faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + src/app/components/faq/faq.component.html + 111,113 + faq answer - Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). + Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). Source code + + src/app/components/footer/footer.component.html + 15 + footer Code source How can I test a "reverse" zone with Zonemaster? + + src/app/components/faq/faq.component.html + 202,204 + faq answer Comment tester une zone inverse avec Zonemaster ? Find answers to common questions about Zonemaster here. + + src/app/components/faq/faq.component.html + 3,5 + faq header Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. Zonemaster consists of several modules or components: + + src/app/components/faq/faq.component.html + 22 + faq answer Zonemaster est constitué de plusieurs modules ou composants : An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + src/app/components/faq/faq.component.html + 166,168 + faq answer Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. How can Zonemaster help me? + + src/app/components/faq/faq.component.html + 44,46 + faq question - Qu'est-ce que Zonemaster peut faire pour moi ? + Qu'est-ce que Zonemaster peut faire pour moi ? General information + + src/app/components/faq/faq.component.html + 13 + faq section header Informations générales Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? + + src/app/components/faq/faq.component.html + 150,152 + faq response - Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? + Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + src/app/components/faq/faq.component.html + 26 + faq answer - Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; What is Zonemaster? + + src/app/components/faq/faq.component.html + 15,17 + faq question - Qu'est-ce que Zonemaster ? + Qu'est-ce que Zonemaster ? DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + src/app/components/faq/faq.component.html + 51 + faq answer - Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; + Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + src/app/components/faq/faq.component.html + 89,91 + faq answer - Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. + Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. + + src/app/components/domain/domain.component.html + 25,28 + Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + + src/app/components/faq/faq.component.html + 108,110 + faq answer - L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. + L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. + + src/app/components/faq/faq.component.html + 96,98 + faq answer - Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. + Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. Does Zonemaster verify DNSSEC? + + src/app/components/faq/faq.component.html + 184,186 + faq question Zonemaster vérifie-t-il DNSSEC ? users who want to know whether the domain name they own or use have any issues or not. + + src/app/components/faq/faq.component.html + 52 + faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. + + src/app/components/faq/faq.component.html + 145 + faq answer Vous avez fait une faute de frappe dans le nom de domaine. Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. + + src/app/components/domain/domain.component.html + 12,14 + Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. What kind of DNS queries does Zonemaster generate? + + src/app/components/faq/faq.component.html + 102,104 + faq question Quel genre de requêtes Zonemaster génère-t-il ? However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + src/app/components/faq/faq.component.html + 124,126 + faq answer - Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. + Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + src/app/components/faq/faq.component.html + 63,65 + faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. + + src/app/components/faq/faq.component.html + 6,9 + faq header - Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. + Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. Engine, a test framework that supports all functionality to perform DNS tests; + + src/app/components/faq/faq.component.html + 24 + faq answer Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + src/app/components/faq/faq.component.html + 153,155 + faq answer - Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. Zonemaster is a software package that validates the quality of a DNS delegation. + + src/app/components/faq/faq.component.html + 19 + faq answer - Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. + Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + src/app/components/faq/faq.component.html + 211 + faq answer pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + src/app/components/faq/faq.component.html + 210 + faq answer pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + src/app/components/faq/faq.component.html + 144 + faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. Examples: + + src/app/components/faq/faq.component.html + 208 + faq answer - Exemple : + Exemple : Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + src/app/components/faq/faq.component.html + 178,180 + faq answer - Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». + Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». Zonemaster can be used to test undelegated domain names. + + src/app/components/faq/faq.component.html + 69,71 + faq answer - Zonemaster peut être utilisé pour tester des noms de domaines non délégués. + Zonemaster peut être utilisé pour tester des noms de domaines non délégués. Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + src/app/components/faq/faq.component.html + 38,40 + faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? + + src/app/components/faq/faq.component.html + 134,136 + faq answer - Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? + Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? The Zonemaster tool could help different kind of users: + + src/app/components/faq/faq.component.html + 48 + faq answer - Zonemaster peut aider différents types d'utilisateurs et utilisatrices : + Zonemaster peut aider différents types d'utilisateurs et utilisatrices : All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + src/app/components/faq/faq.component.html + 66,67 + faq answer - Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) + Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) What is an undelegated domain test? + + src/app/components/faq/faq.component.html + 163,165 + faq answer - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + + src/app/components/faq/faq.component.html + 196,198 + faq answer Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. Close + + node_modules/src/alert/alert.ts + 79 + Fermer Next + + node_modules/src/carousel/carousel.ts + 200 + Suivant Previous + + node_modules/src/carousel/carousel.ts + 178,181 + Précédent Slide of + + node_modules/src/carousel/carousel.ts + 150,157 + Currently selected slide number read by screen reader Diapositive de Next month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + Next month Previous month + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + + + node_modules/src/datepicker/datepicker-navigation.ts + 69 + Previous month Select month + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + Select month Select year + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + + + node_modules/src/datepicker/datepicker-navigation-select.ts + 74 + Select year + + node_modules/src/timepicker/timepicker.ts + 295 + Decrement hours + + node_modules/src/timepicker/timepicker.ts + 229,230 + Decrement hours Decrement minutes + + node_modules/src/timepicker/timepicker.ts + 272,274 + Decrement minutes Decrement seconds + + node_modules/src/timepicker/timepicker.ts + 295 + Decrement seconds HH + + node_modules/src/timepicker/timepicker.ts + 136 + HH Hours + + node_modules/src/timepicker/timepicker.ts + 155,158 + Hours Increment hours + + node_modules/src/timepicker/timepicker.ts + 206,208 + Increment hours Increment minutes + + node_modules/src/timepicker/timepicker.ts + 250,254 + Increment minutes Increment seconds + + node_modules/src/timepicker/timepicker.ts + 295 + Incrémenter les secondes Minutes + + node_modules/src/timepicker/timepicker.ts + 190 + Minutes MM + + node_modules/src/timepicker/timepicker.ts + 178 + MM + + node_modules/src/timepicker/timepicker.ts + 295 + Seconds + + node_modules/src/timepicker/timepicker.ts + 295 + Secondes SS + + node_modules/src/timepicker/timepicker.ts + 289 + SS Close + + node_modules/src/toast/toast.ts + 108 + Fermer https://www.afnic.fr/en/ + + src/app/components/faq/faq.component.html + 39 + Afnic link https://www.afnic.fr (optional) + + src/app/components/form/form.component.html + 91 + form info (facultatif) The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. + + src/app/components/result/result.component.html + 127,130 + result security level description Le message indique un élément dont la personne administrant la zone devrait prendre connaissance sans qu’il ne s’agisse nécessairement d’un problème de configuration. : + + src/app/components/result/result.component.html + 179 + result colon : The message is something that may be of interest to the zone's administrator but that definitely does not indicate a problem. + + src/app/components/result/result.component.html + 122,125 + result security level description Le message indique une information pouvant être utile pour la personne administrant la zone, mais qui n’est en aucun cas une anomalie. The message means something that will under some circumstances be a problem, but that is unlikely to be noticed by a casual user. + + src/app/components/result/result.component.html + 132,135 + result security level description Le message indique un élément pouvant causer un dysfonctionnement dans certaines circonstances, mais qu’une personne non avertie a peu de chances de repérer. Address + + src/app/components/form/form.component.html + 91 + form label Adresse What is the meaning of the severity levels? + + src/app/components/result/result.component.html + 118 + result info Que signifie les niveaux de sévérité ? The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. + + src/app/components/result/result.component.html + 137,141 + result security level description Le message indique une anomalie pouvant provoquer de façon (quasi) certaine un dysfonctionnement de la zone testée, sans être suffisamment grave pour rendre l’intégralité de la zone inaccessible. Search text in messages + + src/app/components/result/result.component.html + 151 + result filter messages Rechercher dans les messages The message means a very serious error. + + src/app/components/result/result.component.html + 143,145 + result security level description Le message indique une erreur très grave. https://internetstiftelsen.se/en/ + + src/app/components/faq/faq.component.html + 39 + IIS link https://internetstiftelsen.se/en/ Fetch nameservers from parent zone + + src/app/components/form/form.component.html + 121 + form button Récupérer les serveurs de noms depuis la zone parente https://en.wikipedia.org/wiki/Request_for_Comments + + src/app/components/faq/faq.component.html + 86 + RFC Wikipedia link https://fr.wikipedia.org/wiki/Request_for_comments Expand all modules + + src/app/components/result/result.component.html + 160 + result filter messages Déplier tous les modules The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + src/app/components/faq/faq.component.html + 92,94 + faq answer + Les descriptions de niveaux de messages comme notice, avertissement et erreur se trouvent dans le document de définition des niveaux de sévérités (en anglais). - \ No newline at end of file + From 7f7bbfb44d7303cd7be6cc4021d6d0204726d42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 30 Aug 2023 09:39:46 +0200 Subject: [PATCH 40/83] fix translation --- src/locale/messages.fr.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 942c53c9..ad483d89 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -489,7 +489,7 @@ 72 form label - Lancer + Nom Cannot disable both IPv4 and IPv6 From b8b0b161e3534ac3aa9c8b78245852d4afef1eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 30 Aug 2023 10:05:12 +0200 Subject: [PATCH 41/83] fix info notice wrapping --- src/app/components/form/form.component.css | 6 ++++++ src/app/components/form/form.component.html | 2 +- src/app/components/result/result.component.css | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/app/components/form/form.component.css b/src/app/components/form/form.component.css index 5791a423..dc64acad 100644 --- a/src/app/components/form/form.component.css +++ b/src/app/components/form/form.component.css @@ -55,7 +55,13 @@ form.domain { margin: 1rem auto 0 auto; display: flex; align-items: center; +} +.domain .info-notice div { + display: flex; + flex-wrap: wrap; + justify-content: center; + white-space: pre-wrap; } .domain button.delete { diff --git a/src/app/components/form/form.component.html b/src/app/components/form/form.component.html index 5ae3edf3..2a60350c 100644 --- a/src/app/components/form/form.component.html +++ b/src/app/components/form/form.component.html @@ -56,7 +56,7 @@
      - More information on undelegated test: + More information on undelegated test: What is an undelegated domain test?
      diff --git a/src/app/components/result/result.component.css b/src/app/components/result/result.component.css index 1ab1ce0f..12d92041 100644 --- a/src/app/components/result/result.component.css +++ b/src/app/components/result/result.component.css @@ -344,7 +344,7 @@ article ul li .level.warning { } .result .result-control-buttons { - align-items: end; + align-items: flex-end; display: flex; gap: 0.4rem; margin-top: 0.4rem; From 4e4e0147ca9f6bcb50aaa623dbbe22903c926156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 30 Aug 2023 10:34:40 +0200 Subject: [PATCH 42/83] adjust buttons colors --- src/app/components/form/form.component.css | 28 +++++++++++++++++----- src/styles.scss | 15 +++++++----- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/app/components/form/form.component.css b/src/app/components/form/form.component.css index dc64acad..d9158984 100644 --- a/src/app/components/form/form.component.css +++ b/src/app/components/form/form.component.css @@ -189,24 +189,35 @@ hr { .domain button.switch-toggle { border: none; width: 2em; - background-color: var(--secondary-color-dark); + background-color: var(--secondary-color); display: inherit; height: 1em; border-radius: 2em; border: 1px solid var(--secondary-color-darker); font-size: 2em; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); - background-position: left center; - transition: background-position .25s ease-in-out, background-color .25s ease-in-out,; + transition: background-color .25s ease-in-out,; margin-right: 0.2em; cursor: pointer; + position: relative; } +.domain button.switch-toggle::after { + content: ''; + display: block; + width: .8em; + height: .8em; + background-color: #fff; + border: 1px solid var(--secondary-color-darker); + left: calc(.1em - 1px); + top: calc(.1em - 1px); + position: absolute; + transition: all .25s ease-in-out; + border-radius: .8em; +} .domain button.switch-toggle:focus-visible, .domain button.switch-toggle:hover { - background-color: var(--secondary-color-darker); + background-color: var(--secondary-color-dark); } .domain button.switch-toggle.enabled:focus-visible, @@ -224,6 +235,11 @@ hr { border-color: var(--primary-color-dark); } +.domain button.switch-toggle.enabled::after { + left: calc(100% - .9em); + border: 1px solid var(--primary-color-dark); +} + /* Domain input */ .domain .domain-input-container { position: relative; diff --git a/src/styles.scss b/src/styles.scss index 9c7fad82..5fa552c0 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -27,6 +27,7 @@ main { --primary-color-rgb: 114, 85, 217; --primary-color-dark: #593fb7; + --secondary-color-light: #f7f7f7; --secondary-color: #e8e8e8; --secondary-color-dark: #c6c6c6; --secondary-color-darker: #848484; @@ -69,21 +70,23 @@ button.btn:focus-visible { } .btn.btn-secondary { - --bs-btn-color: auto; + --bs-btn-color: inherited; --bs-btn-bg: var(--secondary-color); --bs-btn-border-color: var(--secondary-color-dark); - --bs-btn-hover-color: auto; - --bs-btn-hover-bg: var(--secondary-color-dark); + --bs-btn-hover-color: inherited; + --bs-btn-hover-bg: var(--secondary-color-light); + --bs-btn-hover-border-color: var(--secondary-color-dark); } .btn.btn-danger { - --bs-btn-color: auto; + --bs-btn-color: inherited; --bs-btn-bg: #ffc2c8; --bs-btn-border-color: #ff8d98; - --bs-btn-hover-color: auto; - --bs-btn-hover-bg: #ff8d98; + --bs-btn-hover-color: inherited; + --bs-btn-hover-bg: #ffe1e3; + --bs-btn-hover-border-color: #ff8d98; } footer .tooltip { From 9b288bd1dbbadb6f61ad16748082ac9e51594e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 30 Aug 2023 11:54:48 +0200 Subject: [PATCH 43/83] tag forgotten strings for translation --- .../components/result/result.component.html | 4 +- src/locale/messages.da.xlf | 313 ++--- src/locale/messages.es.xlf | 313 ++--- src/locale/messages.fi.xlf | 313 ++--- src/locale/messages.fr.xlf | 1206 ++--------------- src/locale/messages.nb.xlf | 313 ++--- src/locale/messages.sv.xlf | 313 ++--- src/locale/messages.xlf | 300 +--- 8 files changed, 755 insertions(+), 2320 deletions(-) diff --git a/src/app/components/result/result.component.html b/src/app/components/result/result.component.html index 9bf9b327..90f19382 100644 --- a/src/app/components/result/result.component.html +++ b/src/app/components/result/result.component.html @@ -8,9 +8,9 @@

      Test another domain

      -

      Test result for {{ form.domain }}

      +

      Test result for {{ form.domain }}

      diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 6a3de80b..3f79475d 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -451,54 +451,14 @@ What is Zonemaster? faq question
      - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: - faq answer - - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; - faq answer - - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; - faq answer - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - - - GUI, a web interface to the Backend. - GUI, a web interface to the Backend. - faq answer - - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Who is behind Zonemaster? Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -511,14 +471,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -531,29 +486,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -561,24 +501,14 @@ How can Zonemaster distinguish between what is right and wrong? faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -586,31 +516,11 @@ Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Zonemaster and privacy Zonemaster and privacy faq response - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - Using Zonemaster Using Zonemaster @@ -621,9 +531,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -636,14 +546,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -656,29 +566,14 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? faq response - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. - faq answer - What is an undelegated domain test? What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -726,14 +621,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -834,6 +729,66 @@ Created on result test metadata + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 174e8ade..d0f05381 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -451,54 +451,14 @@ What is Zonemaster? faq question - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: - faq answer - - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; - faq answer - - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; - faq answer - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - - - GUI, a web interface to the Backend. - GUI, a web interface to the Backend. - faq answer - - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Who is behind Zonemaster? Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -511,14 +471,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -531,29 +486,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -561,24 +501,14 @@ How can Zonemaster distinguish between what is right and wrong? faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -586,31 +516,11 @@ Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Zonemaster and privacy Zonemaster and privacy faq response - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - Using Zonemaster Using Zonemaster @@ -621,9 +531,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -636,14 +546,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -656,29 +566,14 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? faq response - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. - faq answer - What is an undelegated domain test? What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -726,14 +621,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -834,6 +729,66 @@ Created on result test metadata + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index 2cd1c539..acf84df8 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -451,54 +451,14 @@ What is Zonemaster? faq question - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: - faq answer - - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; - faq answer - - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; - faq answer - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - - - GUI, a web interface to the Backend. - GUI, a web interface to the Backend. - faq answer - - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Who is behind Zonemaster? Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -511,14 +471,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -531,29 +486,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -561,24 +501,14 @@ How can Zonemaster distinguish between what is right and wrong? faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -586,31 +516,11 @@ Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Zonemaster and privacy Zonemaster and privacy faq response - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - Using Zonemaster Using Zonemaster @@ -621,9 +531,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -636,14 +546,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -656,29 +566,14 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? faq response - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. - faq answer - What is an undelegated domain test? What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -726,14 +621,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -834,6 +729,66 @@ Created on result test metadata + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 312db986..67187f3c 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -4,1597 +4,805 @@ Close - - src/app/components/alert/alert.component.html - 5 - - - src/app/components/alert/alert.component.html - 5 - - - src/app/components/result/result.component.html - 225 - - - src/app/components/result/result.component.html - 225 - Fermer What is an undelegated domain test? - - src/app/components/form/form.component.html - 60 - form info - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Parent data fetched with success. - - src/app/components/form/form.component.ts - 179 - Les données de la zone parente ont été récupérées avec succès. Error during parent data fetching. - - src/app/components/run-test/run-test.component.ts - 55 - Erreur lors de la récupération des données de la zone parente. FAQ - - src/app/components/faq/faq.component.ts - 21 - - - src/app/components/navigation/navigation.component.html - 18 - FAQ Program versions - - src/app/components/footer/footer.component.html - 6 - Versions des programmes Zonemaster Backend is not available. - - src/app/components/footer/footer.component.ts - 42 - - Zonemaster Backend n'est pas disponible. + Zonemaster Backend n'est pas disponible. Domain name required - - src/app/components/form/form.component.html - 14 - form error Le nom de domaine est obligatoire Run a test - - src/app/components/navigation/navigation.component.html - 15 - nav link Lancer un test Options - - src/app/components/form/form.component.html - 51 - form label Options Disable IPv4 - - src/app/components/form/form.component.html - 256 - form label Désactiver IPv4 Disable IPv6 - - src/app/components/form/form.component.html - 260 - form label Désactiver IPv6 Profile - - src/app/components/form/form.component.html - 272 - form label Profil Nameservers - - src/app/components/form/form.component.html - 66 - form section Serveurs de noms Keytag - - src/app/components/form/form.component.html - 133 - form label Identifiant Keytag required - - src/app/components/form/form.component.html - 149 - form error Identifiant obligatoire Algorithm - - src/app/components/form/form.component.html - 153 - form label Algorithme Algorithm required - - src/app/components/form/form.component.html - 181 - form error - L'algorithme est obligatoire + L'algorithme est obligatoire Digest type - - src/app/components/form/form.component.html - 185 - form label Type de condensat Digest type required - - src/app/components/form/form.component.html - 205 - form error Le type de condensat est obligatoire Digest - - src/app/components/form/form.component.html - 209 - form label Condensat Digest required - - src/app/components/form/form.component.html - 223 - form error Le condensat est obligatoire All - - src/app/components/history/history.component.html - 9 - history button Tous Delegated - - src/app/components/history/history.component.html - 15 - plural delegated history button Délégués Undelegated - - src/app/components/history/history.component.html - 30 - singular undelegated history info Non délégués Undelegated - - src/app/components/history/history.component.html - 21 - plural undelegated history button Non délégué Results from previous tests are not available. - - src/app/components/history/history.component.html - 47 - history info Les résultats des tests précédents ne sont pas disponibles. Click to return on the top page - - src/app/components/navigation/navigation.component.html - 39 - nav button Cliquer pour retourner en haut de la page Error 404 - - src/app/components/page-not-found/page-not-found.component.html - 2 - Erreur 404 Page Not Found - - src/app/components/page-not-found/page-not-found.component.html - 5 - Page introuvable Sorry, there is nothing here! - - src/app/components/page-not-found/page-not-found.component.html - 6 - - Désolé, il n'y a rien ici ! + Désolé, il n'y a rien ici ! Result - - src/app/components/result/result.component.html - 2 - result header Résultat History - - src/app/components/result/result.component.html - 19 - - - src/app/components/result/result.component.html - 224 - result button Historique Export - - src/app/components/result/result.component.html - 26 - result button Exporter Share - - src/app/components/result/result.component.html - 41 - form button Partager All - - src/app/components/result/result.component.html - 72 - all filter button Tout Info - - src/app/components/result/result.component.html - 79 - - - src/app/components/result/result.component.html - 121 - info filter button Info Notice - - src/app/components/result/result.component.html - 86 - - - src/app/components/result/result.component.html - 126 - notice filter button Note Warning - - src/app/components/result/result.component.html - 93 - - - src/app/components/result/result.component.html - 131 - warning filter button Avertissement Error - - src/app/components/result/result.component.html - 100 - - - src/app/components/result/result.component.html - 136 - error filter button Erreur Critical - - src/app/components/result/result.component.html - 107 - - - src/app/components/result/result.component.html - 142 - critical filter button Critique No data for this test. - - src/app/components/result/result.component.ts - 169 - - Il n'y a pas de résultat pour ce test. + Il n'y a pas de résultat pour ce test. History information request is in progress. - - src/app/components/result/result.component.ts - 252 - - La demande d'historique est en cours. + La demande d'historique est en cours. Module - - src/app/components/result/result.component.ts - 336 - Module Level - - src/app/components/result/result.component.ts - 337 - Sévérité Message - - src/app/components/result/result.component.ts - 338 - Message Please set the api endpoint - - src/app/services/dns-check.service.ts - 19 - - Merci de contacter l'administrateur, un point d'accès est nécessaire + Merci de contacter l'administrateur, un point d'accès est nécessaire A word about the DNS - - src/app/components/domain/domain.component.html - 34 - À propos du DNS Test completed! - - src/app/components/run-test/run-test.component.ts - 83 - Test terminé ! Change language - - src/app/components/navigation/navigation.component.html - 22 - - - src/app/components/navigation/navigation.component.html - 25 - nav label Changer de langue Name - - src/app/components/form/form.component.html - 72 - form label Nom Cannot disable both IPv4 and IPv6 - - src/app/components/form/form.component.html - 264 - form error Impossible de désactiver IPv4 et IPv6 simultanément No data found for the zone. - - src/app/components/form/form.component.ts - 174 - Aucune donnée trouvée pour la zone. Fetch DS from parent zone - - src/app/components/form/form.component.html - 242 - form button Récupérer les DS depuis la zone parente Link to test - - src/app/components/result/result.component.html - 45 - result label Lien vers le test General - - src/app/components/form/form.component.html - 249 - form section Général DS records - - src/app/components/form/form.component.html - 128 - form section Enregistrements DS Clear domain input - - src/app/components/form/form.component.html - 26 - form button Effacer le champ du domaine Copy link to clipboard - - src/app/components/result/result.component.html - 46 - - - src/app/components/result/result.component.html - 48 - result button Copier le lien dans le presse-papiers Protocol - - src/app/components/form/form.component.html - 252 - form section Protocole No previous tests found for this domain. - - src/app/components/result/result.component.ts - 257 - Aucun test antérieur n’a été trouvé pour ce domaine. An unexpected server error happened. - - src/app/components/run-test/run-test.component.ts - 98 - Une erreur imprévue du serveur est survenue. «« - - node_modules/src/pagination/pagination.ts - 247,249 - «« First - - node_modules/src/pagination/pagination.ts - 322,323 - Aller au début »» - - node_modules/src/pagination/pagination.ts - 305,307 - »» Last - - node_modules/src/pagination/pagination.ts - 363,365 - Aller à la fin » - - node_modules/src/pagination/pagination.ts - 290 - » Next - - node_modules/src/pagination/pagination.ts - 350 - Suivant « - - node_modules/src/pagination/pagination.ts - 266 - « Previous - - node_modules/src/pagination/pagination.ts - 338 - Précédent - - node_modules/src/progressbar/progressbar.ts - 64,67 - - + + When a domain name is sent to Zonemaster for testing, Zonemaster investigates the state of the domain name from the top to the bottom of the DNS tree. This is usually done by examining DNS data from the root, '.', to the Top-Level Domain (TLD) for that domain name, like '.net', and then finally through the DNS servers that contain authoritative information about the specified domain name. - - src/app/components/domain/domain.component.html - 16,23 - - Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. + Lorsqu'un nom de domaine est envoyé à Zonemaster pour être testé, Zonemaster vérifie l'état du nom de domaine de haut vers bas de l'arborescence DNS. Cela est généralement fait en examinant les données DNS depuis la racine, « . » , au domaine de premier niveau (Top-Level Domain, TLD) pour ce nom de domaine, comme « .net », et enfin jusqu'aux serveurs de noms contenant des informations faisant autorité sur le nom de domaine spécifié. More information on undelegated test: - - src/app/components/form/form.component.html - 59 - form info - Plus d'information sur les tests non délégués : + Plus d'information sur les tests non délégués : Reset the form - - src/app/components/form/form.component.html - 289 - form button Réinitialiser le formulaire Delete nameserver # - - src/app/components/form/form.component.html - 112 - form button Supprimer le serveur de noms # What is Zonemaster? - - src/app/components/domain/domain.component.html - 11 - - Qu'est-ce que Zonemaster ? + Qu'est-ce que Zonemaster ? Nameserver # - - src/app/components/form/form.component.html - 70 - form section Serveur de noms # Run the test - - src/app/components/form/form.component.html - 44 - form button Lancer le test The name of nameserver is required - - src/app/components/form/form.component.html - 86 - form error Le nom du serveur de noms est requis Copyright © AFNIC and The Swedish Internet Foundation - - src/app/components/footer/footer.component.html - 26,28 - footer Copyright © AFNIC et The Swedish Internet Foundation Delete DS record # - - src/app/components/form/form.component.html - 233 - form button - Supprimer l'enregistrement DS # + Supprimer l'enregistrement DS # Check how your domain is doing - - src/app/components/domain/domain.component.html - 2 - - Vérifier l'état de votre domaine + Vérifier l'état de votre domaine The Domain Name System (DNS) is a database that associates domain names to Internet Protocol (IP) addresses, the same way a phone book associates names to phone numbers. An IP address is a unique series of numbers that identifies every computer that is connected to the Internet. It is similar to the way every telephone has its own number in the telephone network. Such long series of numbers work fine for computers, but for people it is way more difficult to memorize. Thus, the DNS has been developed as an extra layer to map between names that we can remember better and IP addresses used by computers whenever we want to reach a specific website or use other services on the Internet, like e-mail. - - src/app/components/domain/domain.component.html - 35,45 - Le Système de Nom de Domaine (DNS) est une base de données qui associe des noms de domaine à des adresses IP (Internet Protocol), de la même manière qu’un annuaire associe des noms à des numéros de téléphone. Une adresse IP est un identifiant numérique unique qui identifie chaque ordinateur connecté à Internet, de la même manière que chaque téléphone a son propre numéro dans le réseau téléphonique. Ces identifiants numériques complexes conviennent parfaitement aux ordinateurs, mais sont beaucoup plus difficiles à mémoriser pour des humains. C’est pour cela que le DNS a été développé, pour établir une correspondance entre des noms que nous pouvons plus facilement retenir et les adresses IP utilisées par les ordinateurs lorsqu’on veut accéder à un site Web ou utiliser d’autres services sur Internet, comme le courriel. Test your domain - - src/app/components/domain/domain.component.html - 4 - Tester votre domaine Collapse all - - src/app/components/result/result.component.html - 161 - result filter messages Replier tout Filter severity levels - - src/app/components/result/result.component.html - 65 - resut filter section Filtrer les niveaux de sévérité Test another domain - - src/app/components/result/result.component.html - 4 - result subheader Tester un autre domaine Select the digest type - - src/app/components/form/form.component.html - 195 - form label Sélectionner le type de condensat Domain name - - src/app/components/form/form.component.html - 3 - form label Nom de domaine Select the algorithm - - src/app/components/form/form.component.html - 163 - form label - Sélectionner l'algorithme + Sélectionner l'algorithme DS record # - - src/app/components/form/form.component.html - 131 - form section Enregistrement DS # Does Zonemaster support IPv6? - - src/app/components/faq/faq.component.html - 175,177 - faq question Zonemaster est-il compatible avec IPv6 ? Can I test the DS records before they are published? - - src/app/components/faq/faq.component.html - 193,195 - faq question Peut-on tester des enregistrements DS avant leur publication ? Documentation - - src/app/components/footer/footer.component.html - 20 - footer Documentation What makes Zonemaster different from other DNS zone validating software? - - src/app/components/faq/faq.component.html - 59,61 - faq question - Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? + Qu'est-ce qui distingue Zonemaster des autres outils de validation de zone DNS ? To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". - - src/app/components/faq/faq.component.html - 205,207 - - faq answer - Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». - - - There are several possibilities. - - src/app/components/faq/faq.component.html - 137,139 - faq answer - Il y a plusieurs possibilités. - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - - src/app/components/faq/faq.component.html - 20 - + Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». + + + There are several possibilities: faq answer - L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. + Il y a plusieurs possibilités. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. - - src/app/components/faq/faq.component.html - 187,189 - faq answer Oui. Si DNSSEC est disponible pour un nom de domaine testé par Zonemaster, ce sera automatiquement vérifié. Zonemaster and privacy - - src/app/components/faq/faq.component.html - 118,120 - faq response Zonemaster et vie privée - - CLI,a command-line interface to the Engine; - - src/app/components/faq/faq.component.html - 25 - - faq answer - CLI, une interface en ligne de commande à l'Engine ; - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - - src/app/components/faq/faq.component.html - 121,123 - - faq answer - Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. - How can Zonemaster distinguish between what is right and wrong? - - src/app/components/faq/faq.component.html - 82,84 - faq question Comment Zonemaster discerne-t-il le bon du mauvais ? - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - - src/app/components/faq/faq.component.html - 30 - - faq answer - Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - - src/app/components/faq/faq.component.html - 85,87 - - faq answer - Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - - src/app/components/faq/faq.component.html - 169,171 - + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. - - - Zonemaster can be used to test DS records before their publication in the parent zone. - - src/app/components/faq/faq.component.html - 72,74 - - faq answer - Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. Using Zonemaster - - src/app/components/faq/faq.component.html - 131 - faq section header Utilisation de Zonemaster - - GUI, a web interface to the Backend. - - src/app/components/faq/faq.component.html - 27 - - faq answer - GUI, une interface web au Backend. - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. - - src/app/components/faq/faq.component.html - 105,107 - faq answer - Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. + Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. Who is behind Zonemaster? - - src/app/components/faq/faq.component.html - 34,36 - faq question Qui est derrière Zonemaster ? Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. - - src/app/components/faq/faq.component.html - 55 - faq answer Les utilisateurs et utilisatrices de la seconde catégorie devraient contacter leur opérateur DNS si le moindre test de leur nom de domaine rapporte une erreur ou un avertissement. Your domain name is not reachable from public Internet. - - src/app/components/faq/faq.component.html - 142 - faq answer - Votre domaine n'est pas joignable publiquement depuis Internet. + Votre domaine n'est pas joignable publiquement depuis Internet. Frequently asked questions - - src/app/components/faq/faq.component.html - 2 - faq header Questions fréquentes Your domain name is not yet delegated. - - src/app/components/faq/faq.component.html - 141 - - faq answer - Votre domaine n'est pas encore délégué. - - - You can also get further insight about each test from the Test Case Specification documents. - - src/app/components/faq/faq.component.html - 156,158 - faq answer - Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - - src/app/components/faq/faq.component.html - 75,77 - - faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. - - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - - src/app/components/faq/faq.component.html - 143 - + Votre domaine n'est pas encore délégué. + + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - - src/app/components/faq/faq.component.html - 111,113 - + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». Source code - - src/app/components/footer/footer.component.html - 15 - footer Code source How can I test a "reverse" zone with Zonemaster? - - src/app/components/faq/faq.component.html - 202,204 - faq answer Comment tester une zone inverse avec Zonemaster ? Find answers to common questions about Zonemaster here. - - src/app/components/faq/faq.component.html - 3,5 - faq header Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. - - Zonemaster consists of several modules or components: - - src/app/components/faq/faq.component.html - 22 - - faq answer - Zonemaster est constitué de plusieurs modules ou composants : - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - - src/app/components/faq/faq.component.html - 166,168 - - faq answer - Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. - How can Zonemaster help me? - - src/app/components/faq/faq.component.html - 44,46 - faq question - Qu'est-ce que Zonemaster peut faire pour moi ? + Qu'est-ce que Zonemaster peut faire pour moi ? General information - - src/app/components/faq/faq.component.html - 13 - faq section header Informations générales Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? - - src/app/components/faq/faq.component.html - 150,152 - faq response - Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - - src/app/components/faq/faq.component.html - 26 - - faq answer - Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? What is Zonemaster? - - src/app/components/faq/faq.component.html - 15,17 - faq question - Qu'est-ce que Zonemaster ? - - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - - src/app/components/faq/faq.component.html - 51 - - faq answer - Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - - src/app/components/faq/faq.component.html - 89,91 - - faq answer - Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. + Qu'est-ce que Zonemaster ? Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. - - src/app/components/domain/domain.component.html - 25,28 - Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - - src/app/components/faq/faq.component.html - 108,110 - - faq answer - L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. - - src/app/components/faq/faq.component.html - 96,98 - faq answer - Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. + Parfois, les normes techniques ou les opinions de ce qui constitue une bonne pratique peuvent faire l'objet d'interprétations multiples ; l'équipe de Zonemaster est toujours ouverte aux commentaires. Si vous pensez que nous avons fait une erreur dans notre jugement, n'hésitez pas à nous envoyer un courriel à zonemaster-users@lists.iis.se (liste de diffusion modérée) avec un lien vers le résultat de votre test et en expliquant pourquoi vous pensez que Zonemaster affiche quelque chose que vous considérez comme incorrect. Does Zonemaster verify DNSSEC? - - src/app/components/faq/faq.component.html - 184,186 - faq question Zonemaster vérifie-t-il DNSSEC ? - - users who want to know whether the domain name they own or use have any issues or not. - - src/app/components/faq/faq.component.html - 52 - + + Users who just want to know whether the domain name they own or use have any issues or not. faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. - - src/app/components/faq/faq.component.html - 145 - faq answer Vous avez fait une faute de frappe dans le nom de domaine. Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. - - src/app/components/domain/domain.component.html - 12,14 - Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. - - What kind of DNS queries does Zonemaster generate? - - src/app/components/faq/faq.component.html - 102,104 - + + What kind of queries does Zonemaster generate? faq question - Quel genre de requêtes Zonemaster génère-t-il ? - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - - src/app/components/faq/faq.component.html - 124,126 - - faq answer - Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. - - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - - src/app/components/faq/faq.component.html - 63,65 - + Quel genre de requêtes Zonemaster génère-t-il ? + + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. - - src/app/components/faq/faq.component.html - 6,9 - faq header - Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. - - - Engine, a test framework that supports all functionality to perform DNS tests; - - src/app/components/faq/faq.component.html - 24 - - faq answer - Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - - src/app/components/faq/faq.component.html - 153,155 - - faq answer - Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. - - - Zonemaster is a software package that validates the quality of a DNS delegation. - - src/app/components/faq/faq.component.html - 19 - - faq answer - Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. - - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - - src/app/components/faq/faq.component.html - 211 - + Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. + + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer - pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. - - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - - src/app/components/faq/faq.component.html - 210 - + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; - - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - - src/app/components/faq/faq.component.html - 144 - + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. Examples: - - src/app/components/faq/faq.component.html - 208 - faq answer Exemple : Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. - - src/app/components/faq/faq.component.html - 178,180 - - faq answer - Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». - - - Zonemaster can be used to test undelegated domain names. - - src/app/components/faq/faq.component.html - 69,71 - faq answer - Zonemaster peut être utilisé pour tester des noms de domaines non délégués. - - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - - src/app/components/faq/faq.component.html - 38,40 - + Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». + + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? - - src/app/components/faq/faq.component.html - 134,136 - faq answer - Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? + Pourquoi mon nom de domaine n'a-t-il pas pu être testé ? The Zonemaster tool could help different kind of users: - - src/app/components/faq/faq.component.html - 48 - - faq answer - Zonemaster peut aider différents types d'utilisateurs et utilisatrices : - - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - - src/app/components/faq/faq.component.html - 66,67 - faq answer - Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) + Zonemaster peut aider différents types d'utilisateurs et utilisatrices : What is an undelegated domain test? - - src/app/components/faq/faq.component.html - 163,165 - faq answer - Qu'est-ce qu'un test sur un nom de domaine non délégué ? + Qu'est-ce qu'un test sur un nom de domaine non délégué ? Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. - - src/app/components/faq/faq.component.html - 196,198 - faq answer Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. https://www.afnic.fr/en/ - - src/app/components/faq/faq.component.html - 39 - Afnic link https://www.afnic.fr (optional) - - src/app/components/form/form.component.html - 91 - form info (facultatif) The message means something that should be known by the zone's administrator but that need not necessarily be a problem at all. - - src/app/components/result/result.component.html - 127,130 - result security level description Le message indique un élément dont la personne administrant la zone devrait prendre connaissance sans qu’il ne s’agisse nécessairement d’un problème de configuration. : - - src/app/components/result/result.component.html - 179 - result colon - : + : The message is something that may be of interest to the zone's administrator but that definitely does not indicate a problem. - - src/app/components/result/result.component.html - 122,125 - result security level description Le message indique une information pouvant être utile pour la personne administrant la zone, mais qui n’est en aucun cas une anomalie. The message means something that will under some circumstances be a problem, but that is unlikely to be noticed by a casual user. - - src/app/components/result/result.component.html - 132,135 - result security level description Le message indique un élément pouvant causer un dysfonctionnement dans certaines circonstances, mais qu’une personne non avertie a peu de chances de repérer. Address - - src/app/components/form/form.component.html - 91 - form label Adresse What is the meaning of the severity levels? - - src/app/components/result/result.component.html - 118 - result info Que signifie les niveaux de sévérité ? The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. - - src/app/components/result/result.component.html - 137,141 - result security level description Le message indique une anomalie pouvant provoquer de façon (quasi) certaine un dysfonctionnement de la zone testée, sans être suffisamment grave pour rendre l’intégralité de la zone inaccessible. Search text in messages - - src/app/components/result/result.component.html - 151 - result filter messages Rechercher dans les messages The message means a very serious error. - - src/app/components/result/result.component.html - 143,145 - result security level description Le message indique une erreur très grave. https://internetstiftelsen.se/en/ - - src/app/components/faq/faq.component.html - 39 - IIS link https://internetstiftelsen.se/en/ Fetch nameservers from parent zone - - src/app/components/form/form.component.html - 121 - form button Récupérer les serveurs de noms depuis la zone parente https://en.wikipedia.org/wiki/Request_for_Comments - - src/app/components/faq/faq.component.html - 86 - RFC Wikipedia link https://fr.wikipedia.org/wiki/Request_for_comments Expand all modules - - src/app/components/result/result.component.html - 160 - result filter messages Déplier tous les modules The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. - - src/app/components/faq/faq.component.html - 92,94 - faq answer Les descriptions de niveaux de messages comme notice, avertissement et erreur se trouvent dans le document de définition des niveaux de sévérités (en anglais). Test result for - - src/app/components/result/result.component.html - 11 - result subheader Résultat du test pour Created on - - src/app/components/result/result.component.html - 13 - result test metadata Créé le + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + - + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index f516f1c9..3981faca 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -451,54 +451,14 @@ What is Zonemaster? faq question - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: - faq answer - - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; - faq answer - - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; - faq answer - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - - - GUI, a web interface to the Backend. - GUI, a web interface to the Backend. - faq answer - - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Who is behind Zonemaster? Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -511,14 +471,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -531,29 +486,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -561,24 +501,14 @@ How can Zonemaster distinguish between what is right and wrong? faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -586,31 +516,11 @@ Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Zonemaster and privacy Zonemaster and privacy faq response - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - Using Zonemaster Using Zonemaster @@ -621,9 +531,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -636,14 +546,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -656,29 +566,14 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? faq response - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. - faq answer - What is an undelegated domain test? What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -726,14 +621,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -834,6 +729,66 @@ Created on result test metadata + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index ac1ab95b..78e6d986 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -451,54 +451,14 @@ What is Zonemaster? faq question - - Zonemaster is a software package that validates the quality of a DNS delegation. - Zonemaster is a software package that validates the quality of a DNS delegation. - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - - - Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: - faq answer - - - Engine, a test framework that supports all functionality to perform DNS tests; - Engine, a test framework that supports all functionality to perform DNS tests; - faq answer - - - CLI,a command-line interface to the Engine; - CLI,a command-line interface to the Engine; - faq answer - - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - - - GUI, a web interface to the Backend. - GUI, a web interface to the Backend. - faq answer - - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Who is behind Zonemaster? Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -511,14 +471,9 @@ The Zonemaster tool could help different kind of users: faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -531,29 +486,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - - - Zonemaster can be used to test undelegated domain names. - Zonemaster can be used to test undelegated domain names. - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - Zonemaster can be used to test DS records before their publication in the parent zone. - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -561,24 +501,14 @@ How can Zonemaster distinguish between what is right and wrong? faq question - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -586,31 +516,11 @@ Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Zonemaster and privacy Zonemaster and privacy faq response - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - Using Zonemaster Using Zonemaster @@ -621,9 +531,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -636,14 +546,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -656,29 +566,14 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? faq response - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - You can also get further insight about each test from the Test Case Specification documents. - faq answer - What is an undelegated domain test? What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -726,14 +621,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -834,6 +729,66 @@ Created on result test metadata + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index c4be9e3a..d085f1e6 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -753,7 +753,7 @@ Does Zonemaster support IPv6? src/app/components/faq/faq.component.html - 175,177 + 158,160 faq question @@ -761,7 +761,7 @@ Can I test the DS records before they are published? src/app/components/faq/faq.component.html - 193,195 + 176,178 faq question @@ -777,7 +777,7 @@ What makes Zonemaster different from other DNS zone validating software? src/app/components/faq/faq.component.html - 59,61 + 58,60 faq question @@ -785,23 +785,15 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". src/app/components/faq/faq.component.html - 205,207 + 188,190 faq answer - - There are several possibilities. + + There are several possibilities: src/app/components/faq/faq.component.html - 137,139 - - faq answer - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - - src/app/components/faq/faq.component.html - 20 + 126,128 faq answer @@ -809,7 +801,7 @@ Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. src/app/components/faq/faq.component.html - 187,189 + 170,172 faq answer @@ -817,63 +809,23 @@ Zonemaster and privacy src/app/components/faq/faq.component.html - 118,120 + 110,112 faq response - - CLI,a command-line interface to the Engine; - - src/app/components/faq/faq.component.html - 25 - - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - - src/app/components/faq/faq.component.html - 121,123 - - faq answer - How can Zonemaster distinguish between what is right and wrong? src/app/components/faq/faq.component.html - 82,84 + 80,82 faq question - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. src/app/components/faq/faq.component.html - 30 - - faq answer - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - - src/app/components/faq/faq.component.html - 85,87 - - faq answer - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - - src/app/components/faq/faq.component.html - 169,171 - - faq answer - - - Zonemaster can be used to test DS records before their publication in the parent zone. - - src/app/components/faq/faq.component.html - 72,74 + 152,154 faq answer @@ -881,23 +833,15 @@ Using Zonemaster src/app/components/faq/faq.component.html - 131 + 120 faq section header - - GUI, a web interface to the Backend. - - src/app/components/faq/faq.component.html - 27 - - faq answer - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. src/app/components/faq/faq.component.html - 105,107 + 100,102 faq answer @@ -905,7 +849,7 @@ Who is behind Zonemaster? src/app/components/faq/faq.component.html - 34,36 + 33,35 faq question @@ -913,7 +857,7 @@ Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. src/app/components/faq/faq.component.html - 55 + 54 faq answer @@ -921,7 +865,7 @@ Your domain name is not reachable from public Internet. src/app/components/faq/faq.component.html - 142 + 131 faq answer @@ -937,39 +881,23 @@ Your domain name is not yet delegated. src/app/components/faq/faq.component.html - 141 - - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - - src/app/components/faq/faq.component.html - 156,158 - - faq answer - - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - - src/app/components/faq/faq.component.html - 75,77 + 130 faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. src/app/components/faq/faq.component.html - 143 + 74,76 faq answer - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') src/app/components/faq/faq.component.html - 111,113 + 132 faq answer @@ -985,7 +913,7 @@ How can I test a "reverse" zone with Zonemaster? src/app/components/faq/faq.component.html - 202,204 + 185,187 faq answer @@ -997,27 +925,11 @@ faq header - - Zonemaster consists of several modules or components: - - src/app/components/faq/faq.component.html - 22 - - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - - src/app/components/faq/faq.component.html - 166,168 - - faq answer - How can Zonemaster help me? src/app/components/faq/faq.component.html - 44,46 + 43,45 faq question @@ -1033,18 +945,10 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? src/app/components/faq/faq.component.html - 150,152 + 139,141 faq response - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - - src/app/components/faq/faq.component.html - 26 - - faq answer - What is Zonemaster? @@ -1053,22 +957,6 @@ faq question - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - - src/app/components/faq/faq.component.html - 51 - - faq answer - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - - src/app/components/faq/faq.component.html - 89,91 - - faq answer - Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. @@ -1076,19 +964,11 @@ 25,28 - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - - src/app/components/faq/faq.component.html - 108,110 - - faq answer - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. src/app/components/faq/faq.component.html - 96,98 + 91,93 faq answer @@ -1096,15 +976,15 @@ Does Zonemaster verify DNSSEC? src/app/components/faq/faq.component.html - 184,186 + 167,169 faq question - - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. src/app/components/faq/faq.component.html - 52 + 51 faq answer @@ -1112,7 +992,7 @@ You have misspelled your domain name. src/app/components/faq/faq.component.html - 145 + 134 faq answer @@ -1123,27 +1003,19 @@ 12,14 - - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? src/app/components/faq/faq.component.html - 102,104 + 97,99 faq question - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. src/app/components/faq/faq.component.html - 124,126 - - faq answer - - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - - src/app/components/faq/faq.component.html - 63,65 + 62,64 faq answer @@ -1155,51 +1027,27 @@ faq header - - Engine, a test framework that supports all functionality to perform DNS tests; - - src/app/components/faq/faq.component.html - 24 - - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - - src/app/components/faq/faq.component.html - 153,155 - - faq answer - - - Zonemaster is a software package that validates the quality of a DNS delegation. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa src/app/components/faq/faq.component.html - 19 + 194 faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa src/app/components/faq/faq.component.html - 211 + 193 faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). src/app/components/faq/faq.component.html - 210 - - faq answer - - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - - src/app/components/faq/faq.component.html - 144 + 133 faq answer @@ -1207,7 +1055,7 @@ Examples: src/app/components/faq/faq.component.html - 208 + 191 faq answer @@ -1215,23 +1063,15 @@ Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. src/app/components/faq/faq.component.html - 178,180 + 161,163 faq answer - - Zonemaster can be used to test undelegated domain names. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). src/app/components/faq/faq.component.html - 69,71 - - faq answer - - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - - src/app/components/faq/faq.component.html - 38,40 + 37,39 faq answer @@ -1239,7 +1079,7 @@ How come my domain name cannot be tested? src/app/components/faq/faq.component.html - 134,136 + 123,125 faq answer @@ -1247,15 +1087,7 @@ The Zonemaster tool could help different kind of users: src/app/components/faq/faq.component.html - 48 - - faq answer - - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - - src/app/components/faq/faq.component.html - 66,67 + 47 faq answer @@ -1263,7 +1095,7 @@ What is an undelegated domain test? src/app/components/faq/faq.component.html - 163,165 + 149,151 faq answer @@ -1271,7 +1103,7 @@ Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. src/app/components/faq/faq.component.html - 196,198 + 179,181 faq answer @@ -1279,7 +1111,7 @@ https://www.afnic.fr/en/ src/app/components/faq/faq.component.html - 39 + 38 Afnic link @@ -1367,7 +1199,7 @@ https://internetstiftelsen.se/en/ src/app/components/faq/faq.component.html - 39 + 38 IIS link @@ -1383,7 +1215,7 @@ https://en.wikipedia.org/wiki/Request_for_Comments src/app/components/faq/faq.component.html - 86 + 84 RFC Wikipedia link @@ -1399,7 +1231,7 @@ The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. src/app/components/faq/faq.component.html - 92,94 + 87,89 faq answer @@ -1419,6 +1251,126 @@ result test metadata + + Users who are knowledgable about the DNS protocol. + + src/app/components/faq/faq.component.html + 50 + + faq answer + + + It consists of several components: + + src/app/components/faq/faq.component.html + 21 + + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + src/app/components/faq/faq.component.html + 142,144 + + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + src/app/components/faq/faq.component.html + 113,115 + + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + src/app/components/faq/faq.component.html + 29 + + faq answer + + + CLI - a command-line interface to the Engine. + + src/app/components/faq/faq.component.html + 24 + + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + src/app/components/faq/faq.component.html + 68,70 + + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + src/app/components/faq/faq.component.html + 103,105 + + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + src/app/components/faq/faq.component.html + 65,67 + + faq answer + + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + src/app/components/faq/faq.component.html + 19 + + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + + src/app/components/faq/faq.component.html + 23 + + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + src/app/components/faq/faq.component.html + 83,85 + + faq answer + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + src/app/components/faq/faq.component.html + 71,73 + + faq answer + + + GUI - a web interface to the Backend. + + src/app/components/faq/faq.component.html + 26 + + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + src/app/components/faq/faq.component.html + 25 + + faq answer + \ No newline at end of file From 8e1697daf688a0e57c41f936394d9eb745859408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 7 Nov 2023 09:41:24 +0100 Subject: [PATCH 48/83] fix faq heading style --- src/app/components/faq-question/faq-question.component.css | 2 +- src/styles.scss | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/components/faq-question/faq-question.component.css b/src/app/components/faq-question/faq-question.component.css index d75b3604..565bd45f 100644 --- a/src/app/components/faq-question/faq-question.component.css +++ b/src/app/components/faq-question/faq-question.component.css @@ -3,7 +3,7 @@ } .faq-question h3 { - display: inline-block; + display: inline; font-size: 1.2rem; } diff --git a/src/styles.scss b/src/styles.scss index 5fa552c0..efd2a289 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -193,7 +193,6 @@ a.nav-link { a { color: var(--link-color); text-decoration: underline; - text-decoration-thickness: 0.1em; } .link:hover, From 9f8e6d401d98f64ac593f869ad51f7051509c670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 7 Nov 2023 09:44:34 +0100 Subject: [PATCH 49/83] fix faq links --- src/app/components/faq/faq.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index db72114c..f3db2bee 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -66,10 +66,10 @@

      General information

      Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document.

      - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12.

      - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13.

      Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. From 8f9611164b93e7cc60e3be961d4f03955ec37260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 9 Nov 2023 11:48:17 +0100 Subject: [PATCH 50/83] fix typo in french translation --- src/locale/messages.fr.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 67187f3c..2f2cf8e8 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -691,7 +691,7 @@ What is the meaning of the severity levels? result info - Que signifie les niveaux de sévérité ? + Que signifient les niveaux de sévérité ? The message means a problem that is very likely (or possibly certain) to negatively affect the function of the zone being tested, but not so severe that the entire zone becomes unresolvable. From d28faac7d471771f22177b4b4e507ce132539cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 23 Nov 2023 18:05:15 +0100 Subject: [PATCH 51/83] improve form input * add title for row inputs * remove useless aria-labelledby * add aria-invalid * link error to input for profile --- src/app/components/form/form.component.html | 98 +++++++++++++++------ src/app/components/form/form.component.ts | 10 +-- 2 files changed, 74 insertions(+), 34 deletions(-) diff --git a/src/app/components/form/form.component.html b/src/app/components/form/form.component.html index 2a60350c..b1bbd3dd 100644 --- a/src/app/components/form/form.component.html +++ b/src/app/components/form/form.component.html @@ -6,11 +6,13 @@ + aria-required="true" + >

      Domain name required
      @@ -69,15 +71,17 @@
      Nameserver #{{ i + 1}}
      - +
      {{ ns.controls.ns.errors.serverError }} @@ -87,17 +91,19 @@
      -
  • - +
    - +
    From 498d48b0a5c17d19d2b96b4b2bc10cb7f9b12e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 7 Dec 2023 20:10:33 +0100 Subject: [PATCH 61/83] update locale files --- src/locale/messages.da.xlf | 53 +++++++++---- src/locale/messages.es.xlf | 53 +++++++++---- src/locale/messages.fi.xlf | 53 +++++++++---- src/locale/messages.fr.xlf | 53 +++++++++---- src/locale/messages.nb.xlf | 53 +++++++++---- src/locale/messages.sv.xlf | 53 +++++++++---- src/locale/messages.xlf | 156 +++++++++++++++++++++++-------------- 7 files changed, 319 insertions(+), 155 deletions(-) diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 3f79475d..2d9ac9d4 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -93,11 +93,6 @@ No data for this test. Ingen data til denne test. - - Options - Valgmuligheder - form label - Page Not Found Siden blev ikke fundet @@ -360,7 +355,7 @@ Domain name form label - Domain name + Domænenavn More information on undelegated test: @@ -384,14 +379,6 @@ DS record # form section - - Select the algorithm - form label - - - Select the digest type - form label - Delete DS record # form button @@ -766,12 +753,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -789,6 +778,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index d0f05381..277e900f 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -93,11 +93,6 @@ No data for this test. No hay datos para esta prueba. - - Options - Opciones - form label - Page Not Found Página No Encontrada @@ -360,7 +355,7 @@ Domain name form label - Domain name + Nombre de dominio More information on undelegated test: @@ -384,14 +379,6 @@ DS record # form section - - Select the algorithm - form label - - - Select the digest type - form label - Delete DS record # form button @@ -766,12 +753,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -789,6 +778,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index acf84df8..4cdd7314 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -93,11 +93,6 @@ No data for this test. Ei dataa tätä testiä varten. - - Options - Valinnat - form label - Page Not Found Sivua ei löytynyt @@ -360,7 +355,7 @@ Domain name form label - Domain name + Verkkotunnus More information on undelegated test: @@ -384,14 +379,6 @@ DS record # form section - - Select the algorithm - form label - - - Select the digest type - form label - Delete DS record # form button @@ -766,12 +753,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -789,6 +778,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 2f2cf8e8..0ef2c6ad 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -41,11 +41,6 @@ nav link Lancer un test - - Options - form label - Options - Disable IPv4 form label @@ -410,21 +405,11 @@ result subheader Tester un autre domaine - - Select the digest type - form label - Sélectionner le type de condensat - Domain name form label Nom de domaine - - Select the algorithm - form label - Sélectionner l'algorithme - DS record # form section @@ -780,12 +765,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -803,6 +790,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index 3981faca..055b3a3b 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -93,11 +93,6 @@ No data for this test. Ingen data for denne sjekk. - - Options - Alternativer - form label - Page Not Found Siden ikke funnet @@ -360,7 +355,7 @@ Domain name form label - Domain name + Domenenavn More information on undelegated test: @@ -384,14 +379,6 @@ DS record # form section - - Select the algorithm - form label - - - Select the digest type - form label - Delete DS record # form button @@ -766,12 +753,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -789,6 +778,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index 78e6d986..2d5b90a1 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -93,11 +93,6 @@ No data for this test. Data saknas för detta test. - - Options - Alternativ - form label - Page Not Found Sidan hittades inte @@ -360,7 +355,7 @@ Domain name form label - Domain name + Domännamn More information on undelegated test: @@ -384,14 +379,6 @@ DS record # form section - - Select the algorithm - form label - - - Select the digest type - form label - Delete DS record # form button @@ -766,12 +753,14 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. @@ -789,6 +778,38 @@ It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index d085f1e6..16f275e4 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -25,7 +25,7 @@ What is an undelegated domain test? src/app/components/form/form.component.html - 60 + 67 form info @@ -72,7 +72,7 @@ Domain name required src/app/components/form/form.component.html - 14 + 15 form error @@ -84,19 +84,11 @@ nav link - - Options - - src/app/components/form/form.component.html - 51 - - form label - Disable IPv4 src/app/components/form/form.component.html - 256 + 285 form label @@ -104,7 +96,7 @@ Disable IPv6 src/app/components/form/form.component.html - 260 + 297 form label @@ -112,7 +104,7 @@ Profile src/app/components/form/form.component.html - 272 + 309 form label @@ -120,7 +112,7 @@ Nameservers src/app/components/form/form.component.html - 66 + 73 form section @@ -128,7 +120,7 @@ Keytag src/app/components/form/form.component.html - 133 + 146 form label @@ -136,7 +128,7 @@ Keytag required src/app/components/form/form.component.html - 149 + 164 form error @@ -144,7 +136,7 @@ Algorithm src/app/components/form/form.component.html - 153 + 168 form label @@ -152,7 +144,7 @@ Algorithm required src/app/components/form/form.component.html - 181 + 198 form error @@ -160,7 +152,7 @@ Digest type src/app/components/form/form.component.html - 185 + 202 form label @@ -168,7 +160,7 @@ Digest type required src/app/components/form/form.component.html - 205 + 223 form error @@ -176,7 +168,7 @@ Digest src/app/components/form/form.component.html - 209 + 227 form label @@ -184,7 +176,7 @@ Digest required src/app/components/form/form.component.html - 223 + 243 form error @@ -436,7 +428,7 @@ Name src/app/components/form/form.component.html - 72 + 79 form label @@ -444,7 +436,7 @@ Cannot disable both IPv4 and IPv6 src/app/components/form/form.component.html - 264 + 301 form error @@ -459,7 +451,7 @@ Fetch DS from parent zone src/app/components/form/form.component.html - 242 + 263 form button @@ -475,7 +467,7 @@ General src/app/components/form/form.component.html - 249 + 270 form section @@ -483,7 +475,7 @@ DS records src/app/components/form/form.component.html - 128 + 141 form section @@ -491,7 +483,7 @@ Clear domain input src/app/components/form/form.component.html - 26 + 27 form button @@ -511,7 +503,7 @@ Protocol src/app/components/form/form.component.html - 252 + 273 form section @@ -605,7 +597,7 @@ More information on undelegated test: src/app/components/form/form.component.html - 59 + 66 form info @@ -613,7 +605,7 @@ Reset the form src/app/components/form/form.component.html - 289 + 334 form button @@ -621,7 +613,7 @@ Delete nameserver # src/app/components/form/form.component.html - 112 + 124 form button @@ -636,7 +628,7 @@ Nameserver # src/app/components/form/form.component.html - 70 + 77 form section @@ -644,7 +636,7 @@ Run the test src/app/components/form/form.component.html - 44 + 342 form button @@ -652,7 +644,7 @@ The name of nameserver is required src/app/components/form/form.component.html - 86 + 95 form error @@ -668,7 +660,7 @@ Delete DS record # src/app/components/form/form.component.html - 233 + 253 form button @@ -717,14 +709,6 @@ result subheader - - Select the digest type - - src/app/components/form/form.component.html - 195 - - form label - Domain name @@ -733,19 +717,11 @@ form label - - Select the algorithm - - src/app/components/form/form.component.html - 163 - - form label - DS record # src/app/components/form/form.component.html - 131 + 144 form section @@ -1119,7 +1095,7 @@ (optional) src/app/components/form/form.component.html - 91 + 100 form info @@ -1159,7 +1135,7 @@ Address src/app/components/form/form.component.html - 91 + 100 form label @@ -1207,7 +1183,7 @@ Fetch nameservers from parent zone src/app/components/form/form.component.html - 121 + 134 form button @@ -1300,7 +1276,7 @@ faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. src/app/components/faq/faq.component.html 68,70 @@ -1348,7 +1324,7 @@ faq answer - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. src/app/components/faq/faq.component.html 71,73 @@ -1371,6 +1347,70 @@ faq answer + + Name of nameserver # + + src/app/components/form/form.component.html + 87 + + form label + + + Key tag of DS record # + + src/app/components/form/form.component.html + 156 + + form label + + + Address of nameserver # + + src/app/components/form/form.component.html + 109 + + form label + + + Algorithm of DS record # + + src/app/components/form/form.component.html + 177 + + form label + + + Show options + + src/app/components/form/form.component.html + 56 + + form options + + + Digest type of DS record # + + src/app/components/form/form.component.html + 210 + + form label + + + Digest of DS record # + + src/app/components/form/form.component.html + 235 + + form label + + + Hide options + + src/app/components/form/form.component.html + 57 + + form options + \ No newline at end of file From 1001c316cfaceac525e52012ce90dbe19ad17aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 7 Dec 2023 20:11:10 +0100 Subject: [PATCH 62/83] update e2e tests --- e2e/FR03.e2e-spec.ts | 6 +++--- e2e/FR05.e2e-spec.ts | 7 ++----- e2e/FR08.e2e-spec.ts | 2 +- e2e/FR09.e2e-spec.ts | 4 ++-- e2e/FR10.e2e-spec.ts | 10 +++++----- e2e/FR15.e2e-spec.ts | 2 +- e2e/FR16.e2e-spec.ts | 6 +++--- e2e/FR17.e2e-spec.ts | 8 ++++---- e2e/FR18.e2e-spec.ts | 2 +- e2e/FR19.e2e-spec.ts | 4 ++-- e2e/FR20.e2e-spec.ts | 10 +++++----- e2e/FR21.e2e-spec.ts | 12 ++++++------ e2e/FR22.e2e-spec.ts | 6 +++--- e2e/FR26.e2e-spec.ts | 4 ++-- e2e/navigation.e2e-spec.ts | 24 ++++++++++++------------ 15 files changed, 52 insertions(+), 55 deletions(-) diff --git a/e2e/FR03.e2e-spec.ts b/e2e/FR03.e2e-spec.ts index 692ff97b..c60cb525 100644 --- a/e2e/FR03.e2e-spec.ts +++ b/e2e/FR03.e2e-spec.ts @@ -11,17 +11,17 @@ test.describe('Zonemaster test FR03 - [All appropriate fields should be writable test('should be able to write in the main input', async ({ page }) => { const testString = 'afnic.fr'; - const domainInput = page.locator('#input_domain_form'); + const domainInput = page.locator('#input-domain-form'); await domainInput.type(testString); await expect(domainInput).toHaveValue(testString); await showOptions(page); - const nsInput = page.locator('input[formControlName="ns"]'); + const nsInput = page.locator('input[formControlName="ns"]').first(); await nsInput.type(testString); await expect(nsInput).toHaveValue(testString); - const keytagInput = page.locator('input[formControlName="keytag"]'); + const keytagInput = page.locator('input[formControlName="keytag"]').first(); await keytagInput.type(testString); await expect(keytagInput).toHaveValue(testString); }); diff --git a/e2e/FR05.e2e-spec.ts b/e2e/FR05.e2e-spec.ts index a4fa3f99..2d795c46 100644 --- a/e2e/FR05.e2e-spec.ts +++ b/e2e/FR05.e2e-spec.ts @@ -21,15 +21,12 @@ test.describe('Zonemaster test FR05 - [Supports internationalization]', () => { test(`should have ${language} language option`, async ({ page }) => { const langNavLink = page.locator(`select#languageSelection > option[lang="${code}"]`); await expect(langNavLink).toHaveCount(1); + await expect(langNavLink).toHaveAttribute('lang', code); }) test(`should switch to ${language}`, async ({ page }) => { await setLang(page, code); - await expect(page.locator('input#input_domain_form')).toHaveAttribute('placeholder', expected); - - const langNavLink = page.locator(`select#languageSelection > option[lang="${code}"]`); - await expect(langNavLink).toHaveCount(1); - await expect(langNavLink).toHaveAttribute('lang', code); + await expect(page.locator('label[for="input-domain-form"]')).toHaveText(expected); }) } }); diff --git a/e2e/FR08.e2e-spec.ts b/e2e/FR08.e2e-spec.ts index efd826c0..7c7d0f8a 100644 --- a/e2e/FR08.e2e-spec.ts +++ b/e2e/FR08.e2e-spec.ts @@ -9,6 +9,6 @@ test.describe('Zonemaster test FR08 - [Presence of a default fallback language - }); test('should have a fallback language - English', async ({ page }) => { - await expect(page.locator('input#input_domain_form')).toHaveAttribute('placeholder', 'Domain name'); + await expect(page.locator('label[for="input-domain-form"]')).toHaveText('Domain name'); }); }); diff --git a/e2e/FR09.e2e-spec.ts b/e2e/FR09.e2e-spec.ts index 02a345eb..bfb9b881 100644 --- a/e2e/FR09.e2e-spec.ts +++ b/e2e/FR09.e2e-spec.ts @@ -9,9 +9,9 @@ test.describe('Zonemaster test FR09 - [Once a language is chosen, all other link }); test('should keep french when opening faq page', async ({ page }) => { - await expect(page.locator('input#input_domain_form')).toHaveAttribute('placeholder', 'Nom de domaine'); + await expect(page.locator('label[for="input-domain-form"]')).toHaveText('Nom de domaine'); await page.locator('a.nav-link[routerlink="/faq"]').click(); - await expect(page.locator('section.main > div > h1')).toHaveText('FAQ'); + await expect(page.locator('main h1')).toHaveText('Questions fréquentes'); await expect(page.locator('a.nav-link[routerlink="/run-test"]')).toHaveText("Lancer un test"); }); }); diff --git a/e2e/FR10.e2e-spec.ts b/e2e/FR10.e2e-spec.ts index e1ae035d..ac04f379 100644 --- a/e2e/FR10.e2e-spec.ts +++ b/e2e/FR10.e2e-spec.ts @@ -1,6 +1,6 @@ const { test, expect } = require('@playwright/test'); -import { goToHome, clearBrowserCache } from './utils/app.utils'; +import { goToHome, clearBrowserCache, showOptions } from './utils/app.utils'; test.describe('Zonemaster test FR10 - [On launching the URL opens with a default simple view]', () => { test.beforeEach(async ({ page }) => { @@ -9,21 +9,21 @@ test.describe('Zonemaster test FR10 - [On launching the URL opens with a default }); test('should have [Run domain test] label visible', async ({ page }) => { - await expect(page.locator('h1', { hasText: 'Run domain test'})).toBeVisible(); + await expect(page.locator('h1', { hasText: 'Check how your domain is doing'})).toBeVisible(); }); test('should have [Options] label visible and NOT selected', async ({ page }) => { - await expect(page.locator('label', { hasText: 'Options' })).toBeVisible(); + await expect(page.locator('#advanced-toggle', { hasText: 'Show options' })).toBeVisible(); await expect(page.locator('#advanced-toggle')).toHaveAttribute('aria-expanded', 'false'); }); test('should have [Nameservers label] NOT visible', async ({ page }) => { - await expect(page.locator('h4', { hasText: 'Nameservers'})).toBeHidden(); + await expect(page.locator('legend', { hasText: 'Nameservers'})).toBeHidden(); }); test('should have [DS records label] NOT visible', async ({ page }) => { - await expect(page.locator('h4', { hasText: 'Delegation Signers (DS records)'})).toBeHidden(); + await expect(page.locator('legend', { hasText: 'DS records'})).toBeHidden(); }); }); diff --git a/e2e/FR15.e2e-spec.ts b/e2e/FR15.e2e-spec.ts index b7dfb2c3..11124410 100644 --- a/e2e/FR15.e2e-spec.ts +++ b/e2e/FR15.e2e-spec.ts @@ -10,7 +10,7 @@ test.describe('Zonemaster test FR15 - [The advanced view should look the same in test('should match the domain page with options on', async ({ page}) => { await showOptions(page); - // Force wait 0.4s, for the switch animation to finish + // Force wait 0.4s, for the button icon animation to finish await page.waitForTimeout(400); expect(await page.screenshot()).toMatchSnapshot('domain_with_options.png'); }); diff --git a/e2e/FR16.e2e-spec.ts b/e2e/FR16.e2e-spec.ts index 1f0e6948..01b504f2 100644 --- a/e2e/FR16.e2e-spec.ts +++ b/e2e/FR16.e2e-spec.ts @@ -10,10 +10,10 @@ test.describe('Zonemaster test FR16 - [The advanced view should have a text desc }); test('should have a link to the proper faq answer', async ({ page }) => { - const alert = page.locator('.alert.alert-info'); + const alert = page.locator('#advanced-options aside .alert'); await expect(alert).toBeVisible(); await expect(alert.locator('a')).toHaveAttribute('routerlink', '/faq'); - await expect(alert.locator('a')).toHaveAttribute('fragment', 'q12'); + await expect(alert.locator('a')).toHaveAttribute('fragment', 'what-is-an-undelegated-domain-test'); }); test('should have a description text in multi languages', async ({ page }) => { @@ -26,7 +26,7 @@ test.describe('Zonemaster test FR16 - [The advanced view should have a text desc for (const {lang, text} of testSuite) { await setLang(page, lang); await showOptions(page); - await expect(page.locator('.alert.alert-info a')).toContainText(text); + await expect(page.locator('#advanced-options aside .alert a')).toContainText(text); } }); }); diff --git a/e2e/FR17.e2e-spec.ts b/e2e/FR17.e2e-spec.ts index c4d2c060..58cdfb23 100644 --- a/e2e/FR17.e2e-spec.ts +++ b/e2e/FR17.e2e-spec.ts @@ -14,25 +14,25 @@ test.describe.serial('Zonemaster test FR17 - [Able to specify delegation paramet }); test('should have one ns and digest form', async () => { - await expect(page.locator('div[formArrayName] .row')).toHaveCount(2); + await expect(page.locator('div[formArrayName] fieldset')).toHaveCount(2); await expect(page.locator('input[formControlName="keytag"]')).toHaveCount(1); await expect(page.locator('input[formControlName="ns"]')).toHaveCount(1); }); test('should be possible to add new ns form', async () => { - await page.locator('div[formArrayName="nameservers"] .row:first-child .btn.add').click(); + await page.locator('input[formControlName="ns"]').first().type('test'); await expect(page.locator('input[formControlName="ns"]')).toHaveCount(2); await expect(page.locator('input[formControlName="keytag"]')).toHaveCount(1); }); test('should be possible to add new digest form', async () => { - await page.locator('div[formArrayName="ds_info"] .row:first-child .btn.add').click(); + await page.locator('input[formControlName="keytag"]').first().type('1234'); await expect(page.locator('input[formControlName="ns"]')).toHaveCount(2); await expect(page.locator('input[formControlName="keytag"]')).toHaveCount(2); }); test('should be possible to delete ns forms', async () => { - await page.locator('div[formArrayName="nameservers"] .row:first-child .btn.delete').click(); + await page.locator('div[formArrayName="nameservers"] fieldset:first-child button.delete').click(); await expect(page.locator('input[formControlName="ns"]')).toHaveCount(1); await expect(page.locator('input[formControlName="keytag"]')).toHaveCount(2); }); diff --git a/e2e/FR18.e2e-spec.ts b/e2e/FR18.e2e-spec.ts index bba6fd88..6d182696 100644 --- a/e2e/FR18.e2e-spec.ts +++ b/e2e/FR18.e2e-spec.ts @@ -10,7 +10,7 @@ test.describe('Zonemaster test FR18 - [The GUI should be able to run tests by ju test('should display progress bar', async ({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('progress.afNiC.Fr'); + await page.locator('#input-domain-form').type('progress.afNiC.Fr'); await page.locator('div button.launch').click(); await expect(page.locator('.progress-bar')).toBeVisible({ timeout: 10000}); }); diff --git a/e2e/FR19.e2e-spec.ts b/e2e/FR19.e2e-spec.ts index 21a523ff..840bbd51 100644 --- a/e2e/FR19.e2e-spec.ts +++ b/e2e/FR19.e2e-spec.ts @@ -11,7 +11,7 @@ test.describe('Zonemaster test FR19 - [The GUI should be able to run the test wi test('should NOT display progress bar when we add a NS ip', async ({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('progress.afNiC.Fr'); + await page.locator('#input-domain-form').type('progress.afNiC.Fr'); await page.locator('input[formControlName="ip"]').type('192.134.4.1'); await page.locator('div button.launch').click(); @@ -28,7 +28,7 @@ test.describe('Zonemaster test FR19 - [The GUI should be able to run the test wi test('should display progress bar when we add a NS name', async ({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('progress.afNiC.Fr'); + await page.locator('#input-domain-form').type('progress.afNiC.Fr'); await page.locator('input[formControlName="ns"]').type('ns1.nic.fr'); await page.locator('div button.launch').click(); await expect(page.locator('.progress-bar')).toBeVisible({ timeout: 10000 }); diff --git a/e2e/FR20.e2e-spec.ts b/e2e/FR20.e2e-spec.ts index e91f0d86..19148441 100644 --- a/e2e/FR20.e2e-spec.ts +++ b/e2e/FR20.e2e-spec.ts @@ -12,13 +12,13 @@ test.describe('Zonemaster test FR20 - [The user must be able to submit one or mo test('should display progress bar when we add a DS entry and launch a test', async ({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('progress.afNiC.Fr'); + await page.locator('#input-domain-form').type('progress.afNiC.Fr'); - await page.locator('input[formControlName="keytag"]').type('37610'); - await page.locator('input[formControlName="digest"]').type('d2681e301f632bd76544e6d5b6631a12d97b5479ff07cd24efecd19203c77db3'); + await page.locator('input[formControlName="keytag"]').first().type('37610'); + await page.locator('input[formControlName="digest"]').first().type('d2681e301f632bd76544e6d5b6631a12d97b5479ff07cd24efecd19203c77db3'); - await page.locator('select[formControlName="algorithm"]').selectOption({ label: '8 - RSASHA256'}); - await page.locator('select[formControlName="digtype"]').selectOption({ label: '2 - SHA-256'}); + await page.locator('select[formControlName="algorithm"]').first().selectOption({ label: '8 - RSASHA256'}); + await page.locator('select[formControlName="digtype"]').first().selectOption({ label: '2 - SHA-256'}); await page.locator('div button.launch').click(); await expect(page.locator('.progress-bar')).toBeVisible({ timeout: 10000 }); diff --git a/e2e/FR21.e2e-spec.ts b/e2e/FR21.e2e-spec.ts index 7155e8a9..ca0794d9 100644 --- a/e2e/FR21.e2e-spec.ts +++ b/e2e/FR21.e2e-spec.ts @@ -18,15 +18,15 @@ test.describe.serial('Zonemaster test FR21 - [Able to provide a summarized resul test('should display summary', async () => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('results.afNiC.Fr'); + await page.locator('#input-domain-form').type('results.afNiC.Fr'); await page.locator('div button.launch').click(); - await expect(page.locator('div.result.container')).toBeVisible({ timeout: 10000 }); + await expect(page.locator('section.result')).toBeVisible({ timeout: 10000 }); - const messageCountBadges = page.locator('.nav.nav-pills.vertical-align.filter > li > a'); + const messageCountBadges = page.locator('fieldset.severity-levels label'); const expectedLabels = ['All', 'Info', 'Notice', 'Warning', 'Error', 'Critical']; - await expect(messageCountBadges).toHaveCount(6); + await expect(messageCountBadges).toHaveCount(expectedLabels.length); for (const idx in expectedLabels) { await expect(messageCountBadges.nth(idx)).toContainText(expectedLabels[idx]); @@ -35,7 +35,7 @@ test.describe.serial('Zonemaster test FR21 - [Able to provide a summarized resul test('should display number of each level', async () => { const expectedCounts = ['52', '49', '3', '0', '0', '0']; - const messageCountBadges = page.locator('.nav.nav-pills.vertical-align.filter > li > a > span.badge'); + const messageCountBadges = page.locator('fieldset.severity-levels label span.badge'); for (const idx in expectedCounts) { await expect(messageCountBadges.nth(idx)).toHaveText(expectedCounts[idx]); @@ -43,7 +43,7 @@ test.describe.serial('Zonemaster test FR21 - [Able to provide a summarized resul }); test('should display summary with good colors', async () => { - const filterButtons = page.locator('.nav.nav-pills.vertical-align.filter > li > a'); + const filterButtons = page.locator('fieldset.severity-levels input[type="checkbox"]'); for (const idx of [1, 2, 3, 4, 5]) { await filterButtons.nth(idx).click(); diff --git a/e2e/FR22.e2e-spec.ts b/e2e/FR22.e2e-spec.ts index e0bb011f..80a44bcc 100644 --- a/e2e/FR22.e2e-spec.ts +++ b/e2e/FR22.e2e-spec.ts @@ -13,12 +13,12 @@ test.describe('Zonemaster test FR22 - [Provide the possibility to see more infor test('should display full messages', async({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('results.afNiC.Fr'); - await page.locator('div button.launch').click(); + await page.locator('#input-domain-form').type('results.afNiC.Fr'); + await page.locator('button.launch').click(); // Basic header is the second one const basicHeader = page.locator('.result h3').nth(1); - const basicTestcases = page.locator('#module-BASIC article'); + const basicTestcases = page.locator('#module-BASIC section'); // Basic02 header is the second one in the Basic results const basic02Header = page.locator('#module-BASIC h4').nth(1); diff --git a/e2e/FR26.e2e-spec.ts b/e2e/FR26.e2e-spec.ts index aafa819a..7484ef23 100644 --- a/e2e/FR26.e2e-spec.ts +++ b/e2e/FR26.e2e-spec.ts @@ -10,8 +10,8 @@ test.describe('Zonemaster test FR26 - [Should be able to show a progress bar wit test('should display progress bar', async ({ page }) => { await expect(page.locator('.progress-bar')).toBeHidden(); - await page.locator('#input_domain_form').type('progress.afNiC.Fr'); - await page.locator('div button.launch').click(); + await page.locator('#input-domain-form').type('progress.afNiC.Fr'); + await page.locator('button.launch').click(); await expect(page.locator('.progress-bar')).toBeVisible({ timeout: 10000}); await expect(page.locator('.progress-value')).toHaveText('50%'); }); diff --git a/e2e/navigation.e2e-spec.ts b/e2e/navigation.e2e-spec.ts index 9086db90..c2cbd443 100644 --- a/e2e/navigation.e2e-spec.ts +++ b/e2e/navigation.e2e-spec.ts @@ -17,43 +17,43 @@ test.describe('Navigation should be consistent and honor browser behaviour', () // Create a new test await expect(page).toHaveURL(domainCheckUrl); - await page.locator('#input_domain_form').type(firstDomain); - await page.locator('div button.launch').click(); + await page.locator('#input-domain-form').type(firstDomain); + await page.locator('button.launch').click(); // Verify that when the test finishes the browser is redirect to the result page with an url /result/. // The "run domain test" form is visible. - await expect(page.locator('.result-header > h2')).toHaveText(firstDomain, { timeout: 10000 }); - await expect(page.locator('div.result.container')).toBeVisible(); + await expect(page.locator('section.result h2')).toContainText(firstDomain, { timeout: 10000 }); + await expect(page.locator('section.result')).toBeVisible(); await expect(page.locator('form.domain')).toBeVisible(); await expect(page).toHaveURL(firstTestUrl); // Press the back button in the browser. await page.goBack() // Verify that only the "run domain test" form is displayed. The url should be /run-test. await expect(page).toHaveURL(domainCheckUrl); - await expect(page.locator('div.result.container')).not.toBeVisible(); + await expect(page.locator('section.result')).not.toBeVisible(); await expect(page.locator('form.domain')).toBeVisible(); // Press the forward button in the browser. await page.goForward(); // Verify that the previous test result is displayed with the url /result/. // The "run domain test" form should still be visible. - await expect(page.locator('.result-header > h2')).toHaveText(firstDomain, { timeout: 10000 }); - await expect(page.locator('div.result.container')).toBeVisible(); + await expect(page.locator('section.result h2')).toContainText(firstDomain, { timeout: 10000 }); + await expect(page.locator('section.result')).toBeVisible(); await expect(page.locator('form.domain')).toBeVisible(); await expect(page).toHaveURL(firstTestUrl); // Create a second test for an other domain from the result page. - await page.locator('#input_domain_form').type(secondDomain); + await page.locator('#input-domain-form').type(secondDomain); await page.locator('div button.launch').click(); // When the second test finishes the url should change to /result/. // The result for the second test should be displayed and the "run domain test" form should still be visible. - await expect(page.locator('.result-header > h2')).toHaveText(secondDomain, { timeout: 10000 }); - await expect(page.locator('div.result.container')).toBeVisible(); + await expect(page.locator('section.result h2')).toContainText(secondDomain, { timeout: 10000 }); + await expect(page.locator('section.result')).toBeVisible(); await expect(page.locator('form.domain')).toBeVisible(); await expect(page).toHaveURL(secondTestUrl); // Refresh the page. await page.reload(); // The "run domain test" form is not visible, instead a Result header is displayed. await expect(page.locator('h1')).toHaveText('Result'); - await expect(page.locator('div.result.container')).toBeVisible({ timeout: 10000 }); - await expect(page.locator('.result-header > h2')).toHaveText(secondDomain); + await expect(page.locator('section.result')).toBeVisible({ timeout: 10000 }); + await expect(page.locator('section.result h2')).toContainText(secondDomain); await expect(page.locator('form.domain')).not.toBeVisible(); }); }); From d06d0dce49322f871648b34b9d4e493a0ba6556b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Fri, 8 Dec 2023 09:58:35 +0100 Subject: [PATCH 63/83] update test screenshots --- .../domain-chromium-linux.png | Bin 203851 -> 170607 bytes .../domain-with-options-chromium-linux.png | Bin 105671 -> 104380 bytes .../results-chromium-linux.png | Bin 100330 -> 98836 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/e2e/FR11.e2e-spec.ts-snapshots/domain-chromium-linux.png b/e2e/FR11.e2e-spec.ts-snapshots/domain-chromium-linux.png index 3c6d2d2bb83bb7ace836a9cd7cef4672b4d9836b..e8c7a5557ecf67d90109886e9ac147986416644d 100644 GIT binary patch literal 170607 zcmeFZXIPV47cClfBijOQH%)0#s(^q}rK?EqT{7 zSx@@izQQIWd$zE-`N7@47!7zX@)$FIyRUMNiN+w=vq-L}S*xje%i`s6cziu~sd_?mG0&&X5%eg9eWFUXny zzKcw`2BF^Vzh6T4AQ%7hJp^L<0&?YlysP-*)UE&V?%}!9cK_qu$G`vh{6F5=@%~@G z;G?uL8c3vM?Ay1)m6l)5qkJp}3=A~YwG#$#H&|HAf*iI@O*h@E>+Ad0#QyUTzi&E{ z|Jt29>TMBME0C+EH`a8^xVYMw7#IqRig?Dx#ySTEG&VLkyK<)V)@|2|>O|2ZEG%h1 zMcDpxm-2HL>tE=U{1iD2sd(OLKiHYnArbynT_;OIQ$s_;g)>twz{W3xsEl+WXSASd z6u$`m_v(_|kh75&#oYFd2}iZ1U)$R3NgcM8XQS?UdTw|>eX1WA_~G&6$A)j~KYcRj z&1#ek=oMtTsegbL{O`pdUIvS&9;F<;?>4qWBO9`xeBX0A5f0DvUh0CY#$~{bVcw*} zrOmyLvPUuT@zU`EOb<)^M+bs84qgXg z5Y5feqzIV@*|<uU6{7%ynDA8_TbG z1oSu~D$S9Z;?IBY!DsOW{|5=~>)KtvRs{LgXvZeT9Q-u`d)xVWZpiYPUa#j)PPR`d zjn#8Z`vanvtmDW6f#`83br#K{FOICq3=OhVQiaSkVwtNV><*5uy?_5c)XeZvykJqY`OdlF^9L>F7jNcr?ZdC zZP6~Try?lFS1oRNRkBJ|6^)KQ^q8nK;MZk0dC%1@zQ*~l00`E}ysZ&^393J*Dq7~6 zk|8!eQR*^zcwwp5pR766ad$jRQ2x-M1I z4T8&zuma-Wa%M!kOf_wOHUqobo;R_o#fjhb2}Cnv>^!~eDXBy03D9m_h8 z;T7>x-*u7+GNQQ96;mc8s)zU~LI;7^Ujt#&CkYOK7y4+=_7ysDJ{NKKteLN#`x?qe z{l2mn9HT|BcXBEf$!>-_#VhXYb|3a{^XqXA)vnA9wOAW1>27vTE1_S!@LV1&-j(&) zPo_{p>Z`2L1^@i>R7S4(hMs4HNrk@2;SP&&YbZ^RrR^m)#T)H)V{vTgGFKBf^V*(t zIcsqzom8HnAjg4*PvS`5mC*G`B;h?FC^&d!y?z>-A=ypMVzF*I8MXTPFH{WQYG`T> zW;G7^&3%`Q-4{%8E4%+nklCX-zzh3}*GG8V0vW90&~2=Kd$T9=i)=@EBqdcuWKpSw%hdPh}jv^ zO7j<6*M6cc%zb62+!FrW6pmvlYz2XAeE_LI9&1`*Rj|;_LRsDRtlG#>aLP!% znVnWbd3Awl=pWnfr7*9mtRTZ$ULGFjy$`mv&fDyC$DSW7>YR^0Z?lNx3_%ND3xJmn z(QWcT#bdO=Lh1Mb2{uCh<8;|To5QUujDP)Aropf%VB2~+L)Ifp#OjXIfET{@nMLhW zlqO9o%53OW&G^ShNFIUacm$8j&?1smX_lxqk|t!viNeha>!gdRW=bJy8l=KVft41G zMx2~E%x0p#>FPg+cvp7&TD2}iF0me~!~~syeRu4$xbEcSy`R9rY35Gx=CuS=;jP5kMxr1q(<)r1FVR`-Vs!()Wt?lPEOKe+z=i2 zfd^D%3GDBq8(8-T4eiP>jA4h^hamZ}!XA7P3F zyxgq$`PZ*sDQ)GaAa_-{AZNEGL5;-fDMgfi`}QqDLG6KkgNTiM+Tvf0i+N4Km0?Q~ zgs{<|Z=g1sq*bjmvapoai3X@6^_WGyFcs#aDiC)NXsze~0Wq;1o9Ualo!&$f?g*$W zeFUndy6nMSfvX(s_6hg+(izzp3dywlf?Qly)NGflha0N6+HHi202QAUHf~hocr&fJ zSuF!s1CNDkriqAV8u!Zfref4o3vXkdE%oLOfWRdLM^_PXrJY5W(c}cKW1XIop4FeT zh%a`x;-@3*;^{djOS@9wnMd>ob-6OfegQ=N1x<{D@6&|jW1ZcBLRyd<%vDrX@qJer zOp3kfOc16M^5G{Gg_wWdCh!D>IGKDZ;JxYEc#`GB&(CjCrZ0)fFbd&n*3T~xFnw*? z65Q zdm4iy>ue@y&nKwiYL1BqXCPY_uTz)4DVR`QWz~4_&?ieFM3ZAY;Qbdn^IkCi=v_M-5j9Itps>T(q26R8FuI=bFB2%`s347(~5`3KR$sN}(iCu~Opv+I)p5`btGh&~7>cTVdUG z9OqlCiIMc%IUT#b*>aR|xLRQzR%?gLpdATc(k*LW?agiiSuNPSw$cKnji`&bXSh@M z3!nn%o#~h}?^4X@+ zyvC|jFIV5*xM*@p!MIjEGDFg%`1laol0ij-2ckiNfv|}Q6z9}!Ce=cNpxuMj;gzJt zI-^oOJorY?l;^GqT)r{-O{sQv6#~ui0WS$+i9_Zi@y%4T-N4_Z`8ixL+->K~5r?dQ zYE+cLT*q6@U3Sqr*FvyDc~zf#*i2Wz(ZFoS)kDqaDl@;3 z*6X1?*Eh(T$u}xr(`A^~9v&_XXUo+yF){Da^i5+gO~-@oLt4^#i)9frMWGx* z1ABK#1R*~%$wVVDE-ns-A2%vK-R-*6D;yIOGuRr|OwH80{u770EMl|`ZrCdQ#`84P zm9BQ^7J))-4@rytdC$=|EbG?F&FZ(GWH+*La+c&q7gOk-b~CTfuV-Tlgr%gU+GF<1 z%0h%t9v&VG^UHgP)gaby9qlUsp)~og$Ba~vwHUtlX%Mm&oyL%EW_w4Qok|iv(hxHd zoDioGlz1Y-iyl*EAgvOTGf81aNPAcafs517SYs*V5KxL2jF&Pcf@;B87ew5|m77-9 z$t$!lGKMP4`MZzwW?K$_nv-+YN3SphiBhW^8i4Y=PYmH$Tv+pPbr2h>f9=a9EltBH zlFnWaOO#~z;0^L^$8QnF#l;lcP(dgZ8Y|Uo?0+sK5i~9WAxFaj*Ums@%s~@5)5yfZ zQT*Yx{UJW#Wa$8$@ln0!`{RgZ0LC0FAXbGIl1w)el#DjQurtqL zCswDyhtHk56}go9#qLK!Wu_Uzyvocb$mk4hSk9w~yS5Eab=^iNDJ89-HfBSZW zXFip3Fy~ZhQ#09;(HOX$7~H56ZG2|Np_|1Opy5TVgJv2QkLl*opt-<&oA$F@fCnZA zC1(tZqGd8bY<5EHU)0GCVsGr6c z|7zE=_}LuR;i&UrtN9(LT+zpma?~VTSD`3qA#qo3+PV~nrVXYn>OZ*JMrAPIcK9@ zALqS_O*#a}F4 zn^nR8Sh+r#vc%l~?AbGt%c!UY1*=IzL)(qPsJuGQJj{|yFnSaDi}{IJl|^B0bbNoi zR+{m(i109qi>(RFN?=auPY8tbIpoS`pYG01^LOvwfy^H4yA*vVcrT%K<0Psp4N;*G z;xF(2XI64@kXC}fIrOeEv<48|3G9*`svjc30C}B&4{pR%^%e&~2)*3~;N8^3sJZ!Gq5cz?J*GngiJRR)_NGj4+ zlpZvYoa+RscONj-$>j4|Ndb?@!2izm>$mA1^5W0*5?zjIlTVL%DSkS7XK15Cu4f^< z-qG$KEio^;Y^!#dHa(lmI3&!r9bwi{SfqD5J!qp8eAhlbi8jiT<4FH2pF8@}@{idw z)&{Kx1B|Nzc8^-z z9Q)GCg)ODaT#}d*wtUDk4$lQm%F5BE!sK{(Di;?w z6SHHZayrPlS=re=h_6UQ@|Fy2Re!nN+&x zkL?9V5A)&K9ATt+3i)hGFvzKMM^rIx35#*VVhVcT_>(byS6s!j^03sKmiecmTCoL< z;>m4&M5U^~AUWYwcENJ2n)G98YWLF_J3s|&D9GU_PARPd2-ZaYp!Y+>O2V?4=&pyo z@?~c~MSh=!u0oJ#0ozC;K%xc}U<@;qlc3S`{Qv~bFZ*u(9NpTw7(aJ#E zmFz5bI?+dBy&e{GqHgx7)6q9QqKrFB2*LyEqFa}uL3jzZ9|y?D$gafp3D<|v|M{o! zYMKqwS;)Ao47W-Fl;ZX4itXt=eKFR}b@;EZYMP!>Dgdj*D-c8z9F1*~fBF-BE|TtS z6y@MaMpkwfW^*Wq3dp#)z9IuVtx($}%S#-Vwa$^PTSA?L5oBAU%l<^Mk$9pbNG3E8ad3c@W|% zYAP-}FQ0X#3LoC<$79ONRI^DdRW8%hN1&bLK#?>peJrPBk%oKCVRFV77JnL#RCE#n zo@#I%u0kMJN8lcrBP*?&yEmhA5$Bn1=7Hc&D`LF9HMLc*|K;>cG-M0%JG{fgWlXL` zzj<^IBp}W^XuvlB%qt0?Q}me}l_*-v*Czl54J_r-88>=g zZB8-GRkVdU#x*4tIrdn%Og2pObpFy_p%t($&${n9HC)tL=(}-zRYgS=Q1=G)%AV;* z>~|VA^G`jU{n~!h^h8cpws@flG5Hw?JaC|^eKA0RD02LnQOPcIY+R%2mm6CQh1PnIgRIAhQ>cc z`lAhtyI|G>5CDsLWO$mc7R_~B5|Y@fd;IuGvM@Z}d;SM+#K~!Ie}4nJPO(K{gOL4Y zH=JXG_SNpbp$R!SpY8{Ejgy{v?ex_5dW|_|09lFLt3G~yN$|{O*O3Z-XzqNe+y&;F zk6Uqh;YMMH?RFfLlO77ns)=k3ylm z=R^0L$T#nVY=G^SOP;l4NfWWg9V1JZP`1q7qKZLk$j4Vg`?mB*KRLG4uH8wuxGFKwGL)5cT2$hzP816b;KH21%ot-`Gr!wxJ zBRrO>JiyvUk0V#|l$>-1%5HNH*I0VRDpp$7VK8tr37=kLOu4yU@tN+fkr7jXMn_;n z{3k=fS~RJ~&rcsh$2%~*3uiL?{r6+yV#U$)=g*tYetl)Q*X?h6H`6psiK4%;;c3z0 zo32W^ZBZp6;=29VCv1?&9cw|kYOIwQHQ*e6z`ioKxR}B9N2>j0N>gKTxbY=OBo)k7 zX|L?y2aB8ev=7Li`ZiJ$%|^rfkA%s4b2qXT0xT@+s;Gqq8l1Cvxa&j!oUF^QA_L8) z&9}X^PoF;R|CsyzN3Y0&?Gj;C+JH>b86_IDa}NCf?AxmdaCQs;4` z%KNRu4QLMI4bODCRwtzJ$o*^w(D+X_?rJ9XW-Aq1AURu1z&j_N&f}+4@qbI=&qj`d zILi@OUvzFa$kJ_aFMPXWC1dasE(!)1HmAPafln#1k|7(pB%f9KBme(+0Y(@bn?sxz zhhLRj!AMk2hY_0V-sC5=Kz#m1+N&f)gqD^THC@w;+Z?mTdQJ9cAXg=xZe0Ru7VDND zUd`nClOpER43yJ%$APFHxDj@Ec#SGXrHR`9OgIFB8O#S;w?pX3FE?>@U9g>SaC0gJ z=OPyK2wP=sK+N&N&wL3xPlqBSPA@y^SSm;)Ln_{6!ZQ_*XN=Y->WzR3kf_Z^$0nt3 zRC==o+p%sF$;KYKDZi+bIiff)E@C6=rRXGWX$qBeOKoYIv=>`h9*A1WT%-Iokt}wr zHy52CUK;Yv0P2^;si8>0y51Lj9Qu+P#}|9-yk-LGH2_If_| z34ee6YHDCV+tRr4zNAjJ;;d4oTw$_^iRP2<@64WV>Fi4NKil56KtGy$(zBYW&@5XU zVFEWr40IZmaw+)zo|UqFfZV zkXI8Csp+H{6^XAJif-Lp z83C9ic$G=xH|-cg^rtpFK*A&9Odt6y>6q2Ij{)C9<(nkVa2vuL(C%C)vImX{KvypN zoai9oK?=;4NowU^R8VO7X={rLHt#;M-~p1Px1W#M?0pr&<6Wr?d55?5VlImnon0wH z@vb9f{IqIn)+lccIe*WAf_5K?N0aUgKhrG%D?N-u$(bNLpDc8xsO99C10u`o)70_Q z#{&am_=t6DD2VkO!|v2|D*4EWW%&E=T7Z{5##>CmwxtX>4{M2{$~%+P+=iDQ;RjIh z?dGpE-RY9MU|5SE!=U{_c(0Ud7PY%FcQy+e!lktE31-cY78@-es28H zYDfMVDxY{=ndJ5(fpRHJ6hPMtEWLxEtuaK|lzMW5-n@7P*Vh!6nOGlM_3%2Orf_|2 z&A8lHW__|zC1B%aS6iD=9BXSHxQa8Tycj=3R4}QsQU+ECMgZt6>pk@!*uTUD&Uw)M z@dqW%i-x*SWlesp@>}Dd7}StHOQte%GD3o~f*8enU!+0#8|F8`ouNDMd|JLPSMMo? znAf?Wr*}ywSM1(&sGK@C$bB$SNBOS(yVe&uOzZx;xt zvLY?F+2F?;jhYruL1xeofHR2*vu=K_%YI?dR)~2OkI`xhpUc>IiAyatV|E~Jr=TNF zNxDql-{0RKuM11sU!N$ptbf4-o?wGBhsr>6y^4i9R+225>~nN;WdNziygaP*6$-%m z`2~1cFhTbG#hY+hBwH8Q*TiHXHSKRG7IMhdI}(B zNNjHIR1T|`-#QF9X1FxQTf>s*IZ2k!dAomr&W$@FvjQ4%tlIGonhNYStdj0k0l08L z^p>84uI^m{J;duv&?1l>Zpd?KtHl0MX4a=y>pOPrOY<2h1FVYfS*<7AZX621`nLxL z1V}Ao+Z;4!Q!%wJbF~pCoKxo;1^D@$8~_%Jj5I7augN)-AE!Qt-|D`sZy*rstAym` zwW<2f&b$$-DGpQYL-d_GGEe#Np^Vx;x|u=`kCr0r(BMPP6LoRp)efj2p-pMI*22N! zZnvI{1q*a|G3a<5#M15E+~5>4+6?IO6nH%#`XI+b9lGq8*Kux)tihJ;F)96O(9n{; zBf9=~)|SZdAyyAuwN1drWM?f27f6-_4YOPP8qplxN~*A(W?V>N8b$ObB!yg;H={QFHfHV3xu=X3Xr9igY(MK zbR!+ma6ti?J!|wMB(Pl>ekwRsZUlc`9q6FpX9a{&YM09d|Y%MLOBC?D!{M)ToX&s?PXZ{!6%{3$Ks^YdRU$1B$C)ush^&e z&3M?GB(u5u^Hq0-tk)Z^!h#e9czqLUKv$&q7MtJ~J=@@#?BLKTyaA zCr6N40n|DiO}~j{L!fy90os!zu0xFhpeWrWvBs%lDh%|1Uf^)s>&Q&b1$V5(#KtBR z^(Bu>B?j&o7u*yit`3YdBe6XbH-K$HHfZNVuk9UpwS%B5FfJ@^1Bw!KD=Ch>S?;&J zI{z*@^L6JT2)ziC{fE($ALhF`N!3!btmCirBsW zSu$180!Q0z8+7E`G&?MbNrg!ImB{&aO;hGx2{Qjhk8%TkU_=fEX$G49a3trcGwEGbw#9zlH0 z?Mn9d%2tdJXmh2m7esy{Lo#T9>v*a@BA%W@F`?wsvuB^iKf1)3R#X z0)(VeTFbjRD&<@2rmVB^J`IT2t#iL{N0MF;eJ z&pU|x8iSwI6}vJ>2rn#nf^^2nW}^aC4tM7bV_*9L7sEA;45V){IPSw`rWoVC%XH`H zl2EAZpzbBJOli}OG~46==6GKW^@$;Y;iF??Fzd{HS8NH29;#5(-n}Tm!}CC+gr~iu zqw~vhnOJc*OsgYc9*^hK5KKVZ@tFa)87B*{nO++j9UligRsf+VQqPc1VKWW5ji~*X zu5Rz5mnJW)&COae0Ow1fZ24edL;9;DmB~D)v2APQX1~=^U+!(9ux(ZK>q~lyw4<1I z!fgB1i!p)CsH`cg`G)XJMh5<|F~PdvAQhxnO4XJ$mzYIiN$*H*EX6SJK~ZQ}byx3* zY1?<*fh82qa4hoi_$OjsOHE*TaC@}{+N1t;Tz2_84;$mQaT7`RpT<4rb(+OzVqA7U zo+5b+YLjK3y>=v13V+QpNVxPq?y;!7KWp&5+@LY5m6DffWt}x>MNPMm&!m(aHio=0 zX&{?ZNr6alV6xUr2I$S+zUc9j$H~Bg_Rl|mrfc)<5&-qqIW?sW4t?;l{J#JGPEU?< zc&p69B3>jZaj8r{KjwRUc5!+QpV0N|UnZvq1`H4Z%jK8R;a;BNvUh&;NtYgn`gBcA z4HdjImXWzp?qkX8*u$lvx%1S>p7>5IsMu>_A*dVc{4;kqc?hcpFO455X=K>5>8LwT z7puQjsV{7SvN`wWO>m>j8DZ;YgUxVK_PcDwQuc5~);o_YN_uU}KaAcn5oE{%Uvxeo z_32zq4L;pJ+}mk}u67tCF*32ixoCD>+M9%%I77v)3BS)o!ew_4cczGG;^OBa!Ryxz z0K54cOy91607z{h?R6GTRP$OLC%`qe)%Ag$*7?`VMnD5MvvY9pYMeo{RVn7S@JnOo z?J(fX>VGNlJ~;6M)dbkBhG9NzyDe?6<4nH1P??{fuXsTdTlV->d4`x@#pxJYL7?%A zU2z}&ID3Jr)`!+CB@BGIcm29FW+R0!vB+I?LX#-L<&7&cVpRAQWO2zV^1% z(pbBKeeFQz9Awp@f$6wxK@YH>)8o~vUVfx9w1q@PrI#YU$|GbS-uF3|iGu-7fwmTw zFKDhT1SpMUfBZ8jBxrfAUe0xEbB>9bQy@f6&d(KV_@t!Iq_j>LGh6H!j0~}55}82^ zM4^q>>#P|sUoAFApX5D$wId`Tpi$aqJNWV0Q0=o0&ci?_gAMl9uJ==FqS9`8JH;_h z`yIdc{o~`yw`VoQR63Oc_JJ)qu*@f|s@r*vkDnG8?14-9PtNw!kYj#em*oRO6R7#! z_F@9^@;`qyMMV{YHGTZJpvMCgOQ1m;1U_ic*3d}gVPmtDk&_eR;*xJa0GcOAFzFL( zYimFyV`5`Ub`Y09V4x%L_2d{i-TY zv7+sZGY5csA0(|e`;~X_%LZ+{&}0@a;^x;~-P#_?kPU!syi_U6i}0j7Au*&UCIVxi zs77$9GMmhmxWuC6(JNtu-Ocm#=Tf4Ngv0LGm3h8?+4aR4!IPx1Bw{`AqqC;=(UB+c z<>H4ptuaOZl3?kJ8cnHt3gL`~7iQk)F7P9K*ID?HBMA)fhJFj*b<+O^E}sVn7d{7n zI(-GQ_23m?9x}5hZh(f3FG*u8ER--8AF+(YW>ArP{e90aC9iN~1Tv|mI?!$YN4{*> z;>(@+&QdBo|B+{FQWvVY(3P&1n9T2`NFW~w5ta`fW41%~H~OolCgxXWc{R!{kg2Z2 zWpH5Tcf-%qBorkazEu+ZI-bb8NjK(X*GRz@^j^C#|d*IWG%nc;6cDZkw{c zC+*caGNKB|A>bT`2fq@-V+-NOK8FrJMX&u{&lN`2%RH8HNiFhLz$JApBxL0Jbsr!H z3JUU>)+@IqCp!yWN^?)Q{u`v7mlT?{9Oi1Aouei)ST0_X;d(D=MeebPYBpDVo~a$skHoZ{m0~0L$j>s~wICCu{b6 zkm-~U@56E6kG9QRaq@>1;4v*hkJDR_1B{74?2^~XxTW{%JQHU5Hrjb@)YhcQSjM3{ zbt)99v55Jh_KtISmYWt-%G3?wCjM8E3;N<<9g22-VYX_pJ+`ZT%s`2_S$HTk;yUyW zC1_BT5X0QXuhE5HfXSK&Ie%80vIp2i&_Qcue(Zwl?tN~PKW~{J?$3sUaY z)nyeAt9q9uUw9nkUEZc8TJ~Vz1=WXt!a`*zA(0n6p6kcRbz^Cs@06@Qia=p8`!v}9nv3>Zk&)pnB!L?)Y)FBzVJM0PkOfpH^9h2{QQt3{1#{pr)1E6vYyVY;Yls{3Q_ z^AQgpuj}rj-*`(;NXyS`D*32x&I!3OT_CqL6?y= zSYi<%Rd+{sm-;?*NVp!nsIqCUFoCC*z&E1b#KmH9${q7-%Vj&yPsLLiuHUb_tRH`8 z0IEVnOTPge_EWTe2e^8!E_7z5 zAdc0KiP6^@Y)Q=rwC?)r@kXCm%@jd?pzl*V3cz?HG9>Yxot-P66w_Y5d|-X4wK%JF z48VC#xBt%EZ2(jHziyxUU!h08WA48{5Ig(7V~*~B9o+jWQgZ=ZurIB0l|iie5BXCV z{MNMQziwg1h1%2q_w|21x_5=S@13-R|Gy@^et!m>p9`g)t1{ayn5*FguNi_>l?tbSs_>gT$&pU@-(FNW<_&Q5w!?BQ=Y|2FLW z{H5(;hyM#Z;6^)GQK%<>vf+(RrpW_!|VGDPX-q%t5ns zNd4bc_u8{R09)|+$twDUGL(ft54=!Ox^eU7&qaS=I6nX9o&3m11`;Xru-vFQ^?Tga z%I~d;E_W>ceNlB*H?ZN69fQxKqW63==}F#;?#(aIBWp@e_0OE88`yeZ=(m8!7_(mg z_XkGfuYLw?YP2XIFp%;9 zP8=Y!%g-ZH;3Lipc*&*^qNl}0Ca@ns_Vq{_P*#^lx{l~qW=M(!Ur~R4nr6ps-lq+G z4}P;c?Z4LX$!04#V~@mEvJ-l^gCB}lGUm>GEw#BitK84>J#K_QH!Po5E3I@<|3B+* z{_qU=ygV}(7Z>4IHv&%~AHCigEY@0s!~{{A@IaExAKZy~{rao-~D%UxPu^ z`Stb6$11U9p4sDoJh2pfJ50620~Ws^Q#y)~oxS2=d)LH-CC$!~S*3+!N_USi<|r8q z5%l8s(reD2J7@5t($d@8J25j89>Xk9Q0>rF<~+dVGU(;_luV-I01F?RCbH6-E!UMj zVMM)&DOtZ{xq7GaeZbnoBN_O8DaSNZ7tfnMeE30LK_MB;g{BBusycKhYhWk|Bp`lP z%$+)Qo}S(SM2wZSk6?TNCzG(n0}R|GrKZM5_0nyf2Wo1o%L7kj{TAQ8h>Buj^3&to z*x2!yFQgudpc57f*{tIo?J|k58uQOT$-rB#nQ{|0j&%Kj!AR;H(bLgkuAj6uJ=-k- zpHAV8P1*?z5dw3`D}xcn#>w=YJJ=O*C*M`mGApaV73vN@k&Z~5L?t9tY=f?v0&5fyM5~ZVkyuqag1W@_t z=tDRGn3t&rWx8F_kdQ!8Z}Q_=!zs{O0-uc#gOStIQ(C>N=THp!>=;F7>Zu zBxWaolo!V-Z4*I8_2}bT%#Febhx{&_>TkT3s-{T4;O65fCj_Ri#=f%v90|hC%k6TT zO4k??iTF#UCubK~cf4Kdd6tIvA>wKNeOJPs5$oZkekQbBH$z@UD-H2>!V^~kYt5GK zD5=YC+V7v`R-60?)>2PV!X0UYQjq7^N``0y4B>Mgw)X}fHT#kNQuNFmt z0VzeD453?F!IS$%W;TN#^P_kb0=JZ$HsmWGB30|XrlpW!L0<#owA&zCc;xEd)C(0b zcH96K#-Y2!-^0S~=kj~tYkW{nU;}0tu%*r`)l9PU5f4EfFkNkIXehIplEqKg>s41x zya^+MqBWc*?&OBaKmtL!7T5ad3`%O7$pq$3Ci;WZ+>@oC<~CAg_AsykBTK-K46Gt_ zfVs_NjWa_3>Bn%&f|&<#B7Z7mA3svr|6mmiC@pvLXRJ0pQZ{L|GH*U&yA$}K&Vv{` zu`vaY#)Yl+Jeas?U3WjpCW6~j&Z##`b`h=QDW|YWv;RRMAV)D{+hx)pX2^?NNYjx* z($SwA2)MxP($hpJd3$qY-rEP53NVh*+zZxIGNQqX#R@h6NJ7!o;6rDpenPS=+`X&PX#+v2p*ERy7<&gAjJMoXcdU+f! z*xxRK?y7{ojQ9LUx1ZbKnPBNPOU|GOoU=I-#wykS!GIg{@m`q5Acz|b%gxD5^WHuDlvf^~PEMlp`4zc<4d=0#l;Cnd zIptgJHf~ri{oT~cJsd5x>tyTwA5rMRs4;eGtp|x3(`c!e$vJM}v%9Dh$0=vyA?G_7 zV**dQNYNZjftw+L720nTW2TiVqGyWMXas3Jcz?y~JY^q0X1%-kQ@eg9cdvJ2T*lKjzOiyG`$fPTE%HZ!P?24lK zLL!7rE2aL3D5gcDiogh-X-{sbg>9&$(7?6lJg;880w%~Fd_OGHCfLvL#l7aAzxvRW z5u?h9)d`x|in9^CyumtJZ}MjB=&ndSV6e&gV7Fx!e5=NfFz)9%)S3jGo|%GSM@LZ8 z3Ht0kd=VB5CguNe2Ab%*iBnh~ZPemci#H+Kg!ye8zcRksHa$_d3X@tVwCTk%kU4-& z$1=N_Fbwd5b}qSf;gZ5sT~zDIvu7{BlZ-cep=JHn9|g{SWgb$>$ba41BjJFzBrRa4 zsVjb|N)C>#Fk1EJAS_yLj`~(=3atc*s_U^yd5$pXAqRer`FK#|xa7I+gY|J8m)mri zB`TF{{|Vhv3Vl#Hp-|X|&Pt~~%hUB-$t5?W>(D(=n~F52(+N!*5eNTR0MjQ3Hoo9i zFl^-Zy)+m8WND*``HFLZQotq-^D>R!^>f~Jko~+0u%EM={o#5iPLk`{L`Dt{j{sYM zAm07P@=u+mqh5fihTF>K@7QIA^Q|W?vc4ba$-72a#^`~#(rel|xe)(Pf8;%7Kl#tC z(eFNe`jkN#xEPna74wKWy7KrE)BuFX{AR>xl|L9b!irl5I}i1tN2ivQ4GauAJu?%M zN_F8{M4OV$?P3<&{tz!ct@^zffc;o^zs6FlfIl*XNM0eibQ(5~KTuV59sS23L;6In zIf@+&N|R>Vt_J%Jt~N!Sgcta+Ns67d=H}-1+e(N?3|kv*oWLtjF`Q&+i|Gq%ObDND zcj!vi-F81bC^xPuVwEgs>tYr)PhBGmo4dMC6n#R(un46(XX+`P7>c4~HLhQ;U&9N5 zS_yn~CY#}BJV+u?70WsbEWb|y(ck|qD%j;Rgr5GK0s2%_?Nnb~+T|kJQ?Y3_+4hou zxyB1yo)~XZ`tb9xA^-ZRh?%@5;@T6U-^8G8gx65QEH}f&CQESFtv2ZrV_V)muj4W$ z9}hpwBwhw+hFTy}E9?4XmB6@7%xT5g@B@uL`l~tD@6GJBuoRV=z_G4t2j`@q#J9h| zUZ0hhdjP-*7EE~|tc^BX&-nhzO%lM%)!1N(>q>bz^4W2weuc2bx4}e?vVZ=Zh#H}W zz{ksdZr~L7$9c^bK=<%&hzSgJ#NvGdl_j}T8%295y$f^_Sp|DOFkV?%Rc^I7%;AMg zj!rT%GBER@@2>N6h4){b7gXD42N1C7*neZN4}I(!SjGWHmecrkN19B!J?M>fLyoM4 zNwfS$LF8aROs&QfFx95fsGyM2-l-w&i5q@?h8F3#9&C;B7q0RI+5dGMdnKKlsbB;p zRAWB~JP3ZQ6fHng&jZAEW#J5I6TtB%cT8vjiMA>1s1B6H(l)ht{3g1-bnHwIhg^Wm zeA%bhSDgW7Avu#m@T0BP8GGpo@s6P-w&7$2&*orcx$8hnx@PLl>w1?iO`WI103-wc z1dQs?nLVQ7fqGAd#HXO1o=fh@X5RwWb za&fQi#zAqW0=s6cCa%$~-o?=|*G7TCLwqySi?Hx>tYinYCb0j5z4wl4DvRERaU69< zL}o?>0fBKuktRx&uA(B+l-@yU(xvyr28<%0ROw3Zy$B%$Md?i-2@oJ4O$Z%A3nA~m z&hK5{`u_j^`QG(rEnSP2+sKyem)KCqASufoIec*m#1(DLym zb%7oB?gub;(VD4ZF>)}908~5l&kLLqH8+)Uw>GdG_d>26$=I4fgqPW-lbvrBy4f~Q z8$XK<_eH%H$eo*+$@g|1&b9Av7BtO$zeJ8CObZ!QPDd6YfsN%r=lGjHr~%%kQpF}I zQ_P16rpT3bCv!`O?Cq@QQTw$3VRu+tThqRI^952H;2jA97q4C|HiP!+3mPb86VzxX z)D`nt2K-;Same4`bwogQ0kl!$x0 zb6*E^r)@M>)@V#iIu6{U=!@v(J-h{~DGPWgL^NaczOV1cOQzdEKcw_+a?7!7y{SBT z+Slyh5mxc8yO5C?%xZGu(~Wch?!EJEYnieZ3ks(W{US5mby#S6zBgZ_@+xQsA3ZOc z^4JzzY=LFV9Xh9i)G|?gTc))eQzt}pOI*08JK_x>pQ`hnD@W0S!UP<=bU!7Ki1!y2&uHgO7HBk3SpSS zKaednTC4I-IjBsflb+$A?W=ENi>&%MrJ3JEg7~p4L(*~6G)Tt7d*t9+k~FBu<1O&4 z%s7q8p3>6G;b$ZXC-+1Qstd>bJzjARl-O07S&@&-J-2%Ju+njhCkSKtq5Nu=`S(O5 zj(wjJ2r(+;;o(V?qjdb*5~B~x>_ohNEu^!%D|8<`gylT*oCxlX&x2Pu6c#JH zBR@x(?)~YX{$rc}+&W4r=uwg!)oPCuI7bFpL+0Vf?D{Jj6e%a&0c?PAnM2hmJw)Z^ zkKo@$VRXWSf;J|OEazE1{Uv0r&dY(4aD35ge#1UIVAUq&Umr%;zyA&}i#DX&gy9Sb zg_{b8wxt~mecO|Oaz*YEa#8BYx)lsi>c=(5r%$1;qZY*3f5x{x=*)fV zkNWbsUlD+gjQi)(`T@FOIgn96EVhRYWS)dEh_dqX>B-s;3MeokUIN#T@^b68D9ce> zjig6|y`Oexrvw1d`MUD3rG}X;Pi4!c&G^JsnZ9-NH>t1z+g{~`=2U8%NBZ^T?8(5Oc?q3+qcv|KjBh`kv#9~HBY!$t>qqT`vZU=um@Lm9 z@7LKceZh9xMRo?7S%5^%jTmgMfT6_xE-L8bqNRg9`~0v&Q*&41O8dxz-T3Yw^9j(eowiiY9@-vY*dVs$BXgXig-??3P6yqa$D*@4G ziivAq11K}pd#=w$$0+#dw74aoEh}#_bRykU65b;?tZaRFb*i0`RASfG_Rk-6fi`{D zgL`}LVK;ZVLd0M|jcXTjAU9{V@o@XbY^CBjAJZ1H23yzp+T*MIX=wYqS%x@svm(RY z42`Gyz*|bL+2^{>bnClv5pGp|h02No@sZ;h?$%NEYCrY7#RvDWcP2g?R|USrAK7O` zs>*s9alMcC&MNQZOFBlY`*HI8`61FS(BYzow>M$L$ikRqzqw?6@81dkfMKrep0Pkm z%1v5Tau5ZwiO=W$`Ku5;J+IgFdXPWuk;@%&@_=k3ZIkzMVGaer!Vs2u{^1KU;2@Ii zVum^0u3v1Pf$>=$u8)K)o4!k04k_mut-HYaE`T=5s%~$uqNH>qnjf3^V<9_EOYy^@ zb(~aJYBFQ=v-KfivGyjiF+@*E24zSe9!S>A@aTsRA9gp^MOkcMPu+bmQS-7veJWKb zUUA2_4guO08fMX$YwV)tVlg{XYu}_j>|hD30@S0gbZM_!LWuqbhtt1crSUyQM40EB#Z(?5~71!F{W(%6FRWK+o^rq(*Nfj8z`&o-)^F>bf_-#?|FVA(eo)Gd7v z@0IcN;BMAt?{_ECQjQ4PNiqhXXQqY}P7?j9c~R##=+Aau?k~p0zywA6nw?g1d5u7K zc)-_?^=BQ{xPcAWf<$DOkLI`ad@jTp{1}30U8XuKL~Y`wl#Q=B;!z_?P#2y%_Y9tDKlbw!E z=@w}l6~u{_$pyJO&=#U2b#pEI=FXX!nMpcKd4!Y$egV1<#yYR55&ER1Ur9eFid}PR6H~CJ zI^d(ICKb1EW7uP#vPdM*8CT=i8Tm{*>+U?ZCMUuCg{oQsp-|H1$~*ZvJrKmnw^eIuYWgoP zO2@X4NK2@UrP2P#uy9IU-E4c7mSUnyKmBuuPz^HY1b(agJK=hlKJw|`B7_&}9KPw^40`*HY5vfcLC%dT@Nv_`QnOcY#fNiAo0vt*i)2x; ze`5j3!(mj(?8Jx&d*>aW`O@ufRg(W3jaTLIK3)(mWSj1C~Y9 z3j}nxZs54(pk3Qfd1&RsbG;mIk)&NGs;8RQ(!jUuI;2|r7hzr=KOzuPslG3MX#@;P z-IMSlORC72quO=!C?2x3zY2M|xr>6sP?uvAqyuy9y<UTmFM9^T%69$2X;xO$Afh&x|8n`l)V2@-w!dXH)niC+bv zsAHdqEC2rM$&#Dh0^??6ZoyN<(SH5Yr(G*bT1a`ZnH+!OgGTL?;i{3-Sdful!{SN{;7@X|e@gF`7az3%?^-_~DwrChhf4^M)r zK!*2XRN7I=T2OFgLn)D98@f4%*RkkH-MO>JCaYjYc5Q^&D`5CYrbDm+)(_>yt?^8= zBq?tONiFW;2Ph6W+mD~Q`tHXunGT8Gxa(uv-d{|5%3%)ykncrp&@Tt3Olod;$&dLr z5q345>AReE%1cU*FJJ0%eh7e%Sk~?3(E_`4XJI>4SWF|H!cpHB77B|~!si;!{qv6o znUn#R0D46t&yLu44cGSPWdzMqnxruvC_|OGoG-LmH$RcE}HF6ay(9N*` zx;CWJ{mF_Q?=sHsY;A2lcKW5!+kb*J=2oH}IxEzbmahCtG0A2ZHhlkNZAN44H4$p9 zcDrwz>9LY=8R_YsD{tIFjG~(x07CFh=7Fp^7XdMtx;suZQ&MWO+lPi^%vz$~$W|?& zFDLYT_xXb@b;Y%D&G3%475TQl!-Xz)f+JK0AU}+?4C?rM0pSJ!8U>p^sLndQ0|zfb z1uUqO?PIc&`fz}zQH;Vq1 zqH_CoqOIZu>5tAL^!caHj}#3AZb0n*nmy2xH}{6|KqmpxQ}1Pdi-vk|==AJ6H7WD> z$D5z)M^O9Y<6o*y=tC`{BS@kjVLgA3RA(&dz-K0qnk?f1W4irJwJULR@mzdTl6|$0 z?>|Ht$A?x{Rd&mYL2EzmK0k-V&zoh+D->CUaiE-py}u;Y@@zK`|&Cb2#|7RnH)a>k^k@``Kz`6q*U zQ^}CH9OU(gEM?Xbb<*)VJ@ezNySS6eZN5G2CO;w8;R0RNG1vF`vEI-wYw-2esX{`D zc~QQ5Z7m0Zcav1sA9I7~ZtJ?oRONb(H)V$*Q3&ul;cZ5XdPRgViCCl~*JW|_F@y;y z`KjMtYfZN6ml)-|6xF)(c(E0!rD{abr`!Fh3#mUAdeM;P9KsfHA2HF*H@t3CZhhs~ z4iTb3pe{65Dvr|RJqXGBH4hI_aMVoQV%_^Wn*0jNduKb=s~x7NxII9R3bvx3-fRwy zS(%r6@E(C;``R zpB}`eH83XlZ+$gc4+NkUVPv3^%%15=%tvAC@{Ka;@Hk@MFd&V`NPv;35jq~2o7d{S zzlJ(=*t{mM0Rm(6y0jDcg{j;8`Sz`TBpp6T-KGt@uV46Xe+!7BCn^UJN%|Azip^`1 z8-M=JL`rI2I?EqMB><^-B3Iy0=nK9ARud!U?9dnQo_`Kz=C5zCcffeeMjU44dhnZ~ zudnZ;Z_jojO;@Bn`{rUq%Fhn2eUt?Q3R$C;V?Lo||36ylt|3O03c zb$55qf9pz4msWI~HFW>Qz3(~uLt)|>R*k7`g}d_NmW$pU%NLNPVOvnNMtZw=R!WNC zIZ~7oP+cxhR(1^?#w*6(dh?AfPE^v6d2bLC`DMwA6{Mc|E($b<_JJDh^W5$?We@50 zPny5^6MCc4x5z=HdD*i4(8wR_qIUVqPp;>iV;W?=m$H4xX~js@>$MY6`3I+iJp0;o zh0M3!p>d|ja9p3K0=O)*z?ggKq4KD`%6HihHzqa;h*#gJg;)3I*xpT2l0FN zJ&jjYM;dBwoM64Mv%CAKgP=57?Xxgqv%QC~)Kz~7>E%E2H6*>i9t4u<7H%ELV5m@W zxTRS%1m0qp*FRdQxWA@tO6nkWs5u+g^bJ$FzPF={>(xi=Jf-kpP=SxK>0q%DNppHT zRjAa#6dY4;Ijp=?JHjGr&*!zrbE=J{KKsiesd*?(fHvmr3eJTtb=4R6f8!$7e5Gy? zL}(FyY*~AImjIHwQHjuIOBi_bLj1z-RK$_;`r-M`<=K0 zuLl&_R2NI$M!HG40BV<_=z$R3Z#OJinzt(!gzff_JQhrBnz?)EG}a%0G`U@0SVT1s zHPw0qU<1zAq8$(94#>}szu(Cj-mLijBal-iWQ$p0fut|x)A8$N4?Cy561emjppV3OJk|c{T zva9s`yDlC90mHz5n{<(PQDSyEkTD#;+==My?|;YE3-0;z3tt9ecw8C@(d_IHZY?J{*1a0aGZGxos*OT$JrYX;hP3X#f* zOWLJ5c4uetH8Yb*_ivld)|%u6QY-%@rZZm4shf*Rf7ED}k~OV%XK%A`WmB4#p*aGY zy5E%WXL=ksg9#C&H(585qYMvWP^?&q5!U;7IfzC-imy<7M5IsOLy8CE#t2ay7~SFI<1P)c($P8A#9N)tcuAWz>7=cw9+Mfi*-WEm*GMklVFltgohbC z&dw{FrYe&avx872T>XoH2!W1^085{5{Pn6D6_|EooSV+!@QXoyCWZ0d6XY=a)V{us zjy=nDz}ZW_K4OJEBS_9Q!dSx9;iA&ia>*DyP4C|0$8{0>=ZpgW2o$+|*@$+uvah=- z#4@VntMK^ZDq%Gomt6v8Li6|{D+k8qK`!DxgSdw*>FyK^OWM$1x*E=OVcWH0vl{ca zZy8DWGXSTezoF05<0X9H>>iWYbmJFO zQ&U|K5Fq3_xih8cV1W0d(fL!H;trWd*)Ep^%K_C=kcZW2Uprq5(}6F*;wjNtsYQIF zE>+cVpDw5heQ$RO4Z`s+;X(SE{x>a4lxg1C<-91<yO$I<%;x=97h}Z2-meE*rMCz$6((2!f>qr&+Y^R}Nj+Y6Q zZ57Zo{C48cKaFt{Xwd{=ld`_jOI0uqbzW7@7f`DYZ)xN?MqXIo=4QS6;OO@_!Pu2m z4-d&~wMgE9>J}=cjWypoQ!Gm@sa#x;a>Pg zPn%ANV^t9dzlW&Ow{Dvg#lxb`tG(OjxwGUGGXi!aObOgSi=&k~uQ{i?J^?^=6dBbh zKEEA<;@pvth(+Kf`(ZmNc6KnXX}Sj}Oj>$Wt+&bDk6`P)uBD_O-`#V%9ekJzc!G8l z2-aRV34QNd(w;i9c2K=NYHRZXcidI09S2&s<&H)E`-U-b4$*%sk#W2Rsl5wk0Jz{w z45VFXzKy?wDW@1+4)i&N-@m>(FOxbjGe4i-&4w#Wi<7^za|TkTtPcItijGi)Pp@uP z`;kuxohF{xRLh#=SA}LK&C&);z@;Ydn>RB7P+OQ^hl2(Zq;mD4aaG4?uX3##tO>Kb zlNB5dl4RLt7l$flJ*mTz7}^*xg@Axtjrc4YdoR!4XFq8j_-E$5PtUxUtw`Ru0nX#v zf5Xm@C~H&R9xLK_k&GU{m%pV4UQkV&0M<;#ah0}on_;4gPii60ml??c3yi-q2f|ANo(`d)BizcGTUKGNWu7~B>a9i0Nsz7ij^7u-Z-Jzbb*c*Qg zOb}rFHV)*g2m6$i2FTyHykHt|D|nlt_p7=*Q|27sipdJBJ|{O)M3Q~ zSP{ti`0mL)05Q+ySfeGk@Ow~JHq@Bey04IeL2eoKCY!!F|7}!)vim$z zvAZ<%G35W>Ok6d;t$a{EHckBHAihEiow7Y^jXdd%`LV82ZZ@9c65FmaN8V*EMr%Ep zXS8sjvRmvbrN%19dtuLli3l*Lo`@}tkFei^tF{Lv3W7)fe&kKRae`PDqD4_2(o&0a zSY`D5ipm8@1zeX?&1g&CumyQeyDH)f#yy~wKtV51GxY?Y`hjV{2lF>pFU}8VRXhkcp1XdzjSv$Js2fof$Eg#_4q`-+w7}0Z zS0vW19DdAtMm`h$9ea7Azx3(c-s_SZ!E5bF{8}TMkSD8GybB8C9F$M3?Ctq(6IMl$ zdPK26bG7eo%-e6Fg!C_priC=4N&5$nAat@+l@e&V6!$m8m5t(rjU*mlBi|$$sm(Tc z4jt8L{FI1jh(@;K5oMx=RiLid+{WuUn>eJxU}o$mS(5-5!%9tS^vmL_AG^6-u@U(V zrm$LxdY=N$phXoyE1VOen9G8B6*s3*u(4KPrZb)K_h^Dd2-00f#=*aHOu z*ck&<&|qB^{_2&OnH)e-shmw>bHtW+Z_mz;DPZ^J9kU1K2rpiY^c9p~Qwvez^L42S zQ>&Z$@tWK$Hi-6e+Q33htl$RdDQ~~#jLuI$!4ebWLUiWiW%q$I!LAdMve#h$&L=m1 z;slu(gc9feCMqPk{`7ErhraqOP*o?eHEBo!z3`L$SmQ`T6@Rm8p^(Gaorik>N2q#; zcR-X-h>Q+?aH5Fu`QtYP8T;S_gFa8lh}2*WwgTKEpvRnr>&o3Q=fF3vVPzR}W(c|ORN`0ljN;H1O)3$Z5?Ri$lg@M}m9)9O>q)YARWB2uuPZCE zP`Ktz4pUDUGqyfJN^|;``nXwpKo^|M4Wx_YN7qz=j}~>IAxcX5%XxhH3l{idhPvyWF zHVfDKuj~epypg*mmXPn1jsk2o;L~WCBJVYP&%D5v#cM96o=nc@&bb~0h=_%!|MGLz z=;Vaj2a~p-3wS)T^ELrp5SjSKq-LOCnaOKmL<1tP?wwYVq~YNI7)=WFjfSj&$RP9U zWrY1rt$cR~jtjUBpDFl_oz|U#d%xdv{2T0;QKLS$&4}XBFH7pJ+e1oiM?t4OWN_qo zA~87P<;!p0IBrB3R!vjzZR-*{_y<6Klb^4weTFGBm}|FH+#YqyA2{{wp@XDqnmx%| zskW{z|2n-+5TFStmOJ|UbwHwY^ytyPA&*(F@y1Uez;C~kk~WtMk^=kUTY`NEkY$0Q znQ0_#x92=iM)bzD9kuZeL-E;!o+IxTIE! zVv%{!kzD;QPDGF*Xpo;NKW6Uk?ydjmhjR+c@X4i=DbeYfgBDuD1YH*mTD7x;2f?)IHPK_Xn=(gO#6!X?>2%M+Z++_i6q+#y z;e2?hMj6KBYl;DI+b2(XiR$1?uWSz;7~WeKmGx~^DqdKd7MkzF#)AzcP#me+FaJ6p zb1uN!jQQ9=L<*+zA%6bj_*+PPWxXHSZE-fZxD@Y#0C#>2lQt3j5?AAF(4p^)FE-;s zw6x%Rcu!ru5Jd9nz}n#v4bxrp0>U^Zt=>MM1&4%4uAA2#>kB zIGh_eRNfA%0}u$${V20Cu6Yo>M`vxpmspe(11zeMH~m%&(Y%3>M#8UM7hj}ff(T5Y zAwf6y-gU6M0&`raqpXp=kQF&VWHH9LUmGYM)E zPntBW6zh}!1=s!z6N6YmBW=<8?Q)$S9EjZ@U<_ENJ-hPa%@a;; z1&!2ts5GSpm|LLsU#2?jScim*6a}u%wII5WIYSz+;zN(43#p@+d9N^zfog}T{$2+q z7(QLl_C`CU4GK?yhC5m^dw_tkV+D;dah@|cC}69+@3S}XVY;B=QDnGhf7pY`BbDQc zptdtTNmj-NSI&Y$w-*F1_i<03vs`b@1sc|YY7A$hNPViF1}D7uw4n6aR9-6`i%3DB zbv zp`j44HAEM?1G-=;-Y#u0uo569q6c{1UE3w60&$v$apoqVEst+b zNdq$ynFWFLM@^daqmA`*>W&%19S{%nh3TqkL2GZ%(kU4~K#7ge+4+Va0$*+F6gwFK z{o0jXhtJplmKfWyU@S_|)+8o_y7QeT_~RpD7I}&AIv=f`NWbf#Vo{G)6xW7IR?>%H zzzKQPDC;YPNS=$0-`K~v@&~XzxN%@46S9BZ%*PLOjNRrw9qT|8b&l$JMW74v&(GSa zG5-)K1Hnf8D~%VJHAEItkF8&Dh(E8!=C#G-cNIp0HLRgxr$$iW&W-||?lXXOj6X>oP509g*?;h%JzmJshXgQ>{nzp|U92(w zWcXR}R#@vZT`9=Z8N?TZ;@!Am>PQpk0h#N>Sw+opqFvmD+sq@ zg3-Rne({Zk(j{Z?hZoAsU4H$s*iH&`jQHIuA!kJ#g^*VyDHNXvo4`?KX6c|*ph7%*S9!$)HTCF0wO;F!CfPgH=STWB*uV4^w2dz9C)P<5M z5Pr;{Yp#*#-tV;KjRp0}UnEL9W-pn^;`_Dir#zHnrCrB^z{#6J;(EH zI^yQ8I?^%cp*{s3+{HHoSL4&^cPY({%>ZpX$iWH9` zumK%<1JHiq+{5UV_xSUNgc05jv_-|{3UzsIf})H!F`W2$ythPrPI#c0;7kS zN9zm+vQ&rO_P6zSdPezHB)4Zm>K4}mX`04 zqXABwILFG$iYO-G;EP;iykL8RxU+4h?F(oC0+i?j)boN<1QCR!fFVX$-LbJTL9_fA zI2wdW0p$!nXN`eo_2KozQI)0J4aOdo@71N2F~fJmJ>^A}?D0H?-SKrp&L zBxa*sRiZMq!_4jp=W`q~$9-sRy#wb;<$C5t$ga$zt~*E&c&$Dfqd9t?Mn_B4a%`E%on=(5=DWnOTVlezW@h z{OGZ|Jm@%5)xIPx?dKPe2MGdDxEtr*wqHehu2^}$4MESiJ+0P8Sz0FGDe5d`MG19 z&}DyZ_h+jh6H}fgw9$b2&hjD`)Rl+B4@1|A=;f8VYT9CHfd-Um<|wKpoD$J{Z(qG- z)4eBFNHP>Qnw8dvESB)OOm{vMq4$g2Ci%f!@}J^D)1mU=`Um03$-c{MOi!k+f~;?| z$5RiHGgWnn!^hj75;W{}7|qSS2v8s!C{U~6=oaVgPI#6{(uH~rfqwl~2-3|F@n0wM z;6w?o#-84+5tX^J@*5(eMiO5<&3o*Oq$@!J3m5aG$@erm`aUNQr21YQYkaP|e{3&S@l8w+Ex zB1sj#mb3nRCkq8p4q~MCctn$;p||SQ>c?nsDeFoQjpJ5!BCx;~^<|h%wzjO8fQ^N)8_W*n3 zK_?%g<3X9$^JRoa=LJeSYL58Scn-aK%>ylp$ZO?JYvMNuYJV50qb4;(%*%!Gn_Dfe zNqXfsU+R)9+(!WUvgk@Yr;0Rg_ZMnMDC&$i*8 zKefCD(D`_2zJ75bp(yq4$~rKDQ2krLITv=CptZjGjb2+@mo>l5l&M}@Zi6p&=2F#O z{r*+VSK{a2Gc{&Bg&D0|7743BAIYH34B2sny!J{-^D;bx52%~Zy+TosrOrh^JnHA zNYz!tmHx&6)2n(aG3Z-qh%}m9OmA%1K3H-{ri8Pz@r z-5XzYoR86VpzRn;C59>)(4FQ;T{|zuz#t;O3tc9H&`b=Fb==ke$#vuNH&2?JJSbO&AsCy<5tj6PwrUnbs^;tJ z*t~tDj~YG+KlJL!->08=YVGY??zCTx`7MGrO_dFuJh3%4yB?U}ab`wgYs|GdqASH` zG};_%(cb$Z&1Ub#@AiF}65RTRXHDE4+*)DafBFJA*WNn5vvb`DRXaVilRVd-W7p+H z(26Ro)Na}EooU-4;B#DYXWR$hsz%W_N9E#8x3?UeQ8b#;OfhCzBgz!Lh#zVoRdXor zt&apP2lmqZjH+o*5mJtIgNdr^u zT;8-vnr08(lkd1h+6{;tsxVlV-~1Box87AF?%(-NS64R^e6)?w*h@ps@n+@gnsS|6 zjw@v?X`OR+Dbai~n?KI2C$0B%eR+ApgQ&1I^O8TUyL2MW4$c^x>wOTsP)l=>*<%mQ zcALB%ydN7IJ2ynh8u25Ja$H`Se9b8-sF5Vum7V02d;;wkNH7elI@HjFp_A2?_xkOQOJU%e9Uue8@U@rre-nr4INb;LTsCN5$5Dx+aHac_MMeO`4R^(oDx z_bJW5QM?965ykBa){xx{QkPe6+}2g(dy9)E!+XRZ~}8#qYpAkpQH(b zVUzF+t-~zsb9SlG2M#I~d%I4tTUf(CaN|n@0-G|Eh-MW0F@hpKdCEKc(IPeG&vPpJ zm@Ponr#ng-+EsX2TCF0L63o2ER#lAR>bllC?2?LVI>QtKW|PXS*7ul2ZHXy9iLPm2 zLngo7doFnW;1=1nc#+3WFyxqZl$U;l{9Y;V zzF63gRsPiW9UR>(TRlO0+TX@z`k%<1&tX{i8JUXDco~+{SFapAj7pYUs*^L=Tki|z zS%wex80N5>#S?dRG13pew7x!lMJ!TjRTpSyX#)#CzhPnA-i>hDD*to$z2Eum23IEZ zC}%ETK6v<8XH%qn931T;BVtn78Y7_N4o@b_u4GJaID%7BHd0~VIyG=U!PIX@X%@4! z`L^Xu+L$O-o*0m!650LZTgLjlV~{&lk~qDlCaPKETw|WQWoW1nK<(zROH2Cw#0A~j z{kHelcdUEgk8Cv_tfgiz83hzcvQs>eFf!f(_F7L4`PMK3WcFIE#N7Ha`BXdDM9QfI zlkBFWLYYvBaqJG+`8BkJC0u@RV=Sl!y{WYQMt-yRpgp0`KGqFdypuB`6cjCjs9sT- zaGJxA3(2|s`zvm3?Y_SOf^M^G3YlK?8S5JVq@2HD1`E%9)>#^vvNGR)Oh)m+Qjm?e z@OP{7S5s5NZOQQjjvw$Vn=QPzJVxU&v}D>_6DqNV$-$>u=koEozPVqPgY(iy%F^Bv zE4p~?xZF~yS)7^o&}$y?3!?Rd;!UCGR9M!tJ?wi5(HAtj1^81|u#SumV}a{Mreu0{ zOniI}GGU&x5VY(kZ|?+tX&uNjv3uLRKw73I`?lLB$avUB8KDg@3-vnC$&s`=*)kiP ziWReLY=j@@Aq$i3>KL*D8$X5Gw!ZnG8Z}(yXjdRo(<+-n)C70A^-rO^Sq97T+WPuZ z6vvfD<+YWATiI}G>N>a2$j4QgnU5#L9!|A-8a@biYS_t!IHekLoGy%9Js8I!1C{JX zC~@xyC(eG+(d`9hrrN!cAcRyF4apxAE>u!d1725lX95BObHPLzZ-E zLr;s6)-rYrRb0Ci()sSnxq^~v2YA*GI3-x(48$Wem~*fZg0o-ncT0XAj6;fIB*_q_j2lG^o8kU4|K|G>hjw^ z&)uHcLhpL)dl}(}QX&;LZ=T&7Ehb6T&RfLiTz`JpBWMZch?wPg<7Ypxuap|Ko>Wg$ zq>~(3Y|Tv0R8y**t=B~V>DjjGrXSHs5U-I91<7Nwd16$ zcvkw(r=3yP9xeJVm6?bN*srbKPK%%2<#JJvGWGr%JLJ@_Q9f~)A{t>}{D^2yR)7HA zbqKwyd|ZCqPA^U?m3th;tCOSIRnpDS_^|APS&9nVM_rG-yt*K+)k7V1?Nqu{C$Xil zGF~4dxZRX?>Ea7qk#Th=m1v%FiBhbS)rEwv!AY&oR?&u5b_-O3MG7NnWQ1O~6G3ZK zX60AiUzVPoZEZrog~`Ldge5VsXZ*MCCxFV_+>ct7OfOhp@9QYBrn!)2($RY&T}jeH zl_?T_?h#k#2kYtGm;_lb2Y{R7_Qh! zCa1n$p0NdcSX&E^`M6!><>LBzB^bg7`(8umhwNLp^GCQg=5l1FN;Aa#H+~?Ii&b&& z4$7^yhrQ!}!h~+XCk-acIXpev6WFSAm@z~?OuGSw|gnaql!cY|VAq*Xy)on(;~pt(6>Rl`>i zXVUP!y@0KQ7RU>`-Of5MI_>%K5!~=tEpr9?nvViRw4J^6KUJgf1}2j6X6_HF5;DQ^ zzkRiZCtCTq;-jaNEF8N=JgAMb8#u?}hH~TWBtFN&2ID#lw8lIkg-Q#;TKLPjV(Hz1 zEyaa}oo)R4Vk*3TzQ~o-6=F0a6xUWh@0^QNNR=d-o-?4+UI|XPicu)z$mLG#CCsL# z&5HLZ%oaM;ezo;rK}TnT>7>lEft_8AnQf36%js>mF~6wPfZZrpXxsKXDItF$|r4L?bX`n zRUfcH5_sovVVTY)%=?3=>cQqDZo-AOyqshS@*g{|`!!ST{*Wapv!XG?wQjk^ z%jD@d1{Tivg_@qR;PoN#z}YOwJa(qtTDsTwH%VRv?x^85{w^x}-%-{@l0;!)nmlZb z4gm`&3)&(^YvLoB;=1>~%$DSvQ9J~JV7(sK(JjaJYz3yy<1%@0$YNqbIsIbE^e*)2 zL8WeKtCkB1r_OY_HZM6*Jk1Lp%g??h^BH+i@yspg-3~GmqW5AdUCEbBT*~~StYM3t zgP>kpo#e4IdvL3SCwUXSO#i&rB2+YR1%`PzFpX5~Oe!SWjDFtXa>Y_%pE&D1h{Al8 zB6KE*ue&g|qB;}xu%p%M$GM`7XxBs^wNa$W{+P%0ly1D837WVBr!0Exg-g#cj9lvP z6D3^amxEjk7J5HCmUkpibj`|{haML?837Dw#d~cA$;ESwG2XPXxaDt-ny&hsR?@JW z-)p-v{()JN@XXVsk*v}b!qT7JwWey@GLvaJ)ehMf;0#2nw@79d<0Lz1Oo?ziI48OEK!$ zJI=j3^oy~mc|lR#{6j8BBvosE&7m39^A1D46w6N)`m#Qjam z2BzZ;Y@yYQGXd!C#~=MFZ1HjB#bXU_6Ta;OdFxJFkdf4`&X}wNRchTSP44vR{tp-nm)JJr{BdO<`%ib9}`dEi>zjax-Bxasc?urTGYRoJ)miQCj8Z{Rx58WY3!SMILAP#wH6@MslemYRdxAWA zuv?KkP}FqmXemWEl;Bb)nv_IGcrROy7v9@$PV&IV#@l5Sb6whH7JlYW zou9U&EhbT1e*8>x`V`F3m zDV5ggdKDQO%S*pDGF@ivntAuh=)Tc?XPK#6dKm9TPm(tU`N!AxR38m*kcL|#%sz5VO|o5{tTpP-PS_<+ z$F#tKu{}N5l@S@+Vj`T63}-}{=E|au5lwxRC$_)CrV2r5OP-|puGBX!2v{tpCt2a= z-yg8#ku9ospV+1n$$RGFlDJ5H5fh}IXb(o?{)RIRWs#z?t&nM9wI$8;pPuBjSlMF3 z-!L@X7V7Y^y{oGD=`>bZONQU(^2hJ5f+r!CJ^GL;V+W^)&KpjfBMC{x4StQ(`o=Ov z-YXA3q}K9PI`?0oQixhn$2epq`m;r@zUH~yV&3o3UpBc#lUGV!uSm{t)hK{8ZozA$ z{8rckrf1LY4O;9`Z{&S8WDHJnBRN=89mP{Ky04F~4I<^t(5%1ks$I1MKEGYN|9R-K zJa?Qq)<1X>_K5TPEuW5X-@DqdynjSIaC>&Hzs4deGl=Fr6j-4#JLEI!C7ZL4rks)Y zy`#8qy?=cSNn%LL^(I%zkLlEcDtmmsO_VjHfXvApyPv}pW&_Zw;GJwvFw60X%7kP? zbYnr1youB&Nv>E0vJ{ug%Hr(mK!1;LX$XI+|1PP4%cZn&Qz=e0njfhIAl?;Q^!5#C zDbN@GU$>+@TIc2Q{C<8m2=pL54ck@RI%rM@Z(k?N4 z9MUcm4n`+23zb$6@+LxggCu-LytF39p3)dj4HIUNRC<%V;y>?vjotL=Z zs2O$-6UI1E9GqoKs`Mv(QJ*Z+8t8omTWae;V^P)1W8`iy1k+;(yh!!%*ufRw_1oEd zz9$o}irO8TU4uX$)wpZ4Y3DpR{>h0I36Aq$KKLQVaben9Rjle8*AD3HBRgJ!& zSL-tjX#k{gvjrs$sdkJWCEmACtyev6SiNmlP?dm{piZ^v%$Rhr-p8TnuooAOy8(+d zhwATAwLR3UL~>0#w5hcEV)AIklK`kO(0l8L5>`|Gu7vr-ZsGqk{o$+F+*MeNiJp-i z>y}$KyxOqc*CDntsg++fho@yFKVGwEPByB`T&&niwI^0PM_EG*@R*UAg|#f8H>|6# zKU2q5H`|R_P9XiE=V|Kp^+v9#kx{~=mb}a|mT|qxn-?v1QH7hKI!(wQjGM zXyi0Mkf)QI0~dm$kMiaRY4Ejq^lY`x+0o})EW17!jj=VR6?MjA zEq9jUwrYc!g1KYK!o|}_FiFKyWq|!gD#7s zHKj%K)r_I+01kQRJ=kDkT;q~*#j2r=S#-0rbfSqls9T;sAlSj(V_%}+-GeU1Dk_H@ z>w;Bl+Y^L}b0N7zM{pZ-R_5ufgX`8*Q>5ZuWF0iy=S-Cg74Lm0!L@QqIlT+pUnQP# z+i(*Q66%Q7Qb>^=3l#rZwbnSs!z7yipQ=^DW#l4ev0QB_VEofg#7+yDA+@}*oOV_@ z#1@wDkPqW|IWizvuHHE-Y zCa$<>?i#Y9^RRFlKnzo{2DGUZA3KpFsPCeY9dJVp7dn1chYVFn-wdBr5lqD+6+F@1 zGRwrdtz9nFC_r7L$wM_lUZ!R3C~R9H$D0Z)<5Q>~<2mc>5Sq4FH=P!5YG^3tqp8B< zX2|2WuzHL~o{#*RJ1NPfwyK?e$&6qod|*W|Mb@T?g-}wivWP754>aE0_2>QXuRs5Z z^T4_gTMH9)r!4yDI}+i$P$DJB%>UaoE29sAcpYSGLZRG#p0~p}Q_9QB<+lRy3JD;~ zjDg$U`rLHDW``1E;$}Y3mfJ*X#!^$U{InUoe%x&!e`L zV<(K z9e!t0bsH?o4$vq>tY*qgT_++b zV=A?*g0~WKtow~=JZBDxZ@lbgiF`6k?=sdX>kC~!kAhgy(GN0HWqQJ>TYegPw1sT9 zV~6}LlS2rw0`CflyBl3OX~#9AoS;1LoUe3eG58hvapN;MBlC#^9Lkmub_rYf7&Y)` zDA7_9`4N+FVV$HI5ElKtlfmrB19;7)q^PB|?({ReDA$~=s_2g(5g&W~_uI!{lDy%o zrEbb0fPro;0gMX(wZ>)ZgMqCsIRC|cH*fy8?Hq*}AnvCv z=Hg`29Hf)*`()J16N2Ja{u&0zE*@w=Kdc&U(Nfy}!WXi<4JYDuSj_)r{sU?O|(z5+_$Y;V%8~{={$aPD+yE*#@?2nMSxy z1^b6K+3LmWenx$6vBO3|&de6SlzN_EI#@c8DDgpzZZ4qJL8$8Y4mQryQ5i%ICSVk_ zcL<3;G`!Uuk=J?KWI)ya1f%zL@FN*D2N5 zogdgWPtz=KeUpACOQtwQh|_VhqST9OlYPc>gL#@7@gV775z&gxjpU&FY z2Wd;A_H-7HjXl13d|VOwKAH!^{oaDvjmZv6TciR-B{^&Ws2kEMH{|t&Z>HW zgZC+oF>G*NlyHg(T)Te@d21z3r2|JS^De{PDsq`V7($kfVS8ca-IQY-x^D%dMM8dW z>;sScM(q#ej%lNeiWS7bJ?^%nXK{3cXgtxAgJ~rLj)c3nak$NkgTLT)u~vO5MILLFB2%p>A_&STQ?Ob^WKt24Sw%pGfD#~v5Tdn6D+(Hh$gD*` zKnOEJNP<$CA<7gWKtxCa1PBmF$o$>gzR&Z$XRU9ov(9(kZ=FBRo25(KBs+WG`x<}O zb^UIIE7jnff4@$jgjjZ<*Lm&#J_wfKzZc|xLl{n65YBT92cmg(k$hC~V3aO&4h7q$ zFP^A!#s{@t*vRBBxmB2k3?6dA2WL3z5pYVwj6=kwW_Qnq5T8@KA#0&fc^o)}tGd-o zmYjfe=duI#MK0MH1UqalauTCwNEx%Dd1C{dMNC!Uduqz-sl(W3tX?mcs4T*vCa^c8 z>3irLceQeXxM%!i71rRe!(w*%FfFhrC$l~O&LO-X>Vg4f_0PcyAEIZr`~Ya1?G|z1 zR|W#0&nXQ41B#cJfVT-RK0=Ihwq^h3jhLWRcRQnBp62aw8?)h!r#5o$S@Bk$ zZ-N5n?Tc17@VWe+7u&R+f@sP;n7Ej%Rt&6qqyV16vZeVv)wId)+*p~ej%;_fSlJk; zdC&3+g243^R_N-CaS8~c2?O;`M0LdAAER)#P1z#=8*Nx`bdXTxR0mbFxSMT{weSI1 z`l$v!W*r~xa-NvF`<0y&6UZ_nBDcn;el&#W9Xmx)q)}nqw6)l|1nXEiVong44+_lX zs%Bv~vrIe=(!)p?XDeY&nwf#mD{9zNSeJX&^=%Ss;97TB9JXKmYaoTyM-1=$aP9uU z%UXN>2%M2~M-p5D3J7&g0MBp^Cvw`>xbm1bmml&2ow5T8l+1fS+T}d~h)45z?iXNM zQVY!DUG2_2*%7(x!xKMp*RXmdzxZR~1!2uQl3qoVcEiMNe=wH)bRuR_4`47o4g`Le z8_hd|CTdPAtC;mY(vst0W?Y;X4T@obj`bs99003X7_P+`1mz+lD~R*M-q?X5RqH$F z%|>tX(%duH2`c%$TzQml2At&G6kd7zT8;}$;~9r2w^9qMybTsqoR*Oh_}A~$0Wnhr z0G_1Cq1_WTZ)1H_L=}&*SN_!tU_&7DSJ&d1@59KQmpvjTlm@u#wAD|o0v2y)D`I{3 zgo<^`Psu}4RwyXv(?HQQy1Mr=J!pPV7sXqoA=c~g>18itDol8;PPHyyNiA!CvdtlP?`Zq*M%hwAe0#$rYCn=8Iy+Vm$7^Sr!9A0$ zm!7YorFC&8%dH{C4^?Pau(H+!(0ySx)b?f>N0}jS<93B&eEV40aJNO7Sc^~fX@Fgt zwfbB+T_fK|WQ(#ZoLg}Z8l^?ss;?&|+vBRH+X5Mzk)63n25!HyRmD+bbjJr5#8e@+ z^PpNpo`Wnt;M}=$+o!Rsoh|B!cQ1sT1Z)R5XY+^ukXMtTiaD^cZhkT|!w1&+`p4V# zcKLUX+DDFG&~fwF12zh1vf$MsQni(BW8~iLR^mr~D(@KDqXF#`t^h!D%sIXoPe4OG$&r?^Az5DmHiYN)U*!_yA2d;YymYhdz^*)PnyS{Hj`uOpiu+&- zqN@@w0X@PMKps&`Z`c{%{;+Wkq&FVrj8`B1ifd~-Pm-oRLt`pp;4v+h*WUe>u-E@W z+g{_qs0zx;JOE(gKt0>1oIxuf=ZTGnU&$T~m*bsquN&LOc+G+#nqSfML%jp`lW1

    mBkI*M^T;LNX8L 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űrIbnE%b@dbN+}ssj~bd%ie5W1FvjN~8u2 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�XjH4;0cwbWmyiQ~(ZuaULuCH@T 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 literal 203851 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%0A3G3yL1acIrPi8Q)n~$he*0UT%WnQ5= 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�hZBZ3mm6E`g(8gqCMj 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 diff --git a/e2e/FR15.e2e-spec.ts-snapshots/domain-with-options-chromium-linux.png b/e2e/FR15.e2e-spec.ts-snapshots/domain-with-options-chromium-linux.png index 491ccd8d7fc36823cae3f60e7f7819333af00360..48819fca15f13c9b8fa5d6990e98781a56e3f46d 100644 GIT binary patch literal 104380 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

    JIosh3%y;?2|l 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

    EED*>K)ZTHWy5ANNvj@8RI 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 bRK7 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 From d27b661d5c0342a4aed2c34a33fcc5d24b203a66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Mon, 11 Dec 2023 10:58:47 +0100 Subject: [PATCH 64/83] revert change of contact address --- package-lock.json | 4 ++-- src/assets/app.config.sample.json | 2 +- src/environments/common.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5390bbdb..b6a2c1ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "zonemaster-gui", - "version": "3.6.1", + "version": "4.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "zonemaster-gui", - "version": "3.6.1", + "version": "4.1.0", "license": "BSD-2-Clause", "dependencies": { "@angular/animations": "^13.3.11", diff --git a/src/assets/app.config.sample.json b/src/assets/app.config.sample.json index 8c764049..4166df6b 100644 --- a/src/assets/app.config.sample.json +++ b/src/assets/app.config.sample.json @@ -1,6 +1,6 @@ { "apiEndpoint": "/api", - "contactAddress": "zonemaster@zonemaster.net", + "contactAddress": "contact@zonemaster.net", "defaultLanguage": "en", "enabledLanguages": [ "da", "en", "es", "fi", "fr", "nb", "sv" ], "logoUrl": "assets/images/zonemaster_logo_2021_color.png", diff --git a/src/environments/common.ts b/src/environments/common.ts index f1b69cce..95aff299 100644 --- a/src/environments/common.ts +++ b/src/environments/common.ts @@ -2,7 +2,7 @@ // You can override those in environment configuration files export const common = { - contactAddress: 'zonemaster@zonemaster.net', + contactAddress: 'contact@zonemaster.net', logoUrl: 'assets/images/zonemaster_logo_2021_color.png', footerLogo: '', footerLogoAlt: '', From cd07762ce317ffbb072285f458ced4ea09d483bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Mon, 13 Nov 2023 14:44:46 +0100 Subject: [PATCH 65/83] make the special handling of unspecified messages case insensitive --- src/app/components/result/result.component.html | 2 +- src/app/components/result/result.component.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/app/components/result/result.component.html b/src/app/components/result/result.component.html index cbae3840..14b5bb09 100644 --- a/src/app/components/result/result.component.html +++ b/src/app/components/result/result.component.html @@ -188,7 +188,7 @@

    -
    +

    @@ -124,13 +135,13 @@

    Using Zonemaster

    How come my domain name cannot be tested?

    - There are several possibilities: + There are several possibilities.

    • Your domain name is not yet delegated.
    • Your domain name is not reachable from public Internet.
    • -
    • Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net')
    • -
    • There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters).
    • +
    • Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'.
    • +
    • There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters.
    • You have misspelled your domain name.
    @@ -140,7 +151,10 @@

    Using Zonemaster

    Zonemaster returns "Error" or "Warning" for my domain name. What does it mean?

    - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. +

    +

    + You can also get further insight about each test from the Test Case Specification documents.

    @@ -150,7 +164,10 @@

    Using Zonemaster

    What is an undelegated domain test?

    - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. +

    +

    + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of.

    @@ -190,8 +207,8 @@

    Using Zonemaster

    Examples:

      -
    • For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa
    • -
    • For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa
    • +
    • for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa;
    • +
    • for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa.
    diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 2d9ac9d4..5b56107b 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - Users who just want to know whether the domain name they own or use have any issues or not. - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of queries does Zonemaster generate? - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities: - There are several possibilities: + + There are several possibilities. + There are several possibilities. faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer @@ -716,66 +716,90 @@ Created on result test metadata - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - - It consists of several components: + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. faq answer - - Engine - a test framework that supports all functionality to perform DNS tests. + + Zonemaster consists of several modules or components: faq answer - - CLI - a command-line interface to the Engine. + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + CLI,a command-line interface to the Engine; faq answer - - GUI - a web interface to the Backend. + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; faq answer - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + GUI, a web interface to the Backend. faq answer - - Users who are knowledgable about the DNS protocol. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. faq answer - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + Zonemaster can be used to test undelegated domain names. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. faq answer @@ -812,4 +836,4 @@ - \ No newline at end of file + diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index 277e900f..e00a3031 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - Users who just want to know whether the domain name they own or use have any issues or not. - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of queries does Zonemaster generate? - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities: - There are several possibilities: + + There are several possibilities. + There are several possibilities. faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer @@ -716,66 +716,90 @@ Created on result test metadata - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - - It consists of several components: + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. faq answer - - Engine - a test framework that supports all functionality to perform DNS tests. + + Zonemaster consists of several modules or components: faq answer - - CLI - a command-line interface to the Engine. + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + CLI,a command-line interface to the Engine; faq answer - - GUI - a web interface to the Backend. + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; faq answer - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + GUI, a web interface to the Backend. faq answer - - Users who are knowledgable about the DNS protocol. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. faq answer - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + Zonemaster can be used to test undelegated domain names. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. faq answer @@ -812,4 +836,4 @@ - \ No newline at end of file + diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index 3a27a3a4..e2c69ad3 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - Users who just want to know whether the domain name they own or use have any issues or not. - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of queries does Zonemaster generate? - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities: - There are several possibilities: + + There are several possibilities. + There are several possibilities. faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer @@ -716,66 +716,90 @@ Created on result test metadata - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - - It consists of several components: + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. faq answer - - Engine - a test framework that supports all functionality to perform DNS tests. + + Zonemaster consists of several modules or components: faq answer - - CLI - a command-line interface to the Engine. + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + CLI,a command-line interface to the Engine; faq answer - - GUI - a web interface to the Backend. + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; faq answer - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + GUI, a web interface to the Backend. faq answer - - Users who are knowledgable about the DNS protocol. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. faq answer - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + Zonemaster can be used to test undelegated domain names. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. faq answer diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 0ef2c6ad..d8cbdb4c 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -440,10 +440,15 @@ faq answer Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». - - There are several possibilities: + + There are several possibilities. faq answer - Il y a plusieurs possibilités. + Il y a plusieurs possibilités. + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + faq answer + L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. @@ -455,21 +460,51 @@ faq response Zonemaster et vie privée + + CLI,a command-line interface to the Engine; + faq answer + CLI, une interface en ligne de commande à l'Engine ; + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. + How can Zonemaster distinguish between what is right and wrong? faq question Comment Zonemaster discerne-t-il le bon du mauvais ? - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + faq answer + Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + faq answer + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + faq answer + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. Using Zonemaster faq section header Utilisation de Zonemaster + + GUI, a web interface to the Backend. + faq answer + GUI, une interface web au Backend. + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer @@ -500,15 +535,25 @@ faq answer Votre domaine n'est pas encore délégué. - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + You can also get further insight about each test from the Test Case Specification documents. faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + faq answer + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). Source code @@ -525,6 +570,16 @@ faq header Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. + + Zonemaster consists of several modules or components: + faq answer + Zonemaster est constitué de plusieurs modules ou composants : + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + faq answer + Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. + How can Zonemaster help me? faq question @@ -540,15 +595,35 @@ faq response Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + faq answer + Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + What is Zonemaster? faq question Qu'est-ce que Zonemaster ? + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + faq answer + Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + faq answer + Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer @@ -559,10 +634,10 @@ faq question Zonemaster vérifie-t-il DNSSEC ? - - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. @@ -573,35 +648,55 @@ Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. - - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? faq question - Quel genre de requêtes Zonemaster génère-t-il ? + Quel genre de requêtes Zonemaster génère-t-il ? - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + faq answer + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. faq header Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. faq answer - pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. + + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + faq answer + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + faq answer + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + faq answer + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. Examples: @@ -613,10 +708,15 @@ faq answer Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster can be used to test undelegated domain names. faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster peut être utilisé pour tester des noms de domaines non délégués. + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + faq answer + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? @@ -628,6 +728,11 @@ faq answer Zonemaster peut aider différents types d'utilisateurs et utilisatrices : + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + faq answer + Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) + What is an undelegated domain test? faq answer @@ -728,100 +833,6 @@ result test metadata Créé le - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. - faq answer - - - It consists of several components: - faq answer - - - Engine - a test framework that supports all functionality to perform DNS tests. - faq answer - - - CLI - a command-line interface to the Engine. - faq answer - - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. - faq answer - - - GUI - a web interface to the Backend. - faq answer - - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. - faq answer - - - Users who are knowledgable about the DNS protocol. - faq answer - - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. - faq answer - - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - faq answer - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. - faq answer - - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. - faq answer - - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. - faq answer - - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. - faq answer - - - Show options - form options - - - Hide options - form options - - - Name of nameserver # - form label - - - Address of nameserver # - form label - - - Key tag of DS record # - form label - - - Algorithm of DS record # - form label - - - Digest type of DS record # - form label - - - Digest of DS record # - form label - - \ No newline at end of file + diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index 055b3a3b..307d5a9e 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - Users who just want to know whether the domain name they own or use have any issues or not. - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of queries does Zonemaster generate? - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities: - There are several possibilities: + + There are several possibilities. + There are several possibilities. faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer @@ -716,66 +716,90 @@ Created on result test metadata - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - - It consists of several components: + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. faq answer - - Engine - a test framework that supports all functionality to perform DNS tests. + + Zonemaster consists of several modules or components: faq answer - - CLI - a command-line interface to the Engine. + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + CLI,a command-line interface to the Engine; faq answer - - GUI - a web interface to the Backend. + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; faq answer - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + GUI, a web interface to the Backend. faq answer - - Users who are knowledgable about the DNS protocol. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. faq answer - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + Zonemaster can be used to test undelegated domain names. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. faq answer @@ -812,4 +836,4 @@ - \ No newline at end of file + diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index 2d5b90a1..eced44d8 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - Users who just want to know whether the domain name they own or use have any issues or not. - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. + users who want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of queries does Zonemaster generate? - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? + What kind of DNS queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities: - There are several possibilities: + + There are several possibilities. + There are several possibilities. faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer @@ -716,66 +716,90 @@ Created on result test metadata - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + + Zonemaster is a software package that validates the quality of a DNS delegation. faq answer - - It consists of several components: + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. faq answer - - Engine - a test framework that supports all functionality to perform DNS tests. + + Zonemaster consists of several modules or components: faq answer - - CLI - a command-line interface to the Engine. + + Engine, a test framework that supports all functionality to perform DNS tests; faq answer - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + + CLI,a command-line interface to the Engine; faq answer - - GUI - a web interface to the Backend. + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; faq answer - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + + GUI, a web interface to the Backend. faq answer - - Users who are knowledgable about the DNS protocol. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. faq answer - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; faq answer - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + Zonemaster can be used to test undelegated domain names. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + + Zonemaster can be used to test DS records before their publication in the parent zone. faq answer - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. faq answer - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. faq answer - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. faq answer @@ -812,4 +836,4 @@ - \ No newline at end of file + diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 16f275e4..a98663e9 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -729,7 +729,7 @@ Does Zonemaster support IPv6? src/app/components/faq/faq.component.html - 158,160 + 175,177 faq question @@ -737,7 +737,7 @@ Can I test the DS records before they are published? src/app/components/faq/faq.component.html - 176,178 + 193,195 faq question @@ -753,7 +753,7 @@ What makes Zonemaster different from other DNS zone validating software? src/app/components/faq/faq.component.html - 58,60 + 59,61 faq question @@ -761,15 +761,23 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". src/app/components/faq/faq.component.html - 188,190 + 205,207 faq answer - - There are several possibilities: + + There are several possibilities. src/app/components/faq/faq.component.html - 126,128 + 137,139 + + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + src/app/components/faq/faq.component.html + 20 faq answer @@ -777,7 +785,7 @@ Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. src/app/components/faq/faq.component.html - 170,172 + 187,189 faq answer @@ -785,23 +793,63 @@ Zonemaster and privacy src/app/components/faq/faq.component.html - 110,112 + 118,120 faq response + + CLI,a command-line interface to the Engine; + + src/app/components/faq/faq.component.html + 25 + + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + + src/app/components/faq/faq.component.html + 121,123 + + faq answer + How can Zonemaster distinguish between what is right and wrong? src/app/components/faq/faq.component.html - 80,82 + 82,84 faq question - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + src/app/components/faq/faq.component.html + 30 + + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + src/app/components/faq/faq.component.html + 85,87 + + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + src/app/components/faq/faq.component.html + 169,171 + + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. src/app/components/faq/faq.component.html - 152,154 + 72,74 faq answer @@ -809,15 +857,23 @@ Using Zonemaster src/app/components/faq/faq.component.html - 120 + 131 faq section header + + GUI, a web interface to the Backend. + + src/app/components/faq/faq.component.html + 27 + + faq answer + Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. src/app/components/faq/faq.component.html - 100,102 + 105,107 faq answer @@ -825,7 +881,7 @@ Who is behind Zonemaster? src/app/components/faq/faq.component.html - 33,35 + 34,36 faq question @@ -833,7 +889,7 @@ Users of the second category should contact their DNS operator in case there are errors or warnings for any test of their domain name. src/app/components/faq/faq.component.html - 54 + 55 faq answer @@ -841,7 +897,7 @@ Your domain name is not reachable from public Internet. src/app/components/faq/faq.component.html - 131 + 142 faq answer @@ -857,23 +913,39 @@ Your domain name is not yet delegated. src/app/components/faq/faq.component.html - 130 + 141 faq answer - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + You can also get further insight about each test from the Test Case Specification documents. src/app/components/faq/faq.component.html - 74,76 + 156,158 faq answer - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. src/app/components/faq/faq.component.html - 132 + 75,77 + + faq answer + + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + src/app/components/faq/faq.component.html + 143 + + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + + src/app/components/faq/faq.component.html + 111,113 faq answer @@ -889,7 +961,7 @@ How can I test a "reverse" zone with Zonemaster? src/app/components/faq/faq.component.html - 185,187 + 202,204 faq answer @@ -901,11 +973,27 @@ faq header + + Zonemaster consists of several modules or components: + + src/app/components/faq/faq.component.html + 22 + + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + src/app/components/faq/faq.component.html + 166,168 + + faq answer + How can Zonemaster help me? src/app/components/faq/faq.component.html - 43,45 + 44,46 faq question @@ -921,10 +1009,18 @@ Zonemaster returns "Error" or "Warning" for my domain name. What does it mean? src/app/components/faq/faq.component.html - 139,141 + 150,152 faq response + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + src/app/components/faq/faq.component.html + 26 + + faq answer + What is Zonemaster? @@ -933,6 +1029,22 @@ faq question + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + src/app/components/faq/faq.component.html + 51 + + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + src/app/components/faq/faq.component.html + 89,91 + + faq answer + Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. @@ -940,11 +1052,19 @@ 25,28 + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + + src/app/components/faq/faq.component.html + 108,110 + + faq answer + Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. src/app/components/faq/faq.component.html - 91,93 + 96,98 faq answer @@ -952,15 +1072,15 @@ Does Zonemaster verify DNSSEC? src/app/components/faq/faq.component.html - 167,169 + 184,186 faq question - - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. src/app/components/faq/faq.component.html - 51 + 52 faq answer @@ -968,7 +1088,7 @@ You have misspelled your domain name. src/app/components/faq/faq.component.html - 134 + 145 faq answer @@ -979,19 +1099,27 @@ 12,14 - - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? src/app/components/faq/faq.component.html - 97,99 + 102,104 faq question - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + src/app/components/faq/faq.component.html + 124,126 + + faq answer + + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. src/app/components/faq/faq.component.html - 62,64 + 63,65 faq answer @@ -1003,27 +1131,51 @@ faq header - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + Engine, a test framework that supports all functionality to perform DNS tests; + + src/app/components/faq/faq.component.html + 24 + + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + src/app/components/faq/faq.component.html + 153,155 + + faq answer + + + Zonemaster is a software package that validates the quality of a DNS delegation. src/app/components/faq/faq.component.html - 194 + 19 faq answer - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. src/app/components/faq/faq.component.html - 193 + 211 faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; src/app/components/faq/faq.component.html - 133 + 210 + + faq answer + + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + src/app/components/faq/faq.component.html + 144 faq answer @@ -1031,7 +1183,7 @@ Examples: src/app/components/faq/faq.component.html - 191 + 208 faq answer @@ -1039,15 +1191,23 @@ Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. src/app/components/faq/faq.component.html - 161,163 + 178,180 faq answer - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster can be used to test undelegated domain names. src/app/components/faq/faq.component.html - 37,39 + 69,71 + + faq answer + + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + src/app/components/faq/faq.component.html + 38,40 faq answer @@ -1055,7 +1215,7 @@ How come my domain name cannot be tested? src/app/components/faq/faq.component.html - 123,125 + 134,136 faq answer @@ -1063,7 +1223,15 @@ The Zonemaster tool could help different kind of users: src/app/components/faq/faq.component.html - 47 + 48 + + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + src/app/components/faq/faq.component.html + 66,67 faq answer @@ -1071,7 +1239,7 @@ What is an undelegated domain test? src/app/components/faq/faq.component.html - 149,151 + 163,165 faq answer @@ -1079,7 +1247,7 @@ Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. src/app/components/faq/faq.component.html - 179,181 + 196,198 faq answer @@ -1087,7 +1255,7 @@ https://www.afnic.fr/en/ src/app/components/faq/faq.component.html - 38 + 39 Afnic link @@ -1175,7 +1343,7 @@ https://internetstiftelsen.se/en/ src/app/components/faq/faq.component.html - 38 + 39 IIS link @@ -1191,7 +1359,7 @@ https://en.wikipedia.org/wiki/Request_for_Comments src/app/components/faq/faq.component.html - 84 + 86 RFC Wikipedia link @@ -1207,7 +1375,7 @@ The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. src/app/components/faq/faq.component.html - 87,89 + 92,94 faq answer @@ -1227,190 +1395,6 @@ result test metadata - - Users who are knowledgable about the DNS protocol. - - src/app/components/faq/faq.component.html - 50 - - faq answer - - - It consists of several components: - - src/app/components/faq/faq.component.html - 21 - - faq answer - - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. - - src/app/components/faq/faq.component.html - 142,144 - - faq answer - - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. - - src/app/components/faq/faq.component.html - 113,115 - - faq answer - - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. - - src/app/components/faq/faq.component.html - 29 - - faq answer - - - CLI - a command-line interface to the Engine. - - src/app/components/faq/faq.component.html - 24 - - faq answer - - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - src/app/components/faq/faq.component.html - 68,70 - - faq answer - - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. - - src/app/components/faq/faq.component.html - 103,105 - - faq answer - - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. - - src/app/components/faq/faq.component.html - 65,67 - - faq answer - - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. - - src/app/components/faq/faq.component.html - 19 - - faq answer - - - Engine - a test framework that supports all functionality to perform DNS tests. - - src/app/components/faq/faq.component.html - 23 - - faq answer - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. - - src/app/components/faq/faq.component.html - 83,85 - - faq answer - - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - src/app/components/faq/faq.component.html - 71,73 - - faq answer - - - GUI - a web interface to the Backend. - - src/app/components/faq/faq.component.html - 26 - - faq answer - - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. - - src/app/components/faq/faq.component.html - 25 - - faq answer - - - Name of nameserver # - - src/app/components/form/form.component.html - 87 - - form label - - - Key tag of DS record # - - src/app/components/form/form.component.html - 156 - - form label - - - Address of nameserver # - - src/app/components/form/form.component.html - 109 - - form label - - - Algorithm of DS record # - - src/app/components/form/form.component.html - 177 - - form label - - - Show options - - src/app/components/form/form.component.html - 56 - - form options - - - Digest type of DS record # - - src/app/components/form/form.component.html - 210 - - form label - - - Digest of DS record # - - src/app/components/form/form.component.html - 235 - - form label - - - Hide options - - src/app/components/form/form.component.html - 57 - - form options - - \ No newline at end of file + From 7ada22a0d4c60eb69785dac0c8472b88200e2b81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 7 Nov 2023 09:46:24 +0100 Subject: [PATCH 67/83] fix typo --- src/app/components/faq/faq.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index 190d9cd8..721ddd66 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -103,7 +103,7 @@

    General information

    What kind of DNS queries does Zonemaster generate?

    - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + Zonemaster sends multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name.

    The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. From f2a2b19f7ff9823f56ef6b34b079c05aed61862e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 10:37:18 +0100 Subject: [PATCH 68/83] minor updates --- src/app/components/faq/faq.component.html | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index 721ddd66..56eb7734 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -22,7 +22,7 @@

    General information

    Zonemaster consists of several modules or components:

    • Engine, a test framework that supports all functionality to perform DNS tests;
    • -
    • CLI,a command-line interface to the Engine;
    • +
    • CLI, a command-line interface to the Engine;
    • Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database;
    • GUI, a web interface to the Backend.
    @@ -64,7 +64,7 @@

    General information

    Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago.
  • - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents.
  • Zonemaster can be used to test undelegated domain names. @@ -90,7 +90,7 @@

    General information

    All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found.

    - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + The descriptions of message levels such as NOTICE, WARNING and ERROR are found in Severity Level Definitions.

    @@ -167,7 +167,10 @@

    Using Zonemaster

    An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS.

    - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. +

    +

    + When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of.

    @@ -176,7 +179,7 @@

    Using Zonemaster

    Does Zonemaster support IPv6?

    - Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Show options" button.

    @@ -194,7 +197,7 @@

    Using Zonemaster

    Can I test the DS records before they are published?

    - Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + Yes. Use the "Show options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone.

    From 90c367b19a809f7fae7be2da05624a7f6424aeda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 10:44:14 +0100 Subject: [PATCH 69/83] revert translation update --- src/locale/messages.da.xlf | 152 +++++++++------------ src/locale/messages.es.xlf | 152 +++++++++------------ src/locale/messages.fi.xlf | 150 +++++++++------------ src/locale/messages.fr.xlf | 267 ++++++++++++++++++------------------- src/locale/messages.nb.xlf | 152 +++++++++------------ src/locale/messages.sv.xlf | 152 +++++++++------------ src/locale/messages.xlf | 148 ++++++++++++++------ 7 files changed, 557 insertions(+), 616 deletions(-) diff --git a/src/locale/messages.da.xlf b/src/locale/messages.da.xlf index 5b56107b..2d9ac9d4 100644 --- a/src/locale/messages.da.xlf +++ b/src/locale/messages.da.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -716,90 +716,66 @@ Created on result test metadata - - Zonemaster is a software package that validates the quality of a DNS delegation. + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. faq answer - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + It consists of several components: faq answer - - Zonemaster consists of several modules or components: + + Engine - a test framework that supports all functionality to perform DNS tests. faq answer - - Engine, a test framework that supports all functionality to perform DNS tests; + + CLI - a command-line interface to the Engine. faq answer - - CLI,a command-line interface to the Engine; + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + GUI - a web interface to the Backend. faq answer - - GUI, a web interface to the Backend. + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. faq answer - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Users who are knowledgable about the DNS protocol. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Zonemaster can be used to test undelegated domain names. + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - Zonemaster can be used to test DS records before their publication in the parent zone. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer @@ -836,4 +812,4 @@ - + \ No newline at end of file diff --git a/src/locale/messages.es.xlf b/src/locale/messages.es.xlf index e00a3031..277e900f 100644 --- a/src/locale/messages.es.xlf +++ b/src/locale/messages.es.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -716,90 +716,66 @@ Created on result test metadata - - Zonemaster is a software package that validates the quality of a DNS delegation. + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. faq answer - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + It consists of several components: faq answer - - Zonemaster consists of several modules or components: + + Engine - a test framework that supports all functionality to perform DNS tests. faq answer - - Engine, a test framework that supports all functionality to perform DNS tests; + + CLI - a command-line interface to the Engine. faq answer - - CLI,a command-line interface to the Engine; + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + GUI - a web interface to the Backend. faq answer - - GUI, a web interface to the Backend. + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. faq answer - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Users who are knowledgable about the DNS protocol. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Zonemaster can be used to test undelegated domain names. + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - Zonemaster can be used to test DS records before their publication in the parent zone. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer @@ -836,4 +812,4 @@ - + \ No newline at end of file diff --git a/src/locale/messages.fi.xlf b/src/locale/messages.fi.xlf index e2c69ad3..3a27a3a4 100644 --- a/src/locale/messages.fi.xlf +++ b/src/locale/messages.fi.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -716,90 +716,66 @@ Created on result test metadata - - Zonemaster is a software package that validates the quality of a DNS delegation. + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. faq answer - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + It consists of several components: faq answer - - Zonemaster consists of several modules or components: + + Engine - a test framework that supports all functionality to perform DNS tests. faq answer - - Engine, a test framework that supports all functionality to perform DNS tests; + + CLI - a command-line interface to the Engine. faq answer - - CLI,a command-line interface to the Engine; + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + GUI - a web interface to the Backend. faq answer - - GUI, a web interface to the Backend. + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. faq answer - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Users who are knowledgable about the DNS protocol. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Zonemaster can be used to test undelegated domain names. + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - Zonemaster can be used to test DS records before their publication in the parent zone. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index d8cbdb4c..0ef2c6ad 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -440,15 +440,10 @@ faq answer Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». - - There are several possibilities. + + There are several possibilities: faq answer - Il y a plusieurs possibilités. - - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. - faq answer - L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. + Il y a plusieurs possibilités. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. @@ -460,51 +455,21 @@ faq response Zonemaster et vie privée - - CLI,a command-line interface to the Engine; - faq answer - CLI, une interface en ligne de commande à l'Engine ; - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. - How can Zonemaster distinguish between what is right and wrong? faq question Comment Zonemaster discerne-t-il le bon du mauvais ? - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. - faq answer - Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. - faq answer - Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. - - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. - - - Zonemaster can be used to test DS records before their publication in the parent zone. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer - Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. Using Zonemaster faq section header Utilisation de Zonemaster - - GUI, a web interface to the Backend. - faq answer - GUI, une interface web au Backend. - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer @@ -535,25 +500,15 @@ faq answer Votre domaine n'est pas encore délégué. - - You can also get further insight about each test from the Test Case Specification documents. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer - Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. - - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages « DEBUG ». Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir l'utilisation de l'interface en ligne de commandes (en anglais). + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». Source code @@ -570,16 +525,6 @@ faq header Trouvez ici les réponses aux questions les plus courantes sur Zonemaster. - - Zonemaster consists of several modules or components: - faq answer - Zonemaster est constitué de plusieurs modules ou composants : - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. - faq answer - Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. - How can Zonemaster help me? faq question @@ -595,35 +540,15 @@ faq response Zonemaster affiche des « Erreurs » ou « Avertissements » pour mon nom de domaine. Qu'est-ce que cela signifie ? - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - faq answer - Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; - What is Zonemaster? faq question Qu'est-ce que Zonemaster ? - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - faq answer - Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; - - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. - faq answer - Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. - Zonemaster performs many tests, such as checking DNSSEC signatures, or that different hosts can be accessed and that IP addresses are valid. This is all to make sure that your domain name runs as smoothly as possible. Zonemaster réalise plusieurs tests, tels que la vérification des signatures DNSSEC, ou que les différents serveurs sont accessibles et que les adresses IP sont valides. Tout cela pour s’assurer que votre nom de domaine fonctionne aussi bien que possible. - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster dotée des composants Engine et CLI. Référez-vous au document d'installation de la CLI (en anglais) pour plus d'information, ou si vous préférer, une image Docker est aussi disponible. - Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer @@ -634,10 +559,10 @@ faq question Zonemaster vérifie-t-il DNSSEC ? - - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. @@ -648,55 +573,35 @@ Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. - - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? faq question - Quel genre de requêtes Zonemaster génère-t-il ? + Quel genre de requêtes Zonemaster génère-t-il ? - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - Toutefois, comme zonemaster.net, comme d'autre instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. - - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. faq header Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. - - Engine, a test framework that supports all functionality to perform DNS tests; + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer - Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; - - Zonemaster is a software package that validates the quality of a DNS delegation. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer - Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. - - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - faq answer - pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. - - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - faq answer - pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; - - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. Examples: @@ -708,15 +613,10 @@ faq answer Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». - - Zonemaster can be used to test undelegated domain names. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer - Zonemaster peut être utilisé pour tester des noms de domaines non délégués. - - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? @@ -728,11 +628,6 @@ faq answer Zonemaster peut aider différents types d'utilisateurs et utilisatrices : - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents - faq answer - Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais) - What is an undelegated domain test? faq answer @@ -833,6 +728,100 @@ result test metadata Créé le + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + faq answer + + + It consists of several components: + faq answer + + + Engine - a test framework that supports all functionality to perform DNS tests. + faq answer + + + CLI - a command-line interface to the Engine. + faq answer + + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + faq answer + + + GUI - a web interface to the Backend. + faq answer + + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + faq answer + + + Users who are knowledgable about the DNS protocol. + faq answer + + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + faq answer + + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + faq answer + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + faq answer + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + faq answer + + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + faq answer + + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + faq answer + + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + faq answer + + + Show options + form options + + + Hide options + form options + + + Name of nameserver # + form label + + + Address of nameserver # + form label + + + Key tag of DS record # + form label + + + Algorithm of DS record # + form label + + + Digest type of DS record # + form label + + + Digest of DS record # + form label + - + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index 307d5a9e..055b3a3b 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -716,90 +716,66 @@ Created on result test metadata - - Zonemaster is a software package that validates the quality of a DNS delegation. + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. faq answer - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + It consists of several components: faq answer - - Zonemaster consists of several modules or components: + + Engine - a test framework that supports all functionality to perform DNS tests. faq answer - - Engine, a test framework that supports all functionality to perform DNS tests; + + CLI - a command-line interface to the Engine. faq answer - - CLI,a command-line interface to the Engine; + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + GUI - a web interface to the Backend. faq answer - - GUI, a web interface to the Backend. + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. faq answer - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Users who are knowledgable about the DNS protocol. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Zonemaster can be used to test undelegated domain names. + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - Zonemaster can be used to test DS records before their publication in the parent zone. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer @@ -836,4 +812,4 @@ - + \ No newline at end of file diff --git a/src/locale/messages.sv.xlf b/src/locale/messages.sv.xlf index eced44d8..2d5b90a1 100644 --- a/src/locale/messages.sv.xlf +++ b/src/locale/messages.sv.xlf @@ -443,9 +443,9 @@ Who is behind Zonemaster? faq question - - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. - Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. + + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer @@ -458,9 +458,9 @@ The Zonemaster tool could help different kind of users: faq answer - - users who want to know whether the domain name they own or use have any issues or not. - users who want to know whether the domain name they own or use have any issues or not. + + Users who just want to know whether the domain name they own or use have any issues or not. + Users who just want to know whether the domain name they own or use have any issues or not. faq answer @@ -473,14 +473,14 @@ What makes Zonemaster different from other DNS zone validating software? faq question - - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. - Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. - This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer @@ -493,9 +493,9 @@ Sometimes there are different interpretations of the standards or opinions on what is best practice, and the Zonemaster team is always open to input. If you think we have made a mistake in our judgement please do not hesitate to send us an email at zonemaster-users@lists.iis.se (moderated mailing list) with a link to your test result and an explanation as to why you think it shows something that you consider incorrect. faq answer - - What kind of DNS queries does Zonemaster generate? - What kind of DNS queries does Zonemaster generate? + + What kind of queries does Zonemaster generate? + What kind of queries does Zonemaster generate? faq question @@ -518,9 +518,9 @@ How come my domain name cannot be tested? faq answer - - There are several possibilities. - There are several possibilities. + + There are several possibilities: + There are several possibilities: faq answer @@ -533,14 +533,14 @@ Your domain name is not reachable from public Internet. faq answer - - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. - Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. + + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. - There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. + + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer @@ -558,9 +558,9 @@ What is an undelegated domain test? faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer @@ -608,14 +608,14 @@ Examples: faq answer - - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; - for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; + + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. - for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. + + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer @@ -716,90 +716,66 @@ Created on result test metadata - - Zonemaster is a software package that validates the quality of a DNS delegation. + + Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. faq answer - - The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + + It consists of several components: faq answer - - Zonemaster consists of several modules or components: + + Engine - a test framework that supports all functionality to perform DNS tests. faq answer - - Engine, a test framework that supports all functionality to perform DNS tests; + + CLI - a command-line interface to the Engine. faq answer - - CLI,a command-line interface to the Engine; + + Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + GUI - a web interface to the Backend. faq answer - - GUI, a web interface to the Backend. + + When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. faq answer - - The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + + Users who are knowledgable about the DNS protocol. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - - Zonemaster can be used to test undelegated domain names. + + Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - - Zonemaster can be used to test DS records before their publication in the parent zone. + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. faq answer - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + + The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. faq answer - - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + + Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. faq answer - - The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. - faq answer - - - Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - faq answer - - - Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. - faq answer - - - However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. - faq answer - - - It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. - faq answer - - - You can also get further insight about each test from the Test Case Specification documents. - faq answer - - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + + It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. faq answer @@ -836,4 +812,4 @@ - + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index a98663e9..382274e5 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -367,28 +367,28 @@ History information request is in progress. src/app/components/result/result.component.ts - 252 + 256 Module src/app/components/result/result.component.ts - 336 + 340 Level src/app/components/result/result.component.ts - 337 + 341 Message src/app/components/result/result.component.ts - 338 + 342 @@ -511,7 +511,7 @@ No previous tests found for this domain. src/app/components/result/result.component.ts - 257 + 261 @@ -729,7 +729,7 @@ Does Zonemaster support IPv6? src/app/components/faq/faq.component.html - 175,177 + 178,180 faq question @@ -737,7 +737,7 @@ Can I test the DS records before they are published? src/app/components/faq/faq.component.html - 193,195 + 196,198 faq question @@ -761,7 +761,7 @@ To check a reverse zone with Zonemaster, one first needs to know what the reverse zone is, and enter it in the format it has in the DNS. A reserve zone is obtained by reversing an IP address and adding a suffix. IPv4 addresses use the suffix "in-addr.arpa" while IPv6 addresses use "ip6.arpa". src/app/components/faq/faq.component.html - 205,207 + 208,210 faq answer @@ -785,7 +785,7 @@ Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. src/app/components/faq/faq.component.html - 187,189 + 190,192 faq answer @@ -797,8 +797,8 @@ faq response - - CLI,a command-line interface to the Engine; + + CLI, a command-line interface to the Engine; src/app/components/faq/faq.component.html 25 @@ -837,14 +837,6 @@ faq answer - - This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - - src/app/components/faq/faq.component.html - 169,171 - - faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. @@ -869,8 +861,8 @@ faq answer - - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + + Zonemaster sends multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. src/app/components/faq/faq.component.html 105,107 @@ -961,7 +953,7 @@ How can I test a "reverse" zone with Zonemaster? src/app/components/faq/faq.component.html - 202,204 + 205,207 faq answer @@ -1072,7 +1064,7 @@ Does Zonemaster verify DNSSEC? src/app/components/faq/faq.component.html - 184,186 + 187,189 faq question @@ -1159,7 +1151,7 @@ for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. src/app/components/faq/faq.component.html - 211 + 214 faq answer @@ -1167,7 +1159,7 @@ for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; src/app/components/faq/faq.component.html - 210 + 213 faq answer @@ -1183,15 +1175,15 @@ Examples: src/app/components/faq/faq.component.html - 208 + 211 faq answer - - Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Show options" button. src/app/components/faq/faq.component.html - 178,180 + 181,183 faq answer @@ -1227,11 +1219,11 @@ faq answer - - All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents. src/app/components/faq/faq.component.html - 66,67 + 66,68 faq answer @@ -1243,11 +1235,11 @@ faq answer - - Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + + Yes. Use the "Show options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. src/app/components/faq/faq.component.html - 196,198 + 199,201 faq answer @@ -1371,8 +1363,8 @@ result filter messages - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + The descriptions of message levels such as NOTICE, WARNING and ERROR are found in Severity Level Definitions. src/app/components/faq/faq.component.html 92,94 @@ -1395,6 +1387,86 @@ result test metadata + + Name of nameserver # + + src/app/components/form/form.component.html + 87 + + form label + + + Key tag of DS record # + + src/app/components/form/form.component.html + 156 + + form label + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. + + src/app/components/faq/faq.component.html + 169,171 + + faq answer + + + Address of nameserver # + + src/app/components/form/form.component.html + 109 + + form label + + + Algorithm of DS record # + + src/app/components/form/form.component.html + 177 + + form label + + + Show options + + src/app/components/form/form.component.html + 56 + + form options + + + When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + + src/app/components/faq/faq.component.html + 172,174 + + faq answer + + + Digest type of DS record # + + src/app/components/form/form.component.html + 210 + + form label + + + Digest of DS record # + + src/app/components/form/form.component.html + 235 + + form label + + + Hide options + + src/app/components/form/form.component.html + 57 + + form options + - + \ No newline at end of file From 8d9bbf99632ab5fb948ee7942d41d25e8c0766b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 10:58:37 +0100 Subject: [PATCH 70/83] fix faq links --- src/app/components/faq/faq.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index 56eb7734..d8aaa61c 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -67,10 +67,10 @@

    General information

    All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents.
  • - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names.
  • - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone.
  • This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. From a3c900b170bc0f19831280a943290b582c53ad00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 13:59:45 +0100 Subject: [PATCH 71/83] update translation source --- src/locale/messages.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 382274e5..494d9260 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -838,7 +838,7 @@ faq answer - Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster can be used to test DS records before their publication in the parent zone. src/app/components/faq/faq.component.html 72,74 @@ -1188,7 +1188,7 @@ faq answer - Zonemaster can be used to test undelegated domain names. + Zonemaster can be used to test undelegated domain names. src/app/components/faq/faq.component.html 69,71 From 77b66f7f2cc1380bf7ab7058559a82501eb7aa26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 15:08:13 +0100 Subject: [PATCH 72/83] update gui readme --- README.md | 112 +++++++++++++++++++++--------------------------------- 1 file changed, 44 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 5f020008..cbbc7ba2 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ -Zonemaster Web GUI [![Build Status](https://app.travis-ci.com/zonemaster/zonemaster-gui.svg?branch=master)](https://app.travis-ci.com/zonemaster/zonemaster-gui) -========== +# Zonemaster Web GUI [![CI status](https://github.com/zonemaster/zonemaster-gui/actions/workflows/ci.yml/badge.svg)](https://github.com/zonemaster/zonemaster-gui/actions/workflows/ci.yml) -### Purpose -This module is the Web Interface part of the Zonemaster project. -### Installation +### Purpose -Follow the detailed [installation instructions]. +This module is the Web Interface part of the Zonemaster project. For an +overview of the Zonemaster software, please see the [Zonemaster repository]. -##### Prerequisites +### Prerequisites Before you install the Zonemaster Web GUI module, you need the Zonemaster Engine test framework installed. Please see the [Zonemaster-Engine @@ -17,7 +15,11 @@ installation] document. You also need a running Zonemaster-Backend component. Please see the [Zonemaster-Backend installation] document. -##### Configuration +### Installation + +Follow the detailed [installation instructions]. + +### Configuration The configuration instructions for the backend can be found in the [Backend configuration] document. @@ -25,87 +27,60 @@ configuration] document. The configuration instructions for the GUI can be found in the [GUI configuration] document. +### Documentation + +There is a [public documentation]. Some more specific documents can be found in +the [docs directory](docs/). ### Contribution This project was generate with Angular-CLI 1.6.8 and then updating. It use the Angular 2+ framework with all its tools. -The source code of the application is available in ``./src/app`` folder. -The ``app`` folder is structured as follow : -``` -+-- components -+-- models -| +-- alter.ts : Alert model (level, message) -| +-- index.ts : module export -+-- pipes -| +-- filer.pipe.* : Filter a list based on a string -| +-- filer-by-categories.pipe.* : Filter the list of result by categories -| +-- romanize.pipe.* : Transform latin number to roman number (1 -> I, 2 -> II) -| +-- safe-html.pipe.* : Sanitize text to HTML -+-- services -| +-- alert.service.* : to display alert messages -| +-- app.service.* : to manage app configuration (api url, etc.) -| +-- dns-check.service.* : to communicate with the Zonemaster Backend API -+-- app.* -``` - -The ``components`` folder is composed of subfolders that represent the main components. -Each folder of component contain three files : - - ``*.component.css`` : The component's style - - ``*.component.html`` : The component's html - - ``*.component.ts`` : The component's typescript - -All assets are available in ``src/assets`` folder. -It's split by concern, all translation files are in the ``i18n`` folder, the style in the ``css``, -images are in the ``images`` folder, etc. - -The configurations files of the application are in the ``src/environments`` folder. -``environment.ts`` is use for development purpose, and the ``environment.prod.ts`` for production. +The source code of the application is available in `./src/app` folder. + +The `components` folder is composed of subfolders that represent the main +components. Each folder of component contain three files : + + * `*.component.css` : The component's style + * `*.component.html` : The component's html + * `*.component.ts` : The component's typescript + +All assets are available in `src/assets` folder. It's split by concern, the +style in the `css`, images are in the ``images`` folder, etc. + +All translation files are in the `src/locale` folder + +The environment defaults of the application are in the `src/environments` +folder. `environment.ts` is use for development purpose, the +`environment.prod.ts` for production, and the `environment.test.ts` for testing. In order to contribute + * Install [Nodejs](https://nodejs.org) * Fork the Zonemaster GUI repository on Github into your own user on Github. * Clone your fork to your working environment. * Go to the folder and install project dependencies with `npm install` -* Update environment files in `/src/environments/` to add a backend api endpoint (or leave the default) +* Update configuration files in `src/assets/app.config.json` to add a backend + api endpoint (or leave the default) * Make your changes, test them and push them to your fork on Github -* From your fork, make a Pull Request against the zonemaster/zonemaster-gui repository. -Please always make the Pull Request against the develop branch. - +* From your fork, make a Pull Request against the zonemaster/zonemaster-gui + repository. Please always make the Pull Request against the develop branch. * Thank you for your contribution! -> In development mode, you probably have to enable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) on your browser. -> The Cross-Origin Resource Sharing (CORS) performed by the browser blocks every AJAX request that does not match the exact host, protocol, and port of your site. - -##### Development server -Run `npm start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. - -##### Build -Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. -The script also change the FAQ markdown files to html files. - -##### Test -See [Testing](docs/Testing.md). +#### Development server -##### Create a release zip file -Run 'npm run release' to create a zip file with dist folder and zonemaster.conf file. Then upload it in github. +Run `npm start` for a dev server. Navigate to `http://localhost:4200/en`. The app will automatically reload if you change any of the source files. -### Documentation +#### Build -There is a [public documentation]. Some more specific documents can be found in -the [docs directory](docs/). +Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. -#### Security of our dependencies -Based on the output of [david](https://david-dm.org/) and [npm audit](https://docs.npmjs.com/cli/audit), we reguraly -update our dependencies with the latest secure version. Notice that we can't follow the rythm of new versions, so you could -get security warning during the installation of development dependencies. +#### Test -#### Acknowledge -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.6.8. +See [Testing](docs/Testing.md). -License -======= +## License This is free software under a 2-clause BSD license. The full text of the license can be found in the [LICENSE](LICENSE) file included in this respository. @@ -120,3 +95,4 @@ are taken from , [full license](https://undraw.co/license). [Public documentation]: https://github.com/zonemaster/zonemaster/blob/master/README.md#documentation [Zonemaster-Engine installation]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/installation/zonemaster-engine.md [Zonemaster-Backend installation]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/installation/zonemaster-backend.md +[Zonemaster repository]: https://github.com/zonemaster/zonemaster From 12440939cb781fb34abc47abbd2733be153aa613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:02:56 +0100 Subject: [PATCH 73/83] fix typo in faq --- src/app/components/faq/faq.component.html | 2 +- src/locale/messages.xlf | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index d8aaa61c..a1d6e40e 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -23,7 +23,7 @@

    General information

    • Engine, a test framework that supports all functionality to perform DNS tests;
    • CLI, a command-line interface to the Engine;
    • -
    • Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database;
    • +
    • Backend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database;
    • GUI, a web interface to the Backend.
    diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 494d9260..9468d6c9 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -1005,14 +1005,6 @@
    faq response
    - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - - src/app/components/faq/faq.component.html - 26 - - faq answer - What is Zonemaster? @@ -1467,6 +1459,14 @@ form options + + Backend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + + src/app/components/faq/faq.component.html + 26 + + faq answer + \ No newline at end of file From 23484fe7f5056ca71b6e9334fa86467e5e6bc644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:14:42 +0100 Subject: [PATCH 74/83] fix typo in faq --- src/app/components/faq/faq.component.html | 2 +- src/locale/messages.xlf | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app/components/faq/faq.component.html b/src/app/components/faq/faq.component.html index a1d6e40e..6677a5dd 100644 --- a/src/app/components/faq/faq.component.html +++ b/src/app/components/faq/faq.component.html @@ -48,7 +48,7 @@

    General information

    The Zonemaster tool could help different kind of users:

      -
    • DNS administrator, experts and beginners alike, who want to check their DNS configuration;
    • +
    • DNS administrators, experts and beginners alike, who want to check their DNS configuration;
    • users who want to know whether the domain name they own or use have any issues or not.
    diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 9468d6c9..8191273e 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -1013,14 +1013,6 @@ faq question - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; - - src/app/components/faq/faq.component.html - 51 - - faq answer - All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. @@ -1467,6 +1459,14 @@ faq answer + + DNS administrators, experts and beginners alike, who want to check their DNS configuration; + + src/app/components/faq/faq.component.html + 51 + + faq answer + \ No newline at end of file From 4a9a7ee2684972ac35b98f0a9e0d48ae4b7d01a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Mon, 15 Jan 2024 16:43:24 +0100 Subject: [PATCH 75/83] update french translation --- src/locale/messages.fr.xlf | 47 +++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 0ef2c6ad..14d7b86e 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -443,7 +443,7 @@ There are several possibilities: faq answer - Il y a plusieurs possibilités. + Il y a plusieurs possibilités. Yes. If DNSSEC is available for a domain name that is tested by Zonemaster, it will be checked automatically. @@ -463,7 +463,7 @@ An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. faq answer - Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. Using Zonemaster @@ -503,12 +503,12 @@ Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') faq answer - Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». + Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». Source code @@ -562,7 +562,7 @@ Users who just want to know whether the domain name they own or use have any issues or not. faq answer - les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + Les utilisateurs souhaitant simplement savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. @@ -576,12 +576,12 @@ What kind of queries does Zonemaster generate? faq question - Quel genre de requêtes Zonemaster génère-t-il ? + Quel genre de requêtes Zonemaster génère-t-il ? Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a juste un instant. + Premièrement, Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. @@ -591,17 +591,17 @@ For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa faq answer - pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + Pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa faq answer - pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + Pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). faq answer - Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. + Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. Examples: @@ -616,7 +616,7 @@ Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). faq answer - Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». + Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». How come my domain name cannot be tested? @@ -730,96 +730,117 @@ Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. + Zonemaster est un programme conçu pour aider à vérifier, mesurer et peut-être aussi aider à la compréhension du fonctionnement du DNS (Domain Name System). faq answer It consists of several components: + Il est constitué de plusieurs composants : faq answer Engine - a test framework that supports all functionality to perform DNS tests. + Engine (moteur) - un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; faq answer CLI - a command-line interface to the Engine. + CLI - une interface en ligne de commande pour le moteur ; faq answer Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. + Backend - un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; faq answer GUI - a web interface to the Backend. + GUI - une interface graphique (Web) pour le Backend. faq answer When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. + Lorsqu'un nom de domaine (comme « zonemaster.net ») est soumis à Zonemaster (par l'interface en ligne de commande ou l'interface graphique), ce dernier vérifie l'état de santé général du nom de domaine à l'aide d'une série de tests. L'ensemble des tests réalisés par Zonemaster est décrit dans le document intitulé Defined Test Cases (« cas de tests définis », document rédigé en anglais). faq answer Users who are knowledgable about the DNS protocol. + Les utilisateurs ayant une bonne connaissance du protocole DNS ; faq answer Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. + Deuxièmement, tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans le document intitulé Defined Test Cases. faq answer Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. faq answer - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. + Troisièmement, Zonemaster peut être utilisé pour tester des zones non déléguées. Voir Question 12. Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. faq answer - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. + Quatrièmement, Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente (un prérequis pour l'activation de DNSSEC dans une zone signée). Voir Question 13. The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. + Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. faq answer The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. + L'interface graphique de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster doté des composants Engine et CLI (une image Docker est également disponible). Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages 'DEBUG'. Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir Utilisation de l'interface en ligne de commandes (document rédigé en anglais). faq answer Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. + Puisque Zonemaster.net est accessible à tous, n'importe qui peut vérifier votre nom de domaine et consulter son historique de tests. Toutefois, il n'est pas possible de savoir qui a réalisé ces tests, car seuls les paramètres et les résultats du test sont conservés. En particulier, aucun cookie et aucune information sur l'adresse IP de l'utilisateur ne sont conservés dans la base de données. L'initiateur d'un test ne peut pas être retrouvé à partir des informations dans la base de données. faq answer It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document intitulé DDefined Test Cases. faq answer Show options + Afficher les options form options Hide options + Cacher les options form options Name of nameserver # + Nom du serveur de noms # form label Address of nameserver # + Adresse du serveur de noms # form label Key tag of DS record # + Identifiant de la clé de l'enregistrement DS # form label Algorithm of DS record # + Algorithme de l'enregistrement DS # form label Digest type of DS record # + Type de condensat de l'enregistrement DS # form label Digest of DS record # + Condensat de l'enregistrement DS # form label From 212e802d42cc0dc11abd696ae79c96fb721e7eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Tue, 16 Jan 2024 09:34:32 +0100 Subject: [PATCH 76/83] fix bad copy/paste --- src/locale/messages.fr.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 14d7b86e..869f96c6 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -785,7 +785,7 @@ The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFC. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. faq answer From 72ec996fc152ea607d082d8ecace87c9520c80a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Thu, 18 Jan 2024 14:00:52 +0100 Subject: [PATCH 77/83] update french translation --- src/locale/messages.fr.xlf | 267 +++++++++++++++++++++---------------- 1 file changed, 151 insertions(+), 116 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 869f96c6..9d87dcdd 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -440,8 +440,8 @@ faq answer Pour tester une zone inverse, il faut d'abord déterminer le nom de la zone inverse, puis la saisir dans le format qu'elle a dans le DNS. Une zone inverse s'obtient en inversant une adresse IP et en ajoutant un suffixe. Les adresses IPv4 utilisent le suffixe « in-addr.arpa » tandis que les adresses IPv6 utilisent « ip6.arpa ». - - There are several possibilities: + + There are several possibilities. faq answer Il y a plusieurs possibilités. @@ -460,18 +460,13 @@ faq question Comment Zonemaster discerne-t-il le bon du mauvais ? - - An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. This can be quite useful if one is going to migrate one's domain from one registrar to another, e.g., migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. - faq answer - Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. - Using Zonemaster faq section header Utilisation de Zonemaster - - Zonemaster send multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. + + Zonemaster sends multiple DNS queries to the name servers hosting the domain name being tested and also to the name servers hosting the parent zone of that domain name. faq answer Zonemaster envoie plusieurs requêtes DNS aux serveurs de noms hébergeant le nom de domaine à tester ainsi qu'aux serveurs de noms hébergeant la zone parente du même nom de domaine. @@ -500,13 +495,13 @@ faq answer Votre domaine n'est pas encore délégué. - - Lastly, this open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. + + This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. - - Zonemaster can only test what is called a DNS zone (e.g. 'zonemaster.net') and not host names (e.g. 'www.zonemaster.net') + + Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. faq answer Zonemaster peut seulement tester ce qu'on appelle une zone DNS, par exemple « zonemaster.net », et non pas les noms d'hôte, comme « www.zonemaster.net ». @@ -559,10 +554,10 @@ faq question Zonemaster vérifie-t-il DNSSEC ? - - Users who just want to know whether the domain name they own or use have any issues or not. + + users who want to know whether the domain name they own or use have any issues or not. faq answer - Les utilisateurs souhaitant simplement savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. + les utilisateurs et utilisatrices souhaitant savoir si les noms de domaine qu'ils possèdent ou utilisent ont des problèmes. You have misspelled your domain name. @@ -573,33 +568,33 @@ Give your domain name a complete checkup! Zonemaster helps you assess how your domain name is doing. Donnez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l’état de votre nom de domaine. - - What kind of queries does Zonemaster generate? + + What kind of DNS queries does Zonemaster generate? faq question - Quel genre de requêtes Zonemaster génère-t-il ? + Quel genre de requêtes DNS Zonemaster génère-t-il ? - - Firstly, Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. + + Zonemaster saves all history from earlier tests based on the tested domain name, which means you can go back to a test you did some time ago and compare it to the test you ran just a moment ago. faq answer - Premièrement, Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a un instant. + Zonemaster conserve tout l'historique des tests réalisés sur un nom de domaine, ce qui signifie que vous pouvez revenir en arrière pour comparer les résultats d'un test remontant à un certain temps et ceux d'un test que vous avez lancé il y a un instant. You still don't find the information you are looking for? You can contact the Zonemaster project team using the user mailing list, the issue tracker or the contact e-mail address. faq header Vous ne trouvez pas l'information que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la liste de diffusion pour les utilisateurs et utilisatrices, le gestionnaire de tickets ou l'adresse de couriel de contact. - - For IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa + + for IPv6 prefix '2001:db8::/32': 8.b.d.0.1.0.0.2.ip6.arpa. faq answer - Pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. + pour le préfixe IPv6 « 2001:db8::/32 » : 8.b.d.0.1.0.0.2.ip6.arpa. - - For IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa + + for IPv4 prefix '198.51.100.0/24': 100.51.198.in-addr.arpa; faq answer - Pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; + pour le préfixe IPv4 « 198.51.100.0/24 » : 100.51.198.in-addr.arpa ; - - There is a 10 minutes protection between consecutive tests for a given domain name (with same test parameters). Running a test within that window will instead show the last available test for that domain name (and parameters). + + There is a 10 minutes protection between consecutive tests for a given domain name, with same test parameters. Running a test within that window will instead show the last available test for that domain name, and parameters. faq answer Il y a une temporisation de dix minutes entre deux tests consécutifs d'un même nom de domaine, avec les mêmes paramètres de test. Lancer un second test dans cette fenêtre de temps donnera les résultats du dernier test effectué pour ce nom de domaine et ces paramètres, au lieu d'un nouveau test. @@ -608,13 +603,13 @@ faq answer Exemple : - - Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Options" button. + + Yes. By default Zonemaster will query name servers both over IPv4 and IPv6, unless explicitly configured otherwise. Such configuration is accessible through the "Show options" button. faq answer - Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Options ». + Oui. Par défaut, Zonemaster interroge les serveurs de noms aussi bien en IPv4 qu'en IPv6, sauf si un paramètre de configuration prescrit le contraire. De tels paramètres de configuration sont accessibles en utilisant le bouton « Afficher les options ». - - Zonemaster is a joint project between AFNIC (registry of '.fr' TLD and several other TLDs, e.g. '.re', '.pm', '.tf', '.wf', '.yt' and '.paris') and The Swedish Internet Foundation (registry of '.se' and '.nu' TLDs). + + Zonemaster is a joint project between AFNIC, the registry of '.fr' TLD and several other TLDs like '.re', '.pm', '.tf', '.wf', '.yt' and '.paris', and The Swedish Internet Foundation, the registry of '.se' and '.nu' TLDs. faq answer Zonemaster est un projet conjoint entre l'Afnic, registre du TLD « .fr » ainsi que d'autres TLD, comme « .re », « .pm », « .tf », « .wf », « .yt » et « .paris » et The Swedish Internet Foundation, registre des TLD « .se » et « .nu ». @@ -633,10 +628,10 @@ faq answer Qu'est-ce qu'un test sur un nom de domaine non délégué ? - - Yes. Use the "Options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. + + Yes. Use the "Show options" button and there add the Delegation Signer (DS) records to be tested. Zonemaster will then use those in the same way as if they were already added in the parent zone. faq answer - Oui. Pour cela, utilisez le bouton « Options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. + Oui. Pour cela, utilisez le bouton « Afficher les options » et ajoutez-y les enregistrements DS à tester. Zonemaster utilisera ces entrées-là comme si elles avaient déjà été ajoutées dans la zone parente. https://www.afnic.fr/en/ @@ -713,10 +708,10 @@ result filter messages Déplier tous les modules - - The descriptions of message levels such as notice, warning and error are found in Severity Level Definitions. + + The descriptions of message levels such as NOTICE, WARNING and ERROR are found in Severity Level Definitions. faq answer - Les descriptions de niveaux de messages comme notice, avertissement et erreur se trouvent dans le document de définition des niveaux de sévérités (en anglais). + Les descriptions de niveaux de messages comme Notice, Avertissement et Erreur se trouvent dans le document de définition des niveaux de sévérités (en anglais). Test result for @@ -728,81 +723,6 @@ result test metadata Créé le - - Zonemaster is a program designed to help people check, measure and hopefully also understand how the DNS (Domain Name System) works. - Zonemaster est un programme conçu pour aider à vérifier, mesurer et peut-être aussi aider à la compréhension du fonctionnement du DNS (Domain Name System). - faq answer - - - It consists of several components: - Il est constitué de plusieurs composants : - faq answer - - - Engine - a test framework that supports all functionality to perform DNS tests. - Engine (moteur) - un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; - faq answer - - - CLI - a command-line interface to the Engine. - CLI - une interface en ligne de commande pour le moteur ; - faq answer - - - Bakend - a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database. - Backend - un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; - faq answer - - - GUI - a web interface to the Backend. - GUI - une interface graphique (Web) pour le Backend. - faq answer - - - When a domain name (such as 'zonemaster.net') is submitted to Zonemaster (using CLI or GUI), it will verify the domain name’s general health with a series of tests. The tests conducted by Zonemaster can be found in the Defined Test Cases document. - Lorsqu'un nom de domaine (comme « zonemaster.net ») est soumis à Zonemaster (par l'interface en ligne de commande ou l'interface graphique), ce dernier vérifie l'état de santé général du nom de domaine à l'aide d'une série de tests. L'ensemble des tests réalisés par Zonemaster est décrit dans le document intitulé Defined Test Cases (« cas de tests définis », document rédigé en anglais). - faq answer - - - Users who are knowledgable about the DNS protocol. - Les utilisateurs ayant une bonne connaissance du protocole DNS ; - faq answer - - - Secondly, all tests that Zonemaster runs are defined in Test Case specifications that can be found in the Defined Test Cases document. - Deuxièmement, tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans le document intitulé Defined Test Cases. - faq answer - - - Thirdly, Zonemaster can be used to test undelegated domain names. See Question 12. - faq answer - Troisièmement, Zonemaster peut être utilisé pour tester des zones non déléguées. Voir Question 12. - - - Fourthly, Zonemaster can be used to test DS records before their publication in the parent zone (which is required to enable DNSSEC for a signed zone). See Question 13. - faq answer - Quatrièmement, Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente (un prérequis pour l'activation de DNSSEC dans une zone signée). Voir Question 13. - - - The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. All Zonemaster tests are defined in Test Case Specifications in which the references to the standard documents for that test case are found. - Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFC. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. Tous les tests de Zonemaster sont définis dans des spécifications de cas de test, dans lesquels vous pourrez trouver les références aux documents normatifs pour un cas de test donné. - faq answer - - - The GUI interface of Zonemaster does not show any queries sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components (a Docker image is also available). Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see Using The CLI. - L'interface graphique de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster doté des composants Engine et CLI (une image Docker est également disponible). Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages 'DEBUG'. Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, voir Utilisation de l'interface en ligne de commandes (document rédigé en anglais). - faq answer - - - Since Zonemaster.net is open to everyone it is possible for anyone to check your domain and its history of tests. However there is no way to tell who has run a specific test since nothing more than the test parameters and results are stored. Specifically, no cookies or information on the user's IP address is stored in the database. The user who initiated the test cannot be traced back from the information in the database. - Puisque Zonemaster.net est accessible à tous, n'importe qui peut vérifier votre nom de domaine et consulter son historique de tests. Toutefois, il n'est pas possible de savoir qui a réalisé ces tests, car seuls les paramètres et les résultats du test sont conservés. En particulier, aucun cookie et aucune information sur l'adresse IP de l'utilisateur ne sont conservés dans la base de données. L'initiateur d'un test ne peut pas être retrouvé à partir des informations dans la base de données. - faq answer - - - It depends on which test failed for your domain name. Each test are accompanied with one or several messages describing the issues found. You can also get further insight about each test from the Defined Test Cases document. - Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document intitulé DDefined Test Cases. - faq answer - Show options Afficher les options @@ -843,6 +763,121 @@ Condensat de l'enregistrement DS # form label + + Zonemaster is a software package that validates the quality of a DNS delegation. + Zonemaster est un logiciel qui valide la qualité d'une délégation DNS. + faq answer + + + The ambition of the Zonemaster project is to develop and maintain an open source DNS validation tool, offering improved performance over existing tools and providing extensive documentation which could be re-used by similar projects in the future. + L'ambition du projet Zonemaster est de développer et de maintenir un outil de validation DNS open source, offrant des performances améliorées par rapport aux outils existants et fournissant une documentation complète qui pourrait être réutilisée par des projets similaires à l'avenir. + faq answer + + + Zonemaster consists of several modules or components: + Zonemaster consists of several modules or components: + faq answer + + + Engine, a test framework that supports all functionality to perform DNS tests; + Engine, un cadriciel de tests prenant en charge toutes les fonctionnalités pour les tests DNS ; + faq answer + + + CLI, a command-line interface to the Engine; + CLI, une interface en ligne de commande à l'Engine ; + faq answer + + + Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + faq answer + + + GUI, a web interface to the Backend. + GUI, une interface web au Backend. + faq answer + + + The components will help different types of users to check domain servers for configuration errors and generate a report that will assist in fixing the errors. + Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. + faq answer + + + DNS administrator, experts and beginners alike, who want to check their DNS configuration; + Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; + faq answer + + + All tests that Zonemaster runs are defined in the Test Case Specification documents that can be found in the Test Case Specification documents. + Tous les tests qu'effectue Zonemaster sont définis dans des spécifications de cas de test, qui se trouvent dans les documents de spécifications de cas de test (en anglais). + faq answer + + + Zonemaster can be used to test undelegated domain names. + Zonemaster peut être utilisé pour tester des noms de domaines non délégués. + faq answer + + + Zonemaster can be used to test DS records before their publication in the parent zone. + Zonemaster peut être utilisé pour tester des enregistrements DS avant leur publication dans la zone parente. + faq answer + + + The judgement of Zonemaster is primarily based on the DNS standards as defined in RFCs. It also bases its judgement on DNS best practices, which can be more loosely defined. + Le jugement de Zonemaster repose principalement sur les normes techniques du DNS telles qu'elles sont définies dans les RFCs. Le jugement est également fondé sur les bonnes pratiques du DNS, dont la définition est moins stricte. + faq answer + + + All Zonemaster tests are defined in the Test Case Specification documents in which the references to the standard documents for each test case are found. + Tous les tests de Zonemaster sont définis dans les documents de spécifications de cas de test (en anglais), dans lesquels vous pourrez trouver les références aux documents normatifs pour chaque cas de test. + faq answer + + + The web interface of Zonemaster does not show the queries that were sent, only the CLI interface can. If you want to see such queries, you will have to locally install a minimally working Zonemaster instance with both the Engine and CLI components. See the CLI installation document for more information, or if you prefer a Docker image is also available. + L'interface web de Zonemaster n'affiche pas les requêtes envoyées, seule l'interface en ligne de commande en est capable. Si vous souhaitez voir ces requêtes, vous devez installer localement une instance minimale et fonctionnelle de Zonemaster doté des composants Engine et CLI. Vous pouvez consulter le document d'installation de la CLI (en anglais) pour plus d'information, ou, si vous préférez, une image Docker est aussi disponible. + faq answer + + + Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. + es requêtes envoyées peuvent être affichées avec l'option de niveau de messages 'DEBUG'. Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, consulter la documentation d'utilisation de l'interface en ligne de commandes (en anglais). + faq answer + + + Nothing besides the test domain, other test parameters and the result is stored in the database. Specifically we do not store any information that could link a test to the user who initiated it. + Rien hormis le domaine du test, les autres paramètres du test et le résultat n'est stocké dans la base de données. En particulier, nous ne stockons aucune information qui pourrait lier un test à la personne qui l'a initié. + faq answer + + + However, since zonemaster.net, like other public instances, is open to everyone, it is possible for anyone to test your domain and view its history of tests. + Toutefois, comme zonemaster.net, comme d'autres instances publiques, est accessible à tout le monde, n'importe qui peut tester votre domaine et consulter son historique de tests. + faq answer + + + It depends on which test failed for your domain name. Each test is accompanied with one or several messages describing the issues found. + Cela dépend du test ayant échoué pour votre nom de domaine. Chaque test est accompagné d'un ou plusieurs messages décrivant les problèmes qui ont été trouvés. + faq answer + + + You can also get further insight about each test from the Test Case Specification documents. + Vous pouvez également trouver des détails supplémentaires sur chaque test dans le document de spécification des cas de tests (en anglais). + faq answer + + + An undelegated domain test is a test performed on a domain name that may, or may not, be fully published in the DNS. + Un test sur un nom de domaine non délégué est un test effectué sur un nom de domaine qui peut ne pas être entièrement publié dans le DNS. + faq answer + + + This can be quite useful if one is going to migrate one's domain from one registrar to another, for example, migrate zone 'example.com' from the name server 'ns.example.com' to the name server 'ns.example.org'. In this scenario one could perform an undelegated domain test providing the zone ('example.com') and the name server you are migrating to ('ns.example.org') before you migrate your domain. + Ce type de test peut être très utile lorsqu'on est en train de migrer un domaine d'un bureau d'enregistrement vers un autre, par exemple lorsqu'on migre la zone « example.com » du serveur de noms « ns.example.com » vers le serveur de noms « ns.example.org ». Dans ce cas de figure, on pourrait effectuer un test sur un nom de domaine non délégué, en fournissant la zone (« example.com ») et le serveur de noms vers lequel on migre (« ns.example.org ») avant de migrer le domaine. + faq answer + + + When the results of the test doesn't show any errors or warnings one can be fairly certain that the domain's new location is working well. However there might still be other problems in the zone data itself that this test is unaware of. + Si le résultat du test ne comporte aucune erreur ni avertissement, on peut être relativement certain que le nouvel emplacement du domaine fonctionne bien. Mais cela n'exclut pas l'existence d'autres problèmes dans les données elles-mêmes de la zone que ce test n'aurait pas décelés. + faq answer + \ No newline at end of file From 90895ac980f3e8f2cb09d131326449a5e5f86590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:12:07 +0100 Subject: [PATCH 78/83] update faq translation --- src/locale/messages.fr.xlf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 9d87dcdd..df75b575 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -775,7 +775,7 @@ Zonemaster consists of several modules or components: - Zonemaster consists of several modules or components: + Zonemaster est composé de plusieurs modules ou composants : faq answer @@ -788,9 +788,9 @@ CLI, une interface en ligne de commande à l'Engine ; faq answer - - Bakend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Bakend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + + Backend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; + Backend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; faq answer @@ -840,7 +840,7 @@ Queries sent can be shown using the 'DEBUG' level option. Fair warning, the output from the CLI can be quite heavy. For more information see CLI usage documentation. - es requêtes envoyées peuvent être affichées avec l'option de niveau de messages 'DEBUG'. Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, consulter la documentation d'utilisation de l'interface en ligne de commandes (en anglais). + Les requêtes envoyées peuvent être affichées avec l'option de niveau de messages 'DEBUG'. Attention, la quantité de données affichées par l'interface en ligne de commande peut être très volumineuse. Pour plus d'informations, consulter la documentation d'utilisation de l'interface en ligne de commandes (en anglais). faq answer @@ -880,4 +880,4 @@ - \ No newline at end of file + From 85f3280bbbfd4945e9b472e33fae8d5609635a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:20:56 +0100 Subject: [PATCH 79/83] update faq source messages in fr translation --- src/locale/messages.fr.xlf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index df75b575..57bd8e29 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -775,7 +775,7 @@ Zonemaster consists of several modules or components: - Zonemaster est composé de plusieurs modules ou composants : + Zonemaster est composé de plusieurs modules ou composants : faq answer @@ -790,7 +790,7 @@ Backend, a server that allows you to run Zonemaster tests and save results using a JSON-RPC API and a database; - Backend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; + Backend, un serveur permettant l'exécution de tests et la sauvegarde de résultats au moyen d'une API JSON-RPC et d'une base de données ; faq answer @@ -803,8 +803,8 @@ Ces composants aideront différents types d'utilisateurs et utilisatrices à vérifier les erreurs de configuration des serveurs de domaine et à générer un rapport qui aidera à corriger les erreurs. faq answer - - DNS administrator, experts and beginners alike, who want to check their DNS configuration; + + DNS administrators, experts and beginners alike, who want to check their DNS configuration; Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; faq answer From 2a1ee77fb8366549fe3b6d450b5a38564bc82be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:47:07 +0100 Subject: [PATCH 80/83] update readme --- README.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index cbbc7ba2..f81e03ec 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Follow the detailed [installation instructions]. ### Configuration -The configuration instructions for the backend can be found in the [Backend +The configuration instructions for the Backend can be found in the [Backend configuration] document. The configuration instructions for the GUI can be found in the [GUI @@ -34,35 +34,35 @@ the [docs directory](docs/). ### Contribution -This project was generate with Angular-CLI 1.6.8 and then updating. -It use the Angular 2+ framework with all its tools. +This project was generated with Angular-CLI 1.6.8. +It uses the Angular 2+ framework with all its tools. The source code of the application is available in `./src/app` folder. The `components` folder is composed of subfolders that represent the main -components. Each folder of component contain three files : +components. Each folder of component contain three files: - * `*.component.css` : The component's style - * `*.component.html` : The component's html - * `*.component.ts` : The component's typescript + * `*.component.css`: the component's style configuration; + * `*.component.html`: the component's HTML code; + * `*.component.ts`: the component's TypeScript code. -All assets are available in `src/assets` folder. It's split by concern, the -style in the `css`, images are in the ``images`` folder, etc. +All assets are available in the `src/assets` folder. It is split by concern; +the style configurations are in the `css`, images are in the `images` folder, etc. -All translation files are in the `src/locale` folder +All translation files are in the `src/locale` folder. The environment defaults of the application are in the `src/environments` -folder. `environment.ts` is use for development purpose, the +folder. `environment.ts` is used for development purposes, the `environment.prod.ts` for production, and the `environment.test.ts` for testing. -In order to contribute +In order to contribute: * Install [Nodejs](https://nodejs.org) * Fork the Zonemaster GUI repository on Github into your own user on Github. * Clone your fork to your working environment. * Go to the folder and install project dependencies with `npm install` -* Update configuration files in `src/assets/app.config.json` to add a backend - api endpoint (or leave the default) +* Update configuration files in `src/assets/app.config.json` to add a Backend + API endpoint (or leave the default) * Make your changes, test them and push them to your fork on Github * From your fork, make a Pull Request against the zonemaster/zonemaster-gui repository. Please always make the Pull Request against the develop branch. @@ -70,7 +70,8 @@ In order to contribute #### Development server -Run `npm start` for a dev server. Navigate to `http://localhost:4200/en`. The app will automatically reload if you change any of the source files. +Run `npm start` for a dev server. Navigate to `http://localhost:4200/en`. +The app will automatically reload if you change any of the source files. #### Build @@ -92,7 +93,7 @@ are taken from , [full license](https://undraw.co/license). [Backend Configuration]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/configuration/backend.md [GUI Configuration]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/configuration/gui.md [Installation instructions]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/installation/zonemaster-gui.md -[Public documentation]: https://github.com/zonemaster/zonemaster/blob/master/README.md#documentation +[Public documentation]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/README.md [Zonemaster-Engine installation]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/installation/zonemaster-engine.md [Zonemaster-Backend installation]: https://github.com/zonemaster/zonemaster/blob/master/docs/public/installation/zonemaster-backend.md [Zonemaster repository]: https://github.com/zonemaster/zonemaster From 7c9562b4e10fdc998b7c6aa28abfad68e0a113dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Berthaud-M=C3=BCller?= Date: Wed, 24 Jan 2024 10:55:23 +0100 Subject: [PATCH 81/83] improve fr translation --- src/locale/messages.fr.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 57bd8e29..e16a5e91 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -498,7 +498,7 @@ This open source version of Zonemaster was built using modular code which basically means that you can integrate parts of it in your own systems, if you wish. For example, it is quite rare that you would want a complete program just to check for redelegations. faq answer - Enfin, cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. + Cette version « open source » de Zonemaster a été écrite de manière modulaire, ce qui signifie en résumé qu'il est possible d'intégrer des parties de Zonemaster dans vos propres systèmes, si vous le souhaitez. Par exemple, on souhaite rarement utiliser un logiciel complet juste pour vérifier des redélégations. Zonemaster can only test what is called a DNS zone, for example 'zonemaster.net', and not host names, like 'www.zonemaster.net'. @@ -805,7 +805,7 @@ DNS administrators, experts and beginners alike, who want to check their DNS configuration; - Administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; + les administrateurs et administratrices DNS, expertes comme débutants, qui veulent vérifier leur configuration DNS ; faq answer From 14ae607236949b7ddf6c2c77083aeeb5860e8ad8 Mon Sep 17 00:00:00 2001 From: Mats Dufberg Date: Mon, 18 Mar 2024 00:02:29 +0100 Subject: [PATCH 82/83] Sets new version and updates changes --- Changes | 14 ++++++++++++++ package.json | 2 +- src/environments/version.ts | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index ff227f3e..045f5039 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,20 @@ Release history for Zonemaster component Zonemaster-GUI +v4.1.2 2024-03-18 (public release version) + + [Release information] + - Translations have not been fully updated in this release. They will + be updated in an upcoming fix release. + + [Fixes] + - Improves GUI design (#434) + - Updates FAQ (#443, #456, #457) + - Fixe handling of unspecified test module (#444) + - Updates French translation (#450) + - Updates README file (#455) + + v4.1.1 2023-09-08 (public fix version) [Fixes] diff --git a/package.json b/package.json index 4e0fcfce..bfc1169f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zonemaster-gui", - "version": "4.1.1", + "version": "4.1.2", "license": "BSD-2-Clause", "scripts": { "ng": "ng", diff --git a/src/environments/version.ts b/src/environments/version.ts index 2125aa36..45f6fff1 100644 --- a/src/environments/version.ts +++ b/src/environments/version.ts @@ -1,4 +1,4 @@ export const clientInfo = { - version: '4.1.1', + version: '4.1.2', id: 'Zonemaster-GUI' }; From f9ca9c47070a5e1f80fd05abcb87a40dc6d09af4 Mon Sep 17 00:00:00 2001 From: Mats Dufberg Date: Mon, 18 Mar 2024 14:46:59 +0100 Subject: [PATCH 83/83] Sets updated new version and updates changes --- Changes | 6 ++++-- package.json | 2 +- src/environments/version.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 045f5039..500b8ae9 100644 --- a/Changes +++ b/Changes @@ -1,14 +1,16 @@ Release history for Zonemaster component Zonemaster-GUI -v4.1.2 2024-03-18 (public release version) +v4.2.0 2024-03-18 (public release version) [Release information] - Translations have not been fully updated in this release. They will be updated in an upcoming fix release. - [Fixes] + [Features] - Improves GUI design (#434) + + [Fixes] - Updates FAQ (#443, #456, #457) - Fixe handling of unspecified test module (#444) - Updates French translation (#450) diff --git a/package.json b/package.json index bfc1169f..e7b4c52e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zonemaster-gui", - "version": "4.1.2", + "version": "4.2.0", "license": "BSD-2-Clause", "scripts": { "ng": "ng", diff --git a/src/environments/version.ts b/src/environments/version.ts index 45f6fff1..ad42c18b 100644 --- a/src/environments/version.ts +++ b/src/environments/version.ts @@ -1,4 +1,4 @@ export const clientInfo = { - version: '4.1.2', + version: '4.2.0', id: 'Zonemaster-GUI' };