matematykaszkolna.pl
zadanie dla fil , metody numeryczne Mariusz: http://wazniak.mimuw.edu.pl/index.php?title=MN05 Napisałem kod programu do rozwiązywania układów równań zgodnie z pseudokodem zamieszczonym w powyższym artykule #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> void LUdecomp(double **A,int n,int *P,double *d) { int i,j,k,p; double temp; (*d) = 1.0; for(k = 1;k < n;k++) { p = k; for(j = k;j <= n;j++) if(fabs(A[j][k])>fabs(A[p][k])) p = j; for(j = 1; j <= n;j++) { temp = A[k][j]; A[k][j] = A[p][j]; A[p][j] = temp; } if(p != k) (*d) = −(*d); P[k] = p; P[p] = k; if(A[k][k] == 0) { (*d) = 0.0; return; } for(i = k + 1;i <= n;i++) A[i][k] = (double)(A[i][k]/A[i][i]); for(j = k + 1;j <= n;j++) for(i = k + 1;i <= n;i++) A[i][j] −= A[i][k]*A[k][j]; } } void LUsolve(double **A,int n, int *P,double *c) { int i,j; double sum; for(i = 2;i <= n;i++) { sum = 0.0; for (j = 1;j < i;j++) sum += A[i][j]*c[j]; c[i]−=sum; } c[n] = (double)(c[n]/A[n][n]); for(i = n − 1;i >= 1;i−−) { sum = 0.0; for(j = i + 1;j <= n;j++) sum += A[i][j]*c[j]; c[i] = (double)((c[i] − sum)/A[i][i]); } } int main() { int i,j,n; double d; double **A; double *b; int *P; char esc; do { printf("Rozwiazywanie ukladow rownan liniowych metoda rozkladu LU = PA\n"); printf("Podaj liczbe rownan \n"); scanf("%d",&n); A = (double**)malloc((n + 1)*sizeof(double*)); for(i = 0;i <= n;i++) A[i] = (double*)malloc((n + 1)*sizeof(double)); b = (double*)malloc((n+1)*sizeof(double)); P = (int*)malloc((n + 1)*sizeof(int)); for(i = 1;i <= n; i++) { for(j = 1;j <= n;j++) { printf("A[%d][%d]=",i,j); scanf("%lf",&A[i][j]); } printf("B[%d]=",i); scanf("%lf",&b[i]); } LUdecomp(A,n,P,&d); if(d != 0) { LUsolve(A,n,P,b); for(i = 1;i <= n;i++) printf("X[%d]=%lf\n",i,b[i]); } for(i = 0;i <= n;i++) free(A[i]); free(A); free(b); free(P); esc = getch(); } while(esc != 27); } Wskaż błędy w tym pseudokodzie Kiedyś Pytający twierdził że z tym pseudokodem wszystko jest OK a ja twierdzę że są w nim błędy Niestety nie reagują na wysyłane wiadomości
27 maj 19:16
fil: Przykladowy input do twojego programu bedzie taki? 4 4 −2 4 −2 8 3 1 4 2 7 2 4 2 1 10 2 −2 4 2 2
27 maj 19:31
fil: co nam de facto w postaci matematycznej daje dla pierwszego rownania: 4x1 − 2x2 + 4x3 − 2x4 = 8
27 maj 19:32
fil: I przy okazji, jak widze algorytm, to mam cos takiego: for k=1:N−1 if <math>\displaystyle akk</math> == 0 STOP; end for i=k+1:N /* wyznaczenie <math>\displaystyle k</math>−tej kolumny <math>\displaystyle L</math> */ <math>\displaystyle aik</math> = <math>\displaystyle aik/aii</math>; end for j=k+1:N /* modyfikacja podmacierzy <math>\displaystyle A22 = A22 − l21u12T</math> */ for i=k+1:N <math>\displaystyle aij</math> −= <math>\displaystyle aikakj</math>; end end end Nie wiem czy to wina z mojej strony czy ty u siebie w przegladarce tez tak masz?
27 maj 19:37
Mariusz: Tak ale w tak na dobrą sprawę chciałbym abyś wskazał błąd Mógłbym ci wskazać te błędy ale nie chce ci psuć zabawy
27 maj 19:41
Mariusz: Też tak mam
27 maj 19:42
fil: A implementowales zgodnie z tamtym algorytmem? Mozesz chociaz podpowiedziec w jaki sposob program/algorytm nie dziala? Niepoprwanty output, czy gdzies sie wysypuje podczas liczenia?
27 maj 19:48
Mariusz: Zobacz na ten pseudokod z częściowym wyborem elementu głównego Gdybyś przeczytał kod to byś wiedział Kod daje niepoprawny output ale także wysypuje się przez dzielenie przez zero
27 maj 19:54
fil: Wyjasnilbys moze co znaczy zapis A(k:N,k)?
27 maj 20:12
Mariusz: To że pierwszy indeks zmienia się od k do N
27 maj 20:19
fil: w seudokodzie iterujemy od 1, czyli mamy indeksy: [1, 2, 3...N]. Petla konczy swoje dzialanie na indeksie N − 1 Czy po wyjsciu z glownej petli nie powinnismy jeszcze sprawdzic czy A[N][N] == 0?
27 maj 20:50
fil: Ostatni co sprawdzamy to A[N − 1][N − 1]
27 maj 20:50
Mariusz: Znalazłeś jeden błąd tylko że ja bym to sprawdzanie dał w dodatkowej iteracji
27 maj 20:54
Mariusz: To nie wszystkie błędy w ich pseudokodzie
27 maj 21:30
fil: Chwilowo nie mam dostepu do komputera. Jak tylko siade to bede szukac dalej
27 maj 21:33
fil: Co masz na mysli ze w oddzielnej iteracji bys sprawdzi te pozycje? Tu nie wsyatrczy sprawdzic tylko jednej komorki?
27 maj 22:33
Mariusz: Po prostu tak skonstruowałbym pętlę aby wykonywała jedną iterację więcej A nie musisz wypełniać wektora w którym zapisujesz indeksy elementów głównych ?
27 maj 23:10
fil: To tak, zle zintepretowalem co napisales i myslalem ze napisales "oddzielnej iteracji", teraz widze ze w "dodatkowej". Przy okazji ile bledow jest w pseudokodzie?
27 maj 23:11
fil: A raczej zle przeczytalem
27 maj 23:12
fil: "STOP" w pseudokodzie to jest jak "return" w kodzie?
27 maj 23:14
fil: Nie wiem czy dobrze rozumiem, ale my nie musimy zawsze zamieniac wierszy? Zmiana chyba tylko nastepuje, gdy element maksymalny w k−tej kolumnie nie lezy na glownej przekatnej. Jeszcze jedno: czy A[k][k] == 0 da to samo co maxElement == 0 z k−tej kolumny? Bo skoro maxElement z k−tej kolumny wyniosl 0, to znaczy ze mamy 0 na glownej przekatnej
27 maj 23:23
fil: w sumie da, bo to idze "w parze"
27 maj 23:27
Mariusz: Przy okazji ile bledow jest w pseudokodzie? Ja znalazłem jeszcze jeden a poza tym przed zastosowaniem podstawiania w przód oraz w tył trzeba jeszcze uwzględnić pewną rzecz "STOP" w pseudokodzie to jest jak "return" w kodzie? tak Nie wiem czy dobrze rozumiem, ale my nie musimy zawsze zamieniac wierszy? Zmiana chyba tylko nastepuje, gdy element maksymalny w k−tej kolumnie nie lezy na glownej przekatnej. No tak jeżeli dokonamy tego sprawdzenia przed zamianą to nie będziemy musieli zamieniać tych samych wierszy Jeszcze jedno: czy A[k][k] == 0 da to samo co maxElement == 0 z k−tej kolumny? Bo skoro maxElement z k−tej kolumny wyniosl 0, to znaczy ze mamy 0 na glownej przekatnej Będzie to samo bo A[k][k] == 0 sprawdzamy po zamianie wierszy
28 maj 02:06
Matura z Matematyki forum zad: ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================================ ============================================================
28 maj 02:19
Matura z Matematyki forum zad: rysunek
28 maj 02:20
Matura z Matematyki forum zad: 2 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √812 52 210 210 a2 a2 a25 a25 2 √2 81 √81
28 maj 02:20
fil: Kolejnego bledu nie ma w tej linijce? <math>\displaystyle aik</math> = <math>\displaystyle aik/aii</math>; Dlaczego dzielimy przez A[i][i], gdzie i = k + 1, a nie A[k][k]?
28 maj 09:23
Mariusz: No właśnie znalazłeś drugi błąd Jeśli chodzi o funkcję dokonującą rozkładu LU=PA to więcej błędów nie znalazłem ale w przypadku funkcji realizującej podstawianie zanim przystąpisz do podstawiania musisz coś zrobić z wektorem wyrazów wolnych P.S. Jakiś debil zaspamował nam temat a nie widzę kogoś kto mógłby te wpisy usunąć
28 maj 09:53
Mariusz: I teraz ja próbowałem zwrócić ich uwagę na te błędy pisząc do nich na adres maruda@mimuw.edu.pl ale nie zareagowali
28 maj 09:56
Mariusz: Przepisałem wasz pseudokod rozkładu LU i według mnie w waszym pseudokodzie występują błędy Wasz pseudokod wymaga poprawy w trzech miejscach Wersją prymitywną się nie zajmuję bo nie działa dla każdej nieosobliwej macierzy Przyjrzyjmy się najpierw rozkładowi macierzy LU=PA for k=1:N−1 Czy ta pętla nie powinna wykonywać się o jedną iterację więcej ? Przy skonstruowanej przez was pętli nie następuje sprawdzanie elementu głównego w ostatniej kolumnie W linijce P(k) = p; P(p) = k; Czy aby ta druga instrukcja jest potrzebna ? W linijce <math>\displaystyle aik</math> = <math>\displaystyle aik/aii</math>; Czy aby na pewno nie pomyliły się wam indeksy Procedury "Podstawienie w przód " oraz "Podstawienie w tył " połączyłem w jedną i brakuje mi u was zamiany elementów w wektorze wyrazów wolnych Ten pseudokod byłby przydatny uczniom gdyby był poprawnie napisany a niestety nie jest Ja do nich wysłałem taką wiadomość przy czym to że ta pierwsza pętla powinna się wykonywać o jedną iterację więcej zauważyłem stosunkowo niedawno gdy znalazłem odpowiednio przygotowany układ równań bo nie analizowałem wcześniej tego kodu zbyt dokładnie
28 maj 10:17
fil: Czy ten fragment kodu: for(i = k + 1;i <= n;i++) A[i][k] = (double)(A[i][k]/A[i][i]); for(j = k + 1;j <= n;j++) for(i = k + 1;i <= n;i++) A[i][j] −= A[i][k]*A[k][j]; Mozemy zapisac tak: for (int i = k + 1; i <= n; i++) { double r = A[i][k] / A[k][k]; for (int j = k + 1; j <= n; j++) { A[i][j] −= r * A[k][j]; } } W mojej opiniu druga wersja bardziej czytelna
28 maj 10:21
fil: No wlasnie "P(k) = p; P(p) = k;" co to znaczy w pseudokodzie i jakie to ma zastosowanie w programie?
28 maj 10:21
Mariusz: Ad 1 Ja tu rzutowanie dałem dla zapewnienia rzeczywistego wyniku (aby przypadkowo nie dostać całkowitoliczbowego wyniku dzielenia) ale chyba można zapisać tak jak to napisałeś Ad 2 Tutaj zapisujesz numer wiersza w którym znajduje się element główny danej kolumny Będzie to przydatne do odtworzenia wektora wyrazów wolnych zanim przystąpisz do podstawiania
28 maj 10:40
fil: A funkcje LUsolve tez z jakiegos pseudokodu brales? Czy tez jest w linku co podeslales, ale nie zauwazylem?
28 maj 12:43
Mariusz: Jest w linku http://wazniak.mimuw.edu.pl/index.php?title=MN05 w sekcji Układy z macierzą trójkątną tyle że aby zacząć podstawianie musisz poprawić kolejność wyrazów w wektorze wyrazów wolnych i do tego jest ci potrzebny ten wektor który nazwali P Wchodzi tu jakiś moderator przydałoby się usunąć te śmieciowe wiadomości które ktoś wysłał
28 maj 13:10
Mariusz: Umiałbyś napisać już kod na podstawie tego ich pseudokodu uwzględniając poprawki błędów które znaleźliśmy ?
28 maj 13:55
fil: Moge sprobowac napisac, podesle okolo godziny 20/21 poniewaz teraz mam troche rzeczy do zrobienia
28 maj 14:06
Mariusz: Jak napiszesz to może przejdziemy do innego zagadnienia z metod numerycznych
28 maj 14:36
Mila: Mariusz podaj datę i godzinę wątków , które chcesz usunąćemotka
28 maj 18:27
Mariusz: 28 maj 2020 02:19 28 maj 2020 02:20 28 maj 2020 02:20 Te trzy wpisy zaśmiecają ten wątek
28 maj 18:51
fil: Ja bym to tak zrobil − zamiast funkcji void() i zmiennej d ktora najprawdopodobniej mowi nam, czy macierz jest osobliwa, uzywam funkcji boolowskiej: Oszczedzam tez jedna iteracje petli glownej − dlatego daje n − 1 bo de facto ostatnia iteracja to sprawdzenia jednego elementu bool gauss(double** A, int n, int* P) { for (int k = 0; k < n − 1; k++) { double maxelement = std::fabs(A[k][k]); int maxelementindex = k; for (int i = k + 1; i < n; i++) { if (std::fabs(A[i][k]) > maxelement) { maxelement = std::fabs(A[i][k]); maxelementindex = i; } } if (maxelement == 0) return false; P[k] = maxelementindex; P[maxelementindex] = k; if (maxelementindex != k) { double* temp = A[k]; A[k] = A[maxelementindex]; A[maxelementindex] = temp; } for (int j = k + 1; j < n; j++) { double r = A[j][k] / A[k][k]; for (int x = k + 1; x < n; x++) { A[j][x] −= r * A[k][x]; } } } if (A[n − 1][n − 1] == 0) return false; return true; }
28 maj 19:18
fil: Apropo tego fragmentu kodu: /* double* temp = A[k]; A[k] = A[maxelementindex]; A[maxelementindex] = temp; */ Efekt powinnismy uzyskac taki sam przy uzyciu std::swap(): std::swap(A[k], Amaxelementindex];
28 maj 19:19
fil: Tez nie bylem pewny tego fragmentu: /* P[k] = maxelementindex; P[maxelementindex] = k; */ Gdzie w dalszej czesci programu uzyjemy P?
28 maj 19:21
Mariusz: Czy ta zamiana wierszy się poprawnie wykona ? No tak zmienna d jak determinant wskazywała czy macierz jest osobliwa i czy nastąpiła parzysta liczba zamian wierszy dzięki czemu można łatwo rozszerzyć jej znaczenie na wyznacznik właśnie A jak napisałbyś funkcję rozwiązującą układ równań bo ta funkcja dokonuje jedynie rozkładu macierzy LU=PA Pamiętaj że pisząc funkcję rozwiązującą dwa układy trójkątne metodą podstawiania korzystasz z wektora P aby odtworzyć kolejność elementów w kolumnie wyrazów wolnych więc jakoś musisz uwzględnić to że wektor ten zawiera jedną składową mniej niż wektor reprezentujący kolumnę wyrazów wolnych
28 maj 19:38
fil: Zmiana wierszy jest ok, przykladowo rozpatrzmy takie cos: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 I chcemy zamienic wiersz 0 z 1: temp = P[0] −−−> [1, 1, 1, 1] P[0] = P[1] Wtedy nasza zawartos P wyglada tak: 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 4 P[1] = temp; Wtedy nasza zawartos P wyglada tak: 2 2 2 2 1 1 1 1 3 3 3 3 4 4 4 4
28 maj 19:53
fil: Ok postaram sie napisac, tylko musze sie wczytac w idee, bo narazie skupilem sie tylko na rozkladzie
28 maj 19:54
fil: Wpisy nadal wisza, ehh emotka
28 maj 19:55
fil: Przy okazji gdzie uzywasz tego P w funkcji rozwiazujacej? Bo nie widze
28 maj 19:57
Mila: Fil Nie mogę usunąć tych spamów, bo nie widać ich w podglądzie do usunięcia z dzisiejszego dnia. Nie wiem skąd się biorą tacy złośliwcy.To już nie pierwszy raz. Załóżcie nowy wątek, tu już nic nie piszcie.
28 maj 20:36
Mariusz: Na samym początku do odtworzenia poprawnej kolejności składowych wektora reprezentującego kolumnę wyrazów wolnych
28 maj 20:38
Mariusz: Czyli te wpisy nie należą już do tego dnia ? No nie wiem myślę że dużo już nie brakuje do wyczerpania tego tematu więc może dokończymy ten temat i następny już w nowym wątku
28 maj 20:44
Mariusz: fil Czy ten fragment kodu: for(i = k + 1;i <= n;i++) A[i][k] = (double)(A[i][k]/A[i][i]); for(j = k + 1;j <= n;j++) for(i = k + 1;i <= n;i++) A[i][j] −= A[i][k]*A[k][j]; Mozemy zapisac tak: for (int i = k + 1; i <= n; i++) { double r = A[i][k] / A[k][k]; for (int j = k + 1; j <= n; j++) { A[i][j] −= r * A[k][j]; } } Sprawdziłem i tutaj jednak będziesz musiał podzielić te elementy macierzy A , ty natomiast nie dzielisz tych elementów macierzy
29 maj 00:51