本帖最后由 1五湖四海1 于 2016-8-25 22:44 編輯
; k" r+ x7 P" C5 \% [ V
( J" |& R$ @2 N2 @; c" v這個defaults.h文件作為一個中央默認設置配置不同的機器類型,從DIY米爾斯數控CNC轉換的現成的機器。這里的設置所列出的文件是由用戶提供的,& O- S, p8 Q( z5 ?
所以您的你的需求可能不同。所以應該你了解你的機器和調整設置根據你的個性的需求,制造機器。
3 P9 g9 [. Q! E( gdefaults_h文件是選擇是否將一些參數設置為默認值; @! n- Z2 V) Q' n+ i$ B
定義各種參數
2 |# O% {6 n, @2 t0 u! D1 Y1.defaults/defaults_generic.h //Grbl通過通用默認設置就可以在不同的機器上工作。
3 V. e) n5 N3 H9 F2.defaults/defaults_sherline.h //描述:Sherline 5400制造廠三個NEMA 23客戶KL23H256-21-8B 185扭力步進電機
9 v% i7 c2 C: L& u% B3.defaults/defaults_shapeoko.h // 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的
' M2 X, T' j ~% B8 {4.defaults/defaults_shapeoko3 //描述:Shapeoko數控機有三個NEMA 23步進電機,由CarbideMotion驅動的. L' Q c$ ]5 d! N' V3 _
5.defaults/defaults_x_carve_500mm //描述:X-Carve 3 d卡佛數控機有三個200步/汽車由Synthetos牧師grblShield 24 v。# a2 Z3 ? J/ C |
6.defaults/defaults_zen_toolworks_7x7 //描述:禪宗Toolworks 7 x7機有三個Shinano SST43D2121 65扭力NEMA 17步進電機。導螺桿不同于一些ZTW包,大多數是1.25毫米/牧師而不是8.0毫米/牧師。由30 v 6電源和TI DRV8811步進電機驅動程序4 a9 ?# L' U6 t+ m4 @* d6 ?
7.defaults/defaults_oxcnc // Grbl設置OpenBuilds牛數控機床3 C, f% M Z+ C }& P
8.defaults/defaults_simulator
; `( [5 ]& w" N( D& h6 f5 R/ I! ^, m2 Q5 t2 K( \* ~# L* {& i! S
/*9 w& v* d# a( V8 r; `0 r# ^: j' ?
defaults.h - defaults settings configuration file6 F- K2 w4 d; k: U7 _& U e
Part of Grbl
" l/ V" A7 g+ h* } G
7 P' P" f' L8 K( N$ I7 Q6 u Copyright (c) 2012-2015 Sungeun K. Jeon
$ V7 C; y! s' h5 a
1 b$ W* U# P: E, b Grbl is free software: you can redistribute it and/or modify1 a2 M2 |& I" m! W% Q4 t _
it under the terms of the GNU General Public License as published by
2 `+ K3 ^$ g4 I0 Z v, |( ]' V the Free Software Foundation, either version 3 of the License, or) V- u1 ~4 ]; l9 d$ n
(at your option) any later version.
* W/ q5 ~2 A1 S9 J8 r4 c" u$ D! V! `' N+ R" [' X Z
Grbl is distributed in the hope that it will be useful,9 q9 A- b: j1 _$ N9 s
but WITHOUT ANY WARRANTY; without even the implied warranty of0 w! x& c6 |, K
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the/ l- @2 Y% @- q& k+ N
GNU General Public License for more details. q& i/ E6 I( c. ]: b+ e
0 e4 m/ g3 `+ t+ n6 Y" j* J. i7 `
You should have received a copy of the GNU General Public License
3 {5 R0 |2 N1 Z1 @6 w5 p* b. D' U along with Grbl. If not, see <http://www.gnu.org/licenses/>.
% {' H% ?, h0 z# F1 B$ [*/5 K- F* l1 V7 E+ |' _
; r2 q! R9 m* _% @6 P# L/* The defaults.h file serves as a central default settings selector for different machine: a9 N C* l- W/ ]% g/ d8 _, H
types, from DIY CNC mills to CNC conversions of off-the-shelf machines. The settings
% H4 p7 ?5 D. @# P7 Q/ H files listed here are supplied by users, so your results may vary. However, this should( e7 z8 a& ~/ Y8 r" R) |6 I1 B
give you a good starting point as you get to know your machine and tweak the settings for
# A/ b0 K( P- Y: N2 C+ k your nefarious needs.
% ~, x' X! A% @# D' ~. W% ?1 j& H Ensure one and only one of these DEFAULTS_XXX values is defined in config.h / {- \4 V" S7 A9 @& A, @0 ?
: z! m" e i& `7 b
The defaults.h文件作為一個中央默認設置選擇不同的機器% l9 N4 c* Z1 P4 n
類型,從DIY米爾斯數控CNC轉換的現成的機器。的設置
2 @! d* n' b% }! M7 f% U1 L- z" s. d 這里列出的文件是由用戶提供的,所以您的結果可能不同。然而,這應該
; s$ x7 A. I% v1 u0 D9 R 給你一個很好的起點,你了解你的機器和調整設置% t8 k. Z3 U( ?# H& r$ C
你的個性的需求。
7 C$ J8 p& _1 D& S 確保一個且只有一個這些DEFAULTS_XXX config.h中定義的值: n0 \. ?% n4 q, H! L% k1 |
*/
! l2 h. T- G! V$ J2 D
6 V& \, u3 e, n# z2 o2 j+ h#ifndef defaults_h
1 ^# k- a: R! K5 u- g3 Z( l
3 H1 @. a( g7 A( m// Only define the DEFAULT_XXX with where to find the corresponding default_XXX.h file.: y8 _+ l% g: b; E3 ?6 D
// Don't #define defaults_h here, let the selected file do it. Prevents including more than one.7 L2 k3 _' A4 n' Z0 s
//只有定義DEFAULT_XXX在哪里可以找到相應的DEFAULT_XXX。h文件。- A- `, g$ H% C% Y, h
//別在這里# define defaults_h,讓選中的文件。防止包括不止一個。3 }& q: O+ ~# l: \7 j8 g/ Y5 a
. {% H$ v- M, w. [ d6 Q#ifdef DEFAULTS_GENERIC3 h' y2 f* m8 r5 T' n* ]
// Grbl generic default settings. Should work across different machines.
- v, Q2 x/ b | // Grbl通過通用默認設置就可以在不同的機器上工作。3 U$ p0 x( k7 l# K! P8 f- b: |
#include "defaults/defaults_generic.h"' z* M5 c( Y% F1 P* c) j
#endif1 G" c4 {5 j0 A) j
4 p1 {9 T( ]& F3 b#ifdef DEFAULTS_SHERLINE_5400: @) Z9 `5 W2 `
// Description: Sherline 5400 mill with three NEMA 23 Keling KL23H256-21-8B 185 oz-in stepper motors,
! @, [+ `, F7 u$ i5 }$ D // driven by three Pololu A4988 stepper drivers with a 30V, 6A power supply at 1.5A per winding.2 W; \. B8 T- [" r. _* [
//描述:Sherline 5400制造廠三個NEMA 23客戶KL23H256-21-8B 185扭力步進電機,
/ {* Z1 u5 g; g& [9 t: M //由三個Pololu A4988步進驅動30 v,6在每1.5繞組供電。9 F0 C7 B o+ u/ o
: ~, M4 B0 x4 Z* q0 F: R5 b #include "defaults/defaults_sherline.h") r4 Z5 q6 r2 Y: v% e% H6 d6 G
#endif8 a! m9 Z) f: Z
' r/ V `; w0 e$ t6 f& }8 F# q
#ifdef DEFAULTS_SHAPEOKO
8 a/ S8 ]( ~/ E4 n* F& c- f4 Q j. u // Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos+ E3 Z6 K. t: _; D( ]0 g
// grblShield with a 24V, 4.2A power supply.7 N& p, i7 e, a3 G& q0 }
// 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的
2 w, i Q. f7 P$ f // grblShield 24 v,4.2電源。$ G" t' g: c2 s4 y$ g
. o3 a; p+ Y; w, v% P9 T% j4 Q
#include "defaults/defaults_shapeoko.h"( L, o$ F% @; P: K
#endif+ a- W. u) j1 i, Z7 f! |
3 L: q' s% `3 |
#ifdef DEFAULTS_SHAPEOKO_28 ^+ [# c( e, P& }! O
// Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos
+ _, ~' S* {3 U' E! k0 y( x // grblShield at 28V./ x# J+ X9 z8 e& g" R" a! Z
// 描述:Shapeoko數控機有三個NEMA 17步進電機,由Synthetos驅動的
/ ]9 ]4 E" O# n // grblShield 28 v。: e- } T6 c& F7 M9 P& e
8 @6 M. b. e z) k4 {* X #include "defaults/defaults_shapeoko2.h"- D# @0 J4 h# V
#endif
$ g6 X" |: W6 h
1 P! ~2 A/ `- Q2 c#ifdef DEFAULTS_SHAPEOKO_3. ?4 ?; j! M2 y( f. j- K
// Description: Shapeoko CNC mill with three NEMA 23 stepper motors, driven by CarbideMotion) [$ [0 }6 `5 K' `2 ]
// 描述:Shapeoko數控機有三個NEMA 23步進電機,由CarbideMotion驅動的0 v! \; q! j! `2 {5 m
- v, t9 ?- N' X \! R
#include "defaults/defaults_shapeoko3.h"
; I Q+ x3 z f) r8 T#endif
t0 r$ U7 ^/ d2 b& ^8 e1 t( ?7 i9 m( d, t2 M+ S. Y
#ifdef DEFAULTS_X_CARVE_500MM/ f! ^! _. Y: \% |! Q
// Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos, `. k2 M0 J1 e: N0 W6 W# j
// grblShield at 24V.
2 p/ n( c0 C& S7 ?) R: I2 c& k // 描述:X-Carve 3 d卡佛數控機有三個200步/汽車由Synthetos牧師grblShield 24 v。& Q: R4 n( X$ v( B1 V& L
#include "defaults/defaults_x_carve_500mm.h"
! L4 R- p% y1 L7 `: E2 W. {0 o#endif
( z7 G$ X) X$ Q* v- j7 s, \2 d/ M5 h+ E' \' D' X) Q, t9 U" b- S9 s
#ifdef DEFAULTS_X_CARVE_1000MM
$ R# |* D& j5 _2 }; e0 [ // Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos9 X1 v) u7 f+ ^( Z5 _( ]8 o9 f" x
// grblShield at 24V.# U% o A* M4 p& F' z- M+ r" b- J
#include "defaults/defaults_x_carve_1000mm.h"
% D: f0 X# r: N( Q- _#endif
* b+ I' ]6 B' @3 M! F+ @1 a. w7 P- g, I4 K8 j
#ifdef DEFAULTS_ZEN_TOOLWORKS_7x70 m( B+ e7 T+ \ H2 X( V$ A% z
// Description: Zen Toolworks 7x7 mill with three Shinano SST43D2121 65oz-in NEMA 17 stepper motors.
/ q$ _ _. z+ h7 J) ?/ M // Leadscrew is different from some ZTW kits, where most are 1.25mm/rev rather than 8.0mm/rev here.# v5 ?. U* L; E; D3 G- y$ B
// Driven by 30V, 6A power supply and TI DRV8811 stepper motor drivers.
1 u5 B/ E7 }, C% u2 }% Z( u# N //描述:禪宗Toolworks 7 x7機有三個Shinano SST43D2121 65扭力NEMA 17步進電機。: _( s# k8 t) i1 h+ v1 ?4 Q
//導螺桿不同于一些ZTW包,大多數是1.25毫米/牧師而不是8.0毫米/牧師。
, J. n, r M% }4 w3 U7 o) g( S //由30 v 6電源和TI DRV8811步進電機驅動程序。, b% q9 e9 k E7 m
9 J3 d) s) x5 z' q% O- r6 y4 C, g #include "defaults/defaults_zen_toolworks_7x7.h"
3 ?0 y5 j8 W- L/ i#endif
1 s$ ]3 v5 x/ k7 s0 A$ F0 h
4 F& k& K# e: u% @#ifdef DEFAULTS_OXCNC2 A% v+ r0 _% L( X; h# L/ T
// Grbl settings for OpenBuilds OX CNC Machine: ?$ l* e! ?) O1 \/ \, Q
// http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/# O* `1 l: j* e' l; a
$ K* ^. i1 C, h0 G. I
// http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/ - |/ ^7 Z6 } Y5 [$ Y
#include "defaults/defaults_oxcnc.h" // Grbl設置OpenBuilds牛數控機床
8 z1 ?& r+ v1 i! c* }9 Y#endif
) ]0 w* O8 w' A2 v& y
5 f. t; J' X3 ]& U! d#ifdef DEFAULTS_SIMULATOR
) ?, h. S; k1 V' G# ^ // Settings only for Grbl Simulator (www.github.com/grbl/grbl-sim)
8 @+ m. i* Q0 N/ l #include "defaults/defaults_simulator.h" //設置只對Grbl模擬器(www.github.com/grbl/grbl-sim)4 P# Q% i: J+ Q/ C( F, ]' v% J
#endif
7 w; v' f! T. l
* k7 {& ^$ j) j& Z0 Q#endif* E' L: Q5 {. ~' w3 v
2 e9 M9 b* j5 ]: w4 S, _3 [: i__________________________________________________________________________________________________________________4 s, S- R% I) h0 ?& F
/*, [6 S$ j4 z3 X4 `
defaults_generic.h -默認設置配置文件Grbl的一部分
9 ]5 U- `3 S6 M' w1 J2 A版權(c)2012 - 2015 Sungeun k全. |# C7 m4 K5 R6 K! l+ u' A) F
Grbl是免費軟件:可以重新分配和/或修改
4 d' B$ b2 c! H1 r! sGNU通用公共許可證的條款下發布的% L# @4 O. K; {7 T
自由軟件基金會,版本3的許可,或
9 B* J$ k% V0 L% `(任您選)其后的版本。
6 v$ h, }: O7 ~7 a0 [. Z+ \ }! x5 d4 K: u; n
Grbl分布,希望這將是有用的,5 k. q. k2 c- E% @* B# w! H7 G
但是沒有任何保證;沒有即使的默示保證# u2 d5 G/ Y+ y- X9 @# O3 S
適銷性或健身為特定目的??吹?br />
: M8 D9 V# _& q9 tGNU通用公共許可證的更多細節。
/ {* d. y& j3 ^' \: G5 h: q9 N, j0 M; ~ i% z" t
你應該收到了GNU通用公共許可證的副本. r! O, k: S* ~: }7 M
連同Grbl。如果沒有,看< http://www.gnu.org/licenses/ >。6 c. W/ l: l X" }
* /
' n) j" O0 n; h3 Z7 L$ t( T) J! u9 l
/ *默認值。h文件作為一個中央默認設置文件不同的機器
; Q6 B( s9 t9 C$ W. w! S; B# V$ E類型,從DIY米爾斯數控CNC轉換的現成的機器。的設置
* q6 U! V3 D8 M* T. {; Q) B( m4 Q這是由用戶提供,所以您的結果可能不同。然而,這應該給你# @( q, Y3 Z* }# s+ [9 F1 z& U6 a) U; h
一個好的起點,你了解你的機器和調整的設置( M3 {+ X2 |7 K; b
邪惡的需求。*/
3 a7 R+ ?+ w, d
% O! @. r3 @7 @4 A M* y, V" g- Z5 c$ \* Y
#ifndef defaults_h
: q4 G L9 C. E$ P, V0 _6 h' L2 K* o#define defaults_h: A7 q# V; C* f$ H6 x; ?: ?8 P% [- [
; Y% A$ @! ~. f // Grbl generic default settings. Should work across different machines.
m6 T( T4 V4 ?5 P #define DEFAULT_X_STEPS_PER_MM 250.0 //X軸每mm脈沖當量
7 A: F$ k. F, L5 k2 o #define DEFAULT_Y_STEPS_PER_MM 250.0) ?1 M" e! Q# Y, o4 e# L& |" q2 U
#define DEFAULT_Z_STEPS_PER_MM 250.0! k# Z' T+ q& b/ p
#define DEFAULT_X_MAX_RATE 500.0 // mm/min 最大速度 |0 ^- v# w. M0 d/ `5 L8 [, }
#define DEFAULT_Y_MAX_RATE 500.0 // mm/min
E' O2 }( R9 V l4 S #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
" d8 M/ L0 y e5 s* \* S1 l$ L/*這是毫米/秒/秒的加速度。
3 i3 _( X7 F# L; t) D你不需要理解這是什么意思,我只想說,一個較低的值給smooooother加速度而價值更高的收益率更嚴格的措施,達到所需的進料速度更快。0 ?2 G3 w3 B$ ^+ Z
從技術角度講,這是您的機器的點對點的加速度,獨立于軸。設置加速度值高達你最限制軸可以讓你在不丟失任何步驟。
5 c2 {/ D& I+ a通常你想給自己一些緩沖,因為如果你失去了步驟,Grbl不知道這發生了(開環控制步進),并將繼續。*/
4 q/ w9 K$ G# C, R' A #define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2 加速度$ P! E, P6 |9 y
#define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2$ t% D+ L; l$ J! M% p
#define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
+ B& q" R [* ~% N- ?* Y #define DEFAULT_X_MAX_TRAVEL 200.0 // mm 最大步行 {( ]. x& y4 P
#define DEFAULT_Y_MAX_TRAVEL 200.0 // mm & f: }% x. @2 s/ _ Y
#define DEFAULT_Z_MAX_TRAVEL 200.0 // mm
) ?# B& S/ t- G. X: e3 y$ P7 \ #define DEFAULT_STEP_PULSE_MICROSECONDS 10 //步進驅動脈沖長度+ P0 ^/ E/ G! t
#define DEFAULT_STEPPING_INVERT_MASK 0 //步進是否反轉
' l) p' b+ G. x7 U$ P, X& C6 A+ t #define DEFAULT_DIRECTION_INVERT_MASK 0 //方向是否反轉- E: k* t6 \, `2 |1 |
/*" A# Q+ a2 f. T
每次你完成步進運動和停止,Grbl將禁用默認步進。
; E' @3 ]! i) h& e鎖步進空閑時間時間長度Grbl將步進鎖之前禁用。3 l8 T1 W! ^* m- t: @0 O
根據系統中,您可以將這個參數設置為零,禁用它。對他人,你可能需要25 - 50毫秒來確保你的斧子來完成禁用前停止。(我的機器往往漂移稍微如果我沒有啟用。)
1 T3 a, Z; a. U+ ?2 P- \; N# \或者,你可以讓你的軸在任何時候啟用通過將這個值設置為最大255毫秒。再次重復,你總是可以保持所有軸通過設置啟用7美元= 255。*/
+ s' R, u3 E- l, @, p6 O; k/ J #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)步進閑著時間
9 N6 W. A7 @! l* a i9 _ #define DEFAULT_STATUS_REPORT_MASK ((BITFLAG_RT_STATUS_MACHINE_POSITION)|(BITFLAG_RT_STATUS_WORK_POSITION)) //是否打印狀態報告
, y2 a1 j8 @* }/*一些高低cnc-stepper控制器需要輸入反方向和步驟。
2 _* U: ^- y p9 X" R1 n1 x! T! H信號線路通常是高或低信號方向或高,低了幾微秒一步事件信號。為了達到這個目標,Grbl可以反轉輸出比特來滿足特定的需求。! L. d2 T" i/ k: l0 L1 p$ ]
反掩碼值是一個字節,xor的步驟和方向步進港數據之前發送。這樣你可以使用這兩個轉化步驟脈沖或轉化的一個或多個方向的軸。6 r0 n" V2 I- _( g8 ?. Q% b0 {
這個字節對應的比特分配給介入config.h別針。請注意,不用于反演位0和1。默認比特分配是這樣的:*/. F5 k5 ]: {' z3 @
8 m0 C% \9 h8 i) a/* 轉彎路口偏差使用加速度經理決定它如何快速穿過一條路徑。
. l) ~: P1 H: H 數學有點復雜,但總的來說,更高的價值給一般快,可能的波動運動。低價值使得加速度經理更加謹慎,將導致小心和慢轉彎。
4 r0 t) j- C4 n6 g7 r* V( H 如果你遇到問題,你的機器試圖把一個角落太快,降低此值使它慢下來。4 V" ? U$ d1 {+ [) X2 ~" n$ g, g
如果你想讓你的機器通過連接移動得更快,增加這個值速度。( j4 L. U) B |" l) i
為技術人員,點擊這個鏈接閱讀關于Grbl轉彎算法,速度和結角占一個很簡單,高效和可靠的方法。*/2 Y5 P t9 | _0 I0 p
( U z9 q6 s' K #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm //偏差
V' Y$ }- Q/ z! } #define DEFAULT_ARC_TOLERANCE 0.002 // mm //圓弧公差
+ U5 I7 p! p/ d #define DEFAULT_REPORT_INCHES 0 // false //打印英寸4 N X. L0 W5 @" S
/*默認情況下,步進使銷是啟用禁用高和低。如果您的設置需要相反的,只是反步進使銷通過輸入15美元= 1。禁用與15美元= 0。(可能需要一個動力循環加載的變化。)*/
; g8 L: _, x/ b- H# |5 E: W# V #define DEFAULT_INVERT_ST_ENABLE 0 // false
! {& R: i. p- {) L- } #define DEFAULT_INVERT_LIMIT_PINS 0 // false //反轉限位引腳
( c. ]( }. ^/ Z+ c, R5 D! t2 g #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false //軟件限位6 Z* y, L/ l0 S7 t. M& v. A
#define DEFAULT_HARD_LIMIT_ENABLE 0 // false //硬件限位/ K" _7 }+ g' n2 x
#define DEFAULT_HOMING_ENABLE 0 // false //回原點使能8 U2 p7 ~* w" M) {! A0 c% t
#define DEFAULT_HOMING_DIR_MASK 0 // move positive dir9 S7 V0 T& p5 e0 P- k4 k3 e) \0 R
#define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
0 b* y! T! D% _' g #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min4 l1 ?6 x+ {' Z# T0 s. q5 D
#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)防抖動延時
) V# l6 K7 e) P5 ]8 t" l #define DEFAULT_HOMING_PULLOFF 1.0 // mm
" O" J2 K2 x$ v& j6 x/ m( Q4 @* a. }! c
#endif
: [# j, ~ |# \- b
) O. N7 q# a/ K1 \. A
: k, y8 w# }. @ ~1 T
1 B; _- f! A0 o7 L8 n/ |, z5 e* r+ r9 X, |4 }4 ]
4 R ^* _- d- a! u5 r; m
& c% x( @6 r* `0 ^4 ^: Y
* I$ I& |; E! Z, u9 M4 o8 u
1 w. o. N) h6 v. j
! X# i# j5 }0 S: M( D7 i, K+ c! a" b! L
/ J( a+ X) R: _5 P$ U; ^3 H4 g( e
( d y& v) d( h4 b, m2 i$ c- _3 k
' L6 a3 h) S5 j& ]1 [9 o9 f+ F$ p
" _9 C; G2 p2 {/ k. o; m _
/ G1 s7 F' A4 t- ^9 v8 @+ n
( A; C' w. E6 P- E
* Z' y. J- {& o! E; x# z* c5 }8 X+ f. v. k \! K
& d. X8 ~2 P- g3 I
2 C2 Z# R9 A$ `" l3 i8 k
4 E7 c6 R6 `, l: p. Z2 M3 f7 f) D% E
& _9 X9 J2 n- E) }; @: {9 I+ L( B) R. U
$ \$ x5 Q4 ?) F; r6 r- Z" d& k. u8 v( I
|