Teknik Sampling dan Survei

Distribusi Probabilitas

Logo

1 Three Sigma vs Six Sigma

Three Sigma dan Six Sigma merupakan dua aspek dari metodologi Sigma dalam bidang manufaktur. Tingkat Sigma muncul dari satu hingga enam, di mana setiap tingkat mewakili persentase kesalahan yang dapat diterima yang berkaitan dengan deviasi standar statistik.

1.1 Three Sigma

Three Sigma adalah level Sigma ketiga, yang menyatakan bahwa hanya boleh ada margin kesalahan hingga tiga standar deviasi dari nilai rata-rata. Ini berarti bahwa 99,7% dari semua hasil berada dalam rentang akurasi ini. Semua level Sigma mengukur jumlah maksimum cacat yang diizinkan per satu juta komponen. Untuk Three Sigma, ini berarti boleh ada tingkat kesalahan tiga bagian per juta, atau 66.807 komponen cacat.

1.1.1 Contoh

Sebuah pabrik mengukur berat 20 produk dalam gram:

X = {100, 102, 101, 99, 98, 97, 103, 102, 100, 101, 105, 106, 
     95, 94, 107, 108, 109, 110, 96, 99}

Penyelesaian:

  1. Hitung Mean (μ):

    μ = (100 + 102 + 101 + ... + 99) / 20 = 101
  2. Hitung Standar Deviasi (σ):

    σ = sqrt( Σ (Xi - μ)² / (n-1) )
    σ ≈ 5.21
  3. Tentukan batas Three Sigma:

    UCL = μ + 3σ = 101 + (3 × 5.21) = 116.63
    LCL = μ - 3σ = 101 - (3 × 5.21) = 85.37
  4. Identifikasi Outlier:

    • Jika ada nilai di luar rentang [85.37, 116.63], maka itu adalah outlier.
    • Dalam dataset ini, semua nilai berada dalam rentang aman, sehingga tidak ada outlier.

1.2 Six Sigma

Six Sigma adalah level tertinggi Sigma, yang menentukan bahwa margin kesalahan dapat mencapai enam standar deviasi dari rata-rata. Hal ini menghasilkan tingkat akurasi 99,999997%, memaksimalkan efisiensi dan mengurangi cacat lebih banyak daripada level Sigma yang lebih rendah. Persentase akurasi yang tinggi ini menghasilkan sekitar 3,4 kesalahan atau komponen cacat per juta. Kriteria eksplisit ini menjadikan Six Sigma sebagai metrik penting untuk mengukur dan mengendalikan kualitas produk.

1.2.1 Contoh

Sebuah perusahaan manufaktur memproduksi komponen dengan panjang rata-rata 50 mm dan standar deviasi 2 mm.

Penyelesaian:

  1. Diketahui:

    μ = 50,  σ = 2
  2. Tentukan batas Six Sigma:

    UCL = μ + 6σ = 50 + (6 × 2) = 62
    LCL = μ - 6σ = 50 - (6 × 2) = 38

1.3 Perbandingan Three Sigma vs Six Sigma

Aspek 3 Sigma 6 Sigma
Definisi Metodologi pengendalian kualitas yang mengizinkan variasi hingga tiga standar deviasi dari rata-rata, menghasilkan tingkat akurasi 99,73%. Metodologi manajemen kualitas yang bertujuan mencapai variasi hingga enam standar deviasi dari rata-rata, dengan tingkat akurasi 99,99966%.
Tingkat Cacat Mengizinkan hingga 2.700 cacat per juta kesempatan. Hanya mengizinkan 3,4 cacat per juta kesempatan.
Aplikasi Cocok untuk industri di mana variasi yang lebih tinggi dapat diterima atau biaya pengurangan cacat sangat tinggi. Ideal untuk sektor yang memerlukan presisi tinggi seperti manufaktur, perawatan kesehatan, dan kedirgantaraan.
Kompleksitas Implementasi Lebih mudah diterapkan dengan kontrol yang kurang ketat dan sumber daya yang lebih sedikit. Memerlukan komitmen lebih tinggi, melibatkan alat statistik yang lebih kompleks, pelatihan khusus, dan seringkali perubahan budaya organisasi.
Pendekatan Fokus pada setiap proses yang menghasilkan output dan prediktabilitas tingkat akurasi setiap output. Menggunakan metodologi seperti DMAIC (Define, Measure, Analyze, Improve, Control) untuk memastikan proses stabil, dapat diprediksi, dan memenuhi kebutuhan pelanggan dengan kesalahan minimal.
Fokus pada Pelanggan Memberikan hasil yang memadai dalam banyak skenario. Berfokus pada kualitas superior, meningkatkan kepuasan dan loyalitas pelanggan.

1.4 Persamaan Antara Three Sigma vs Six Sigma

  • Fokus pada Peningkatan Proses: Kedua metodologi bertujuan untuk meningkatkan proses, mengurangi variasi, dan meminimalkan cacat.

  • Penggunaan Alat Statistik: Keduanya menggunakan analisis statistik untuk mengukur, mengontrol, dan meningkatkan proses.

  • Pendekatan Berbasis Data: Keduanya sangat bergantung pada data untuk pengambilan keputusan, memastikan perbaikan didasarkan pada fakta.

  • Penekanan pada Deviasi Standar: Konsep deviasi standar memainkan peran kunci dalam mengukur variasi dalam proses pada kedua metodologi.

  • Fokus pada Kepuasan Pelanggan: Kedua metodologi memprioritaskan pemenuhan kebutuhan dan ekspektasi pelanggan melalui peningkatan kualitas produk atau layanan.

  • Identifikasi Masalah dan Analisis Akar Penyebab: Keduanya menekankan pentingnya mengidentifikasi akar penyebab masalah untuk perbaikan yang efektif.

  • Pengurangan Cacat: Tujuan utama dari kedua metodologi adalah mengurangi jumlah cacat dalam proses.

  • Peningkatan Efisiensi: Keduanya dirancang untuk mengoptimalkan proses, meningkatkan produktivitas, dan efisiensi operasional secara keseluruhan.

  • Implementasi Mekanisme Kontrol: Kedua metode memerlukan penetapan langkah-langkah pengendalian untuk mempertahankan perbaikan yang telah dicapai.


2 T Score dan Z Score

Pemilihan antara Z-score dan T-score bergantung pada ukuran sampel dan pengetahuan tentang standar deviasi populasi. Berikut penjelasan lengkap beserta contoh perhitungan manual untuk masing-masing:

2.1 Z-Score

2.1.1 Kapan Menggunakan Z-Score?

Gunakan Z-score ketika:

  1. Standar deviasi populasi (σ) diketahui.

  2. Ukuran sampel besar (n ≥ 30). Menurut Teorema Limit Pusat, distribusi sampel akan mendekati distribusi normal jika jumlah sampel cukup besar.

Dalam situasi ini, Z-score membantu menentukan seberapa jauh nilai individu dari rata-rata populasi dalam satuan standar deviasi.

2.1.2 Contoh Penggunaan Z-Score

Kasus:

Sebuah perusahaan memproduksi baterai dengan umur rata-rata (μ) 20 jam dan standar deviasi populasi (σ) 5 jam. Kita mengambil sampel acak sebanyak 50 baterai (n = 50) dan menemukan rata-rata umur baterai dalam sampel tersebut adalah 21 jam (x̄ = 21). Kita ingin menguji apakah umur rata-rata baterai berbeda dari 20 jam.

2.1.3 Langkah-langkah:

  1. Tentukan hipotesis:

    • H₀: μ = 20 (umur rata-rata baterai adalah 20 jam)
    • H₁: μ ≠ 20 (umur rata-rata baterai bukan 20 jam)
  2. Hitung Z-score:

    Z = (x̄ - μ) / (σ / sqrt(n))
    Z = (21 - 20) / (5 / sqrt(50))
    Z = 1 / 0.707 ≈ 1.414
  3. Tentukan nilai kritis:

    • Untuk α = 0,05 (uji dua sisi), nilai kritis Z adalah ±1,96.
  4. Keputusan:

    • Karena 1,414 < 1,96, kita gagal menolak H₀. Tidak ada bukti cukup bahwa umur rata-rata baterai berbeda dari 20 jam.

2.2 T-Score

2.2.1 Kapan Menggunakan T-Score?

Gunakan T-score ketika:

  1. Standar deviasi populasi (σ) tidak diketahui.

  2. Ukuran sampel kecil (n ≤ 30).

Dalam kondisi ini, T-score lebih tepat karena mempertimbangkan variabilitas tambahan yang muncul akibat estimasi standar deviasi dari sampel kecil.

2.2.2 Contoh Penggunaan T-Score

Kasus:

Sebuah restoran mengklaim bahwa berat rata-rata burger yang mereka produksi adalah 0,25 pon (μ = 0,25). Kita mengambil sampel acak 20 burger (n = 20) dan menemukan rata-rata berat sampel adalah 0,22 pon (x̄ = 0,22) dengan standar deviasi sampel 0,05 pon (s = 0,05). Kita ingin menguji apakah berat rata-rata burger berbeda dari 0,25 pon.

2.2.3 Langkah-langkah:

  1. Tentukan hipotesis:

    • H₀: μ = 0,25 (berat rata-rata burger adalah 0,25 pon)
    • H₁: μ ≠ 0,25 (berat rata-rata burger bukan 0,25 pon)
  2. Hitung T-score:

    t = (x̄ - μ) / (s / sqrt(n))
    t = (0.22 - 0.25) / (0.05 / sqrt(20))
    t = (-0.03) / (0.01118)
    t ≈ -2.683
  3. Tentukan nilai kritis:

    • Derajat kebebasan (df) = n - 1 = 19.
    • Untuk α = 0,05 (uji dua sisi), nilai kritis t dengan df = 19 adalah ±2,093.
  4. Keputusan:

    • Karena -2,683 < -2,093, kita menolak H₀. Ada bukti cukup bahwa berat rata-rata burger berbeda dari 0,25 pon.

2.3 Kesimpulan

Kondisi Gunakan
Standar deviasi populasi diketahui, n > 30 Z-score
Standar deviasi populasi tidak diketahui, n ≤ 30 T-score
LS0tDQp0aXRsZTogIlRla25payBTYW1wbGluZyBkYW4gU3VydmVpIg0Kc3VidGl0bGU6ICJEaXN0cmlidXNpIFByb2JhYmlsaXRhcyINCmF1dGhvcjogDQogIC0gIk5vdmEgU2l0b3J1cyA1MjI0MDAyMyINCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlDQogICAgdGh1bWJuYWlsczogdHJ1ZQ0KICAgIGxpZ2h0Ym94OiB0cnVlDQogICAgZ2FsbGVyeTogdHJ1ZQ0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQ0KICAgIGxpYl9kaXI6IGxpYnMNCiAgICBkZl9wcmludDogInBhZ2VkIg0KICAgIGNvZGVfZm9sZGluZzogInNob3ciDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY3NzOiAic3R5bGUuY3NzIg0KICAgIGRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCi0tLQ0KDQpgYGB7PWh0bWx9DQo8c3R5bGU+DQogIGJvZHkgew0KICAgIHRleHQtYWxpZ246IGp1c3RpZnk7DQogIH0NCjwvc3R5bGU+DQpgYGANCg0KPGltZyBzcmM9Ik5PVkEuanBnIiBhbHQ9IkxvZ28iIHN0eWxlPSJ3aWR0aDo1MDBweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogYXV0bzsiLz4NCg0KIyBUaHJlZSBTaWdtYSB2cyBTaXggU2lnbWENCg0KVGhyZWUgU2lnbWEgZGFuIFNpeCBTaWdtYSBtZXJ1cGFrYW4gZHVhIGFzcGVrIGRhcmkgbWV0b2RvbG9naSBTaWdtYSBkYWxhbSBiaWRhbmcgbWFudWZha3R1ci4gVGluZ2thdCBTaWdtYSBtdW5jdWwgZGFyaSBzYXR1IGhpbmdnYSBlbmFtLCBkaSBtYW5hIHNldGlhcCB0aW5na2F0IG1ld2FraWxpIHBlcnNlbnRhc2Uga2VzYWxhaGFuIHlhbmcgZGFwYXQgZGl0ZXJpbWEgeWFuZyBiZXJrYWl0YW4gZGVuZ2FuIGRldmlhc2kgc3RhbmRhciBzdGF0aXN0aWsuDQoNCiMjIFRocmVlIFNpZ21hDQoNClRocmVlIFNpZ21hIGFkYWxhaCBsZXZlbCBTaWdtYSBrZXRpZ2EsIHlhbmcgbWVueWF0YWthbiBiYWh3YSBoYW55YSBib2xlaCBhZGEgbWFyZ2luIGtlc2FsYWhhbiBoaW5nZ2EgdGlnYSBzdGFuZGFyIGRldmlhc2kgZGFyaSBuaWxhaSByYXRhLXJhdGEuIEluaSBiZXJhcnRpIGJhaHdhIDk5LDclIGRhcmkgc2VtdWEgaGFzaWwgYmVyYWRhIGRhbGFtIHJlbnRhbmcgYWt1cmFzaSBpbmkuIFNlbXVhIGxldmVsIFNpZ21hIG1lbmd1a3VyIGp1bWxhaCBtYWtzaW11bSBjYWNhdCB5YW5nIGRpaXppbmthbiBwZXIgc2F0dSBqdXRhIGtvbXBvbmVuLiBVbnR1ayBUaHJlZSBTaWdtYSwgaW5pIGJlcmFydGkgYm9sZWggYWRhIHRpbmdrYXQga2VzYWxhaGFuIHRpZ2EgYmFnaWFuIHBlciBqdXRhLCBhdGF1IDY2LjgwNyBrb21wb25lbiBjYWNhdC4NCg0KIyMjIENvbnRvaA0KDQpTZWJ1YWggcGFicmlrIG1lbmd1a3VyIGJlcmF0IDIwIHByb2R1ayBkYWxhbSBncmFtOg0KDQpgYGAgICAgICAgICANClggPSB7MTAwLCAxMDIsIDEwMSwgOTksIDk4LCA5NywgMTAzLCAxMDIsIDEwMCwgMTAxLCAxMDUsIDEwNiwgDQogICAgIDk1LCA5NCwgMTA3LCAxMDgsIDEwOSwgMTEwLCA5NiwgOTl9DQpgYGANCg0KUGVueWVsZXNhaWFuOg0KDQoxLiAgKipIaXR1bmcgTWVhbiAozrwpOioqDQoNCiAgICBgYGAgICAgICAgICANCiAgICDOvCA9ICgxMDAgKyAxMDIgKyAxMDEgKyAuLi4gKyA5OSkgLyAyMCA9IDEwMQ0KICAgIGBgYA0KDQoyLiAgKipIaXR1bmcgU3RhbmRhciBEZXZpYXNpICjPgyk6KioNCg0KICAgIGBgYCAgICAgICAgIA0KICAgIM+DID0gc3FydCggzqMgKFhpIC0gzrwpwrIgLyAobi0xKSApDQogICAgYGBgDQoNCiAgICBgYGAgICAgICAgICANCiAgICDPgyDiiYggNS4yMQ0KICAgIGBgYA0KDQozLiAgKipUZW50dWthbiBiYXRhcyBUaHJlZSBTaWdtYToqKg0KDQogICAgYGBgICAgICAgICAgDQogICAgVUNMID0gzrwgKyAzz4MgPSAxMDEgKyAoMyDDlyA1LjIxKSA9IDExNi42Mw0KICAgIExDTCA9IM68IC0gM8+DID0gMTAxIC0gKDMgw5cgNS4yMSkgPSA4NS4zNw0KICAgIGBgYA0KDQo0LiAgKipJZGVudGlmaWthc2kgT3V0bGllcjoqKg0KDQogICAgLSAgIEppa2EgYWRhIG5pbGFpIGRpIGx1YXIgcmVudGFuZyAqKls4NS4zNywgMTE2LjYzXSoqLCBtYWthIGl0dSBhZGFsYWggb3V0bGllci4NCiAgICAtICAgRGFsYW0gZGF0YXNldCBpbmksIHNlbXVhIG5pbGFpIGJlcmFkYSBkYWxhbSByZW50YW5nIGFtYW4sIHNlaGluZ2dhICoqdGlkYWsgYWRhIG91dGxpZXIqKi4NCg0KYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQojIExvYWQgbGlicmFyeQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShwbG90bHkpDQoNCiMgR2VuZXJhdGUgZGF0YSB1bnR1ayBkaXN0cmlidXNpIG5vcm1hbA0KeCA8LSBzZXEoODAsIDEyMCwgbGVuZ3RoID0gMTAwKQ0KeSA8LSBkbm9ybSh4LCBtZWFuID0gMTAxLCBzZCA9IDUuMjEpDQoNCmRhdGFfZGYgPC0gZGF0YS5mcmFtZSh4LCB5KQ0KDQojIFBsb3QgZGlzdHJpYnVzaSBub3JtYWwgZGVuZ2FuIGJhdGFzIFRocmVlIFNpZ21hDQpwIDwtIGdncGxvdChkYXRhX2RmLCBhZXMoeCwgeSkpICsNCiAgZ2VvbV9saW5lKGNvbG9yID0gImJsdWUiKSArDQogIGdlb21fdmxpbmUoYWVzKHhpbnRlcmNlcHQgPSAxMDEsIHRleHQgPSAiTWVhbjogMTAxIiksIGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAiZGFzaGVkIikgKw0KICBnZW9tX3ZsaW5lKGFlcyh4aW50ZXJjZXB0ID0gMTE2LjYzLCB0ZXh0ID0gIlVwcGVyIEJvdW5kOiAxMTYuNjMiKSwgY29sb3IgPSAicmVkIiwgbGluZXR5cGUgPSAiZG90dGVkIiwgc2l6ZSA9IDEpICsNCiAgZ2VvbV92bGluZShhZXMoeGludGVyY2VwdCA9IDg1LjM3LCB0ZXh0ID0gIkxvd2VyIEJvdW5kOiA4NS4zNyIpLCBjb2xvciA9ICJyZWQiLCBsaW5ldHlwZSA9ICJkb3R0ZWQiLCBzaXplID0gMSkgKw0KICBsYWJzKHRpdGxlID0gIlRocmVlIFNpZ21hIERpc3RyaWJ1dGlvbiIsIHggPSAiVmFsdWUiLCB5ID0gIkRlbnNpdHkiKSArDQogIHRoZW1lX21pbmltYWwoKQ0KDQojIEtvbnZlcnNpIGtlIHBsb3QgaW50ZXJha3RpZg0KZ2dwbG90bHkocCwgdG9vbHRpcCA9ICJ0ZXh0IikNCg0KYGBgDQoNCiMjIFNpeCBTaWdtYQ0KDQpTaXggU2lnbWEgYWRhbGFoIGxldmVsIHRlcnRpbmdnaSBTaWdtYSwgeWFuZyBtZW5lbnR1a2FuIGJhaHdhIG1hcmdpbiBrZXNhbGFoYW4gZGFwYXQgbWVuY2FwYWkgZW5hbSBzdGFuZGFyIGRldmlhc2kgZGFyaSByYXRhLXJhdGEuIEhhbCBpbmkgbWVuZ2hhc2lsa2FuIHRpbmdrYXQgYWt1cmFzaSA5OSw5OTk5OTclLCBtZW1ha3NpbWFsa2FuIGVmaXNpZW5zaSBkYW4gbWVuZ3VyYW5naSBjYWNhdCBsZWJpaCBiYW55YWsgZGFyaXBhZGEgbGV2ZWwgU2lnbWEgeWFuZyBsZWJpaCByZW5kYWguIFBlcnNlbnRhc2UgYWt1cmFzaSB5YW5nIHRpbmdnaSBpbmkgbWVuZ2hhc2lsa2FuIHNla2l0YXIgMyw0IGtlc2FsYWhhbiBhdGF1IGtvbXBvbmVuIGNhY2F0IHBlciBqdXRhLiBLcml0ZXJpYSBla3NwbGlzaXQgaW5pIG1lbmphZGlrYW4gU2l4IFNpZ21hIHNlYmFnYWkgbWV0cmlrIHBlbnRpbmcgdW50dWsgbWVuZ3VrdXIgZGFuIG1lbmdlbmRhbGlrYW4ga3VhbGl0YXMgcHJvZHVrLg0KDQojIyMgQ29udG9oDQoNClNlYnVhaCBwZXJ1c2FoYWFuIG1hbnVmYWt0dXIgbWVtcHJvZHVrc2kga29tcG9uZW4gZGVuZ2FuIHBhbmphbmcgcmF0YS1yYXRhICoqNTAgbW0qKiBkYW4gc3RhbmRhciBkZXZpYXNpICoqMiBtbSoqLg0KDQpQZW55ZWxlc2FpYW46DQoNCjEuICAqKkRpa2V0YWh1aToqKg0KDQogICAgYGBgICAgICAgICAgDQogICAgzrwgPSA1MCwgIM+DID0gMg0KICAgIGBgYA0KDQoyLiAgKipUZW50dWthbiBiYXRhcyBTaXggU2lnbWE6KioNCg0KICAgIGBgYCAgICAgICAgIA0KICAgIFVDTCA9IM68ICsgNs+DID0gNTAgKyAoNiDDlyAyKSA9IDYyDQogICAgTENMID0gzrwgLSA2z4MgPSA1MCAtICg2IMOXIDIpID0gMzgNCiAgICBgYGANCg0KYGBge3IsIGVjaG89RkFMU0V9DQojIExvYWQgbGlicmFyeQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShwbG90bHkpDQoNCiMgR2VuZXJhdGUgZGF0YSB1bnR1ayBkaXN0cmlidXNpIG5vcm1hbA0KeF92YWx1ZXMgPC0gc2VxKDMwLCA3MCwgbGVuZ3RoLm91dCA9IDEwMCkNCnlfdmFsdWVzIDwtIGRub3JtKHhfdmFsdWVzLCBtZWFuID0gNTAsIHNkID0gMikNCg0KZGF0YV9kZiA8LSBkYXRhLmZyYW1lKHggPSB4X3ZhbHVlcywgeSA9IHlfdmFsdWVzKQ0KDQojIFBsb3QgZGlzdHJpYnVzaSBub3JtYWwgZGVuZ2FuIGJhdGFzIFNpeCBTaWdtYQ0KcCA8LSBnZ3Bsb3QoZGF0YV9kZiwgYWVzKHgsIHkpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJncmVlbiIpICsNCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gNTAsIGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAiZGFzaGVkIikgKyAgIyBNZWFuDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IGMoMzgsIDYyKSwgY29sb3IgPSAicmVkIiwgbGluZXR5cGUgPSAiZG90dGVkIiwgc2l6ZSA9IDEpICsgICMgU2l4IFNpZ21hIGxpbWl0cw0KICBsYWJzKHRpdGxlID0gIlNpeCBTaWdtYSBEaXN0cmlidXRpb24iLCB4ID0gIlZhbHVlIiwgeSA9ICJEZW5zaXR5IikgKw0KICB0aGVtZV9taW5pbWFsKCkNCg0KIyBLb252ZXJzaSBrZSBwbG90IGludGVyYWt0aWYNCmdncGxvdGx5KHApDQoNCmBgYA0KDQojIyBQZXJiYW5kaW5nYW4gVGhyZWUgU2lnbWEgdnMgU2l4IFNpZ21hDQoNCnwgQXNwZWsgfCAzIFNpZ21hIHwgNiBTaWdtYSB8DQp8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQp8ICoqRGVmaW5pc2kqKiB8IE1ldG9kb2xvZ2kgcGVuZ2VuZGFsaWFuIGt1YWxpdGFzIHlhbmcgbWVuZ2l6aW5rYW4gdmFyaWFzaSBoaW5nZ2EgdGlnYSBzdGFuZGFyIGRldmlhc2kgZGFyaSByYXRhLXJhdGEsIG1lbmdoYXNpbGthbiB0aW5na2F0IGFrdXJhc2kgOTksNzMlLiB8IE1ldG9kb2xvZ2kgbWFuYWplbWVuIGt1YWxpdGFzIHlhbmcgYmVydHVqdWFuIG1lbmNhcGFpIHZhcmlhc2kgaGluZ2dhIGVuYW0gc3RhbmRhciBkZXZpYXNpIGRhcmkgcmF0YS1yYXRhLCBkZW5nYW4gdGluZ2thdCBha3VyYXNpIDk5LDk5OTY2JS4gfA0KfCAqKlRpbmdrYXQgQ2FjYXQqKiB8IE1lbmdpemlua2FuIGhpbmdnYSAyLjcwMCBjYWNhdCBwZXIganV0YSBrZXNlbXBhdGFuLiB8IEhhbnlhIG1lbmdpemlua2FuIDMsNCBjYWNhdCBwZXIganV0YSBrZXNlbXBhdGFuLiB8DQp8ICoqQXBsaWthc2kqKiB8IENvY29rIHVudHVrIGluZHVzdHJpIGRpIG1hbmEgdmFyaWFzaSB5YW5nIGxlYmloIHRpbmdnaSBkYXBhdCBkaXRlcmltYSBhdGF1IGJpYXlhIHBlbmd1cmFuZ2FuIGNhY2F0IHNhbmdhdCB0aW5nZ2kuIHwgSWRlYWwgdW50dWsgc2VrdG9yIHlhbmcgbWVtZXJsdWthbiBwcmVzaXNpIHRpbmdnaSBzZXBlcnRpIG1hbnVmYWt0dXIsIHBlcmF3YXRhbiBrZXNlaGF0YW4sIGRhbiBrZWRpcmdhbnRhcmFhbi4gfA0KfCAqKktvbXBsZWtzaXRhcyBJbXBsZW1lbnRhc2kqKiB8IExlYmloIG11ZGFoIGRpdGVyYXBrYW4gZGVuZ2FuIGtvbnRyb2wgeWFuZyBrdXJhbmcga2V0YXQgZGFuIHN1bWJlciBkYXlhIHlhbmcgbGViaWggc2VkaWtpdC4gfCBNZW1lcmx1a2FuIGtvbWl0bWVuIGxlYmloIHRpbmdnaSwgbWVsaWJhdGthbiBhbGF0IHN0YXRpc3RpayB5YW5nIGxlYmloIGtvbXBsZWtzLCBwZWxhdGloYW4ga2h1c3VzLCBkYW4gc2VyaW5na2FsaSBwZXJ1YmFoYW4gYnVkYXlhIG9yZ2FuaXNhc2kuIHwNCnwgKipQZW5kZWthdGFuKiogfCBGb2t1cyBwYWRhIHNldGlhcCBwcm9zZXMgeWFuZyBtZW5naGFzaWxrYW4gb3V0cHV0IGRhbiBwcmVkaWt0YWJpbGl0YXMgdGluZ2thdCBha3VyYXNpIHNldGlhcCBvdXRwdXQuIHwgTWVuZ2d1bmFrYW4gbWV0b2RvbG9naSBzZXBlcnRpIERNQUlDIChEZWZpbmUsIE1lYXN1cmUsIEFuYWx5emUsIEltcHJvdmUsIENvbnRyb2wpIHVudHVrIG1lbWFzdGlrYW4gcHJvc2VzIHN0YWJpbCwgZGFwYXQgZGlwcmVkaWtzaSwgZGFuIG1lbWVudWhpIGtlYnV0dWhhbiBwZWxhbmdnYW4gZGVuZ2FuIGtlc2FsYWhhbiBtaW5pbWFsLiB8DQp8ICoqRm9rdXMgcGFkYSBQZWxhbmdnYW4qKiB8IE1lbWJlcmlrYW4gaGFzaWwgeWFuZyBtZW1hZGFpIGRhbGFtIGJhbnlhayBza2VuYXJpby4gfCBCZXJmb2t1cyBwYWRhIGt1YWxpdGFzIHN1cGVyaW9yLCBtZW5pbmdrYXRrYW4ga2VwdWFzYW4gZGFuIGxveWFsaXRhcyBwZWxhbmdnYW4uIHwNCg0KIyMgUGVyc2FtYWFuIEFudGFyYSBUaHJlZSBTaWdtYSB2cyBTaXggU2lnbWENCg0KLSAgICoqRm9rdXMgcGFkYSBQZW5pbmdrYXRhbiBQcm9zZXMqKjogS2VkdWEgbWV0b2RvbG9naSBiZXJ0dWp1YW4gdW50dWsgbWVuaW5na2F0a2FuIHByb3NlcywgbWVuZ3VyYW5naSB2YXJpYXNpLCBkYW4gbWVtaW5pbWFsa2FuIGNhY2F0Lg0KDQotICAgKipQZW5nZ3VuYWFuIEFsYXQgU3RhdGlzdGlrKio6IEtlZHVhbnlhIG1lbmdndW5ha2FuIGFuYWxpc2lzIHN0YXRpc3RpayB1bnR1ayBtZW5ndWt1ciwgbWVuZ29udHJvbCwgZGFuIG1lbmluZ2thdGthbiBwcm9zZXMuDQoNCi0gICAqKlBlbmRla2F0YW4gQmVyYmFzaXMgRGF0YSoqOiBLZWR1YW55YSBzYW5nYXQgYmVyZ2FudHVuZyBwYWRhIGRhdGEgdW50dWsgcGVuZ2FtYmlsYW4ga2VwdXR1c2FuLCBtZW1hc3Rpa2FuIHBlcmJhaWthbiBkaWRhc2Fya2FuIHBhZGEgZmFrdGEuDQoNCi0gICAqKlBlbmVrYW5hbiBwYWRhIERldmlhc2kgU3RhbmRhcioqOiBLb25zZXAgZGV2aWFzaSBzdGFuZGFyIG1lbWFpbmthbiBwZXJhbiBrdW5jaSBkYWxhbSBtZW5ndWt1ciB2YXJpYXNpIGRhbGFtIHByb3NlcyBwYWRhIGtlZHVhIG1ldG9kb2xvZ2kuDQoNCi0gICAqKkZva3VzIHBhZGEgS2VwdWFzYW4gUGVsYW5nZ2FuKio6IEtlZHVhIG1ldG9kb2xvZ2kgbWVtcHJpb3JpdGFza2FuIHBlbWVudWhhbiBrZWJ1dHVoYW4gZGFuIGVrc3Bla3Rhc2kgcGVsYW5nZ2FuIG1lbGFsdWkgcGVuaW5na2F0YW4ga3VhbGl0YXMgcHJvZHVrIGF0YXUgbGF5YW5hbi4NCg0KLSAgICoqSWRlbnRpZmlrYXNpIE1hc2FsYWggZGFuIEFuYWxpc2lzIEFrYXIgUGVueWViYWIqKjogS2VkdWFueWEgbWVuZWthbmthbiBwZW50aW5nbnlhIG1lbmdpZGVudGlmaWthc2kgYWthciBwZW55ZWJhYiBtYXNhbGFoIHVudHVrIHBlcmJhaWthbiB5YW5nIGVmZWt0aWYuDQoNCi0gICAqKlBlbmd1cmFuZ2FuIENhY2F0Kio6IFR1anVhbiB1dGFtYSBkYXJpIGtlZHVhIG1ldG9kb2xvZ2kgYWRhbGFoIG1lbmd1cmFuZ2kganVtbGFoIGNhY2F0IGRhbGFtIHByb3Nlcy4NCg0KLSAgICoqUGVuaW5na2F0YW4gRWZpc2llbnNpKio6IEtlZHVhbnlhIGRpcmFuY2FuZyB1bnR1ayBtZW5nb3B0aW1hbGthbiBwcm9zZXMsIG1lbmluZ2thdGthbiBwcm9kdWt0aXZpdGFzLCBkYW4gZWZpc2llbnNpIG9wZXJhc2lvbmFsIHNlY2FyYSBrZXNlbHVydWhhbi4NCg0KLSAgICoqSW1wbGVtZW50YXNpIE1la2FuaXNtZSBLb250cm9sKio6IEtlZHVhIG1ldG9kZSBtZW1lcmx1a2FuIHBlbmV0YXBhbiBsYW5na2FoLWxhbmdrYWggcGVuZ2VuZGFsaWFuIHVudHVrIG1lbXBlcnRhaGFua2FuIHBlcmJhaWthbiB5YW5nIHRlbGFoIGRpY2FwYWkuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIFQgU2NvcmUgZGFuIFogU2NvcmUNCg0KUGVtaWxpaGFuIGFudGFyYSBaLXNjb3JlIGRhbiBULXNjb3JlIGJlcmdhbnR1bmcgcGFkYSB1a3VyYW4gc2FtcGVsIGRhbiBwZW5nZXRhaHVhbiB0ZW50YW5nIHN0YW5kYXIgZGV2aWFzaSBwb3B1bGFzaS4gQmVyaWt1dCBwZW5qZWxhc2FuIGxlbmdrYXAgYmVzZXJ0YSBjb250b2ggcGVyaGl0dW5nYW4gbWFudWFsIHVudHVrIG1hc2luZy1tYXNpbmc6DQoNCiMjIFotU2NvcmUNCg0KIyMjIEthcGFuIE1lbmdndW5ha2FuIFotU2NvcmU/DQoNCkd1bmFrYW4gKipaLXNjb3JlKioga2V0aWthOg0KDQoxLiAgKipTdGFuZGFyIGRldmlhc2kgcG9wdWxhc2kgKM+DKSBkaWtldGFodWkqKi4NCg0KMi4gICoqVWt1cmFuIHNhbXBlbCBiZXNhciAobiDiiaUgMzApKiouIE1lbnVydXQgVGVvcmVtYSBMaW1pdCBQdXNhdCwgZGlzdHJpYnVzaSBzYW1wZWwgYWthbiBtZW5kZWthdGkgZGlzdHJpYnVzaSBub3JtYWwgamlrYSBqdW1sYWggc2FtcGVsIGN1a3VwIGJlc2FyLg0KDQpEYWxhbSBzaXR1YXNpIGluaSwgWi1zY29yZSBtZW1iYW50dSBtZW5lbnR1a2FuIHNlYmVyYXBhIGphdWggbmlsYWkgaW5kaXZpZHUgZGFyaSByYXRhLXJhdGEgcG9wdWxhc2kgZGFsYW0gc2F0dWFuIHN0YW5kYXIgZGV2aWFzaS4NCg0KIyMjIENvbnRvaCBQZW5nZ3VuYWFuIFotU2NvcmUNCg0KKipLYXN1czoqKg0KDQpTZWJ1YWggcGVydXNhaGFhbiBtZW1wcm9kdWtzaSBiYXRlcmFpIGRlbmdhbiB1bXVyIHJhdGEtcmF0YSAozrwpIDIwIGphbSBkYW4gc3RhbmRhciBkZXZpYXNpIHBvcHVsYXNpICjPgykgNSBqYW0uIEtpdGEgbWVuZ2FtYmlsIHNhbXBlbCBhY2FrIHNlYmFueWFrIDUwIGJhdGVyYWkgKG4gPSA1MCkgZGFuIG1lbmVtdWthbiByYXRhLXJhdGEgdW11ciBiYXRlcmFpIGRhbGFtIHNhbXBlbCB0ZXJzZWJ1dCBhZGFsYWggMjEgamFtICh4zIQgPSAyMSkuIEtpdGEgaW5naW4gbWVuZ3VqaSBhcGFrYWggdW11ciByYXRhLXJhdGEgYmF0ZXJhaSBiZXJiZWRhIGRhcmkgMjAgamFtLg0KDQojIyMgTGFuZ2thaC1sYW5na2FoOg0KDQoxLiAgKipUZW50dWthbiBoaXBvdGVzaXM6KioNCg0KICAgIC0gICBI4oKAOiDOvCA9IDIwICh1bXVyIHJhdGEtcmF0YSBiYXRlcmFpIGFkYWxhaCAyMCBqYW0pDQogICAgLSAgIEjigoE6IM68IOKJoCAyMCAodW11ciByYXRhLXJhdGEgYmF0ZXJhaSBidWthbiAyMCBqYW0pDQoNCjIuICAqKkhpdHVuZyBaLXNjb3JlOioqDQoNCiAgICBgYGAgICAgICAgICANCiAgICBaID0gKHjMhCAtIM68KSAvICjPgyAvIHNxcnQobikpDQogICAgWiA9ICgyMSAtIDIwKSAvICg1IC8gc3FydCg1MCkpDQogICAgWiA9IDEgLyAwLjcwNyDiiYggMS40MTQNCiAgICBgYGANCg0KMy4gICoqVGVudHVrYW4gbmlsYWkga3JpdGlzOioqDQoNCiAgICAtICAgVW50dWsgzrEgPSAwLDA1ICh1amkgZHVhIHNpc2kpLCBuaWxhaSBrcml0aXMgWiBhZGFsYWggwrExLDk2Lg0KDQo0LiAgKipLZXB1dHVzYW46KioNCg0KICAgIC0gICBLYXJlbmEgMSw0MTQgXDwgMSw5Niwga2l0YSBnYWdhbCBtZW5vbGFrIEjigoAuIFRpZGFrIGFkYSBidWt0aSBjdWt1cCBiYWh3YSB1bXVyIHJhdGEtcmF0YSBiYXRlcmFpIGJlcmJlZGEgZGFyaSAyMCBqYW0uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIyBULVNjb3JlDQoNCiMjIyBLYXBhbiBNZW5nZ3VuYWthbiBULVNjb3JlPw0KDQpHdW5ha2FuICoqVC1zY29yZSoqIGtldGlrYToNCg0KMS4gICoqU3RhbmRhciBkZXZpYXNpIHBvcHVsYXNpICjPgykgdGlkYWsgZGlrZXRhaHVpKiouDQoNCjIuICAqKlVrdXJhbiBzYW1wZWwga2VjaWwgKG4g4omkIDMwKSoqLg0KDQpEYWxhbSBrb25kaXNpIGluaSwgVC1zY29yZSBsZWJpaCB0ZXBhdCBrYXJlbmEgbWVtcGVydGltYmFuZ2thbiB2YXJpYWJpbGl0YXMgdGFtYmFoYW4geWFuZyBtdW5jdWwgYWtpYmF0IGVzdGltYXNpIHN0YW5kYXIgZGV2aWFzaSBkYXJpIHNhbXBlbCBrZWNpbC4NCg0KIyMjIENvbnRvaCBQZW5nZ3VuYWFuIFQtU2NvcmUNCg0KKipLYXN1czoqKg0KDQpTZWJ1YWggcmVzdG9yYW4gbWVuZ2tsYWltIGJhaHdhIGJlcmF0IHJhdGEtcmF0YSBidXJnZXIgeWFuZyBtZXJla2EgcHJvZHVrc2kgYWRhbGFoIDAsMjUgcG9uICjOvCA9IDAsMjUpLiBLaXRhIG1lbmdhbWJpbCBzYW1wZWwgYWNhayAyMCBidXJnZXIgKG4gPSAyMCkgZGFuIG1lbmVtdWthbiByYXRhLXJhdGEgYmVyYXQgc2FtcGVsIGFkYWxhaCAwLDIyIHBvbiAoeMyEID0gMCwyMikgZGVuZ2FuIHN0YW5kYXIgZGV2aWFzaSBzYW1wZWwgMCwwNSBwb24gKHMgPSAwLDA1KS4gS2l0YSBpbmdpbiBtZW5ndWppIGFwYWthaCBiZXJhdCByYXRhLXJhdGEgYnVyZ2VyIGJlcmJlZGEgZGFyaSAwLDI1IHBvbi4NCg0KIyMjIExhbmdrYWgtbGFuZ2thaDoNCg0KMS4gICoqVGVudHVrYW4gaGlwb3Rlc2lzOioqDQoNCiAgICAtICAgSOKCgDogzrwgPSAwLDI1IChiZXJhdCByYXRhLXJhdGEgYnVyZ2VyIGFkYWxhaCAwLDI1IHBvbikNCiAgICAtICAgSOKCgTogzrwg4omgIDAsMjUgKGJlcmF0IHJhdGEtcmF0YSBidXJnZXIgYnVrYW4gMCwyNSBwb24pDQoNCjIuICAqKkhpdHVuZyBULXNjb3JlOioqDQoNCiAgICBgYGAgICAgICAgICANCiAgICB0ID0gKHjMhCAtIM68KSAvIChzIC8gc3FydChuKSkNCiAgICB0ID0gKDAuMjIgLSAwLjI1KSAvICgwLjA1IC8gc3FydCgyMCkpDQogICAgdCA9ICgtMC4wMykgLyAoMC4wMTExOCkNCiAgICB0IOKJiCAtMi42ODMNCiAgICBgYGANCg0KMy4gICoqVGVudHVrYW4gbmlsYWkga3JpdGlzOioqDQoNCiAgICAtICAgRGVyYWphdCBrZWJlYmFzYW4gKGRmKSA9IG4gLSAxID0gMTkuDQogICAgLSAgIFVudHVrIM6xID0gMCwwNSAodWppIGR1YSBzaXNpKSwgbmlsYWkga3JpdGlzIHQgZGVuZ2FuIGRmID0gMTkgYWRhbGFoIMKxMiwwOTMuDQoNCjQuICAqKktlcHV0dXNhbjoqKg0KDQogICAgLSAgIEthcmVuYSAtMiw2ODMgXDwgLTIsMDkzLCBraXRhIG1lbm9sYWsgSOKCgC4gQWRhIGJ1a3RpIGN1a3VwIGJhaHdhIGJlcmF0IHJhdGEtcmF0YSBidXJnZXIgYmVyYmVkYSBkYXJpIDAsMjUgcG9uLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyMgS2VzaW1wdWxhbg0KDQp8IEtvbmRpc2kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEd1bmFrYW4gICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfA0KfCBTdGFuZGFyIGRldmlhc2kgcG9wdWxhc2kgZGlrZXRhaHVpLCBuIFw+IDMwICAgICAgfCAqKlotc2NvcmUqKiB8DQp8IFN0YW5kYXIgZGV2aWFzaSBwb3B1bGFzaSB0aWRhayBkaWtldGFodWksIG4g4omkIDMwIHwgKipULXNjb3JlKiogfA0KDQoNCiMgUmVmZXJlbnNpDQoNClsxLiAzIFNpZ2FtYSAmIDYgU2lnbWEgKDEpXShodHRwczovL3RpbWVzcHJvLmNvbS9ibG9nLzMtc2lnbWEtdnMtNi1zaWdtYS13aGF0LWFyZS10aGUtdG9wLWRpZmZlcmVuY2VzLWFuZC1leGFtcGxlcykNCg0KWzIuIDMgU2lnbWEgJiA2IFNpZ21hICgyKV0oaHR0cHM6Ly93d3cuaW5kZWVkLmNvbS9jYXJlZXItYWR2aWNlL2NhcmVlci1kZXZlbG9wbWVudC8zLXNpZ21hLXZzLTYtc2lnbWEpDQoNClszLiBaIFNjb3JlICYgVCBTY29yZSAoMSldKGh0dHBzOi8vd3d3LnN0YXRpc3RpY3Nob3d0by5jb20vcHJvYmFiaWxpdHktYW5kLXN0YXRpc3RpY3MvaHlwb3RoZXNpcy10ZXN0aW5nL3Qtc2NvcmUtdnMtei1zY29yZS8pDQoNCls0LiBaIFNjb3JlICYgVCBTY29yZSAoMildKGh0dHBzOi8vd3d3LnN0YXRvbG9neS5vcmcvdC1zY29yZS12cy16LXNjb3JlLykNCg==