

Email          : clara.evania@student.matanauniversity.ac.id
RPubs         : https://rpubs.com/claradellaevania/
Jurusan      : Statistika Bisnis
Address     : ARA Center, Matana University Tower
             Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Artikel mengenai sejarah perkembangan sistem basis data (dari awal hingga saat ini)
Database merupakan suatu kumpulan informasi yang tersimpan didalam computer secara teratur agar dapat diakses ataupun digunakan oleh pengguna dalam melakukan suatu program computer dalam mendapatkan sebuah informasi dari database tersebut. Database Management System merupakan sebuah perantara bagi user atau pengguna, dimana cara berinteraksinya dapat memakai Bahasa basis data yang sudah ditentukan oleh perusahaan DBMS.
Tahun 1960
Awal tahun 1960, pada sebuah perusahaan General Electric khususnya seorang yang bekerja pada perusahaan tersebut yang bernama Charles Bachman mendesaign Penyimpanan Data Terintegritasi (Integrated Data Store), dimana itu merupakan desain generasi pertama DBMS. Dasar dalam model data jaringan lalu sibentuk dan distandardisasi oleh Conference on Data System Languange (CODASYL). Pada 1960 akhir, IBM mengembangkan suatu system Manajemen Informasi DBMS, dimana system ini dibentuk dari representasi data yang terdapat pada kerangka kerja yang disebut sebagai model data hierarki. Secara bersamaan, hasil kerja tersebut Bersama IBM dengan Perusahaan Penerbangan Amerika mengembangkan suatu system SABRE yang memungkinkan pengguna mengakses sebuah data yang sama pada jariangan computer.
Tahun 1970
Pada Tahun 1970, di Laboratorium Penelitian yang terlatak di San Jose, seroang peneliti Bernama Edgar Codd mengusulkan sebuah gambaran data baru dimana data tersebut dinamakan model data relational. Dimana pengambaran ini dalam modelnya, skema database terputus dari suatu penyimpanan informasi fisik serta menjadi sebuah prinsip standar dalam system database. Setelah itu Charles Bachman menerima Penghargaan pada ilmu Komputer yang disebut sebagai ACM Turing Award pada tahun 1973. Perkembangan komputer yang semakin pesat diikuti dengan perkembangan perangkat lunak untuk aplikasi bisnis. Sejak tahun 1970-an sampai awal tahun 1980 manajemen berbasis file tradisional berkembang menjadi manajemen basis data.
Tahun 1980
Pada tahun 1980 ini, model relasional menjadi sebuah paradigma DBMS yang paling dominan. Dimana Bahasa query SQL dikembangakan dalam basis data relasional sebagai suatu bagian proyek system R dari IB,. Pada Akhir Tahun 1980, SQL di Standardisasi dan SQL-92 diadopsi oleh American National Standards Institute (ANSI) dan InternaTional Standards Organization (ISO). Program ini digunakan untuk eksekusi yang bersamaan dalam basis data dimana itu dinamakan transaksi. Dimana Pengguna menulis program lalu bertanggung jawab dengan secara bersamaan menjalankan program terhadap DBMS. Pada pertengahan 1980-an perangkat keras komputasi menjadi cukup kuat untuk memungkinkan penyebaran sistem relasional secara luas (DBMS plus aplikasi).
Tahun 1990
Pada akhir tahun 1980 dan awal tahun 1990, hamper seluruh bidang system basisdata dikembangkan. dBASE merupakan salah satu judul perangkat lunak terlaris pada 1980-an dan awal 1990-an.Penelitian dibidang basisdata meliputi bahasa query yang powerful, model data yang lengkap, dan penekanan pada dukungan analisis data yang kompleks semua bagian organisasi. Beberapa Vendor memperluaskan sistemnya dalam menyimpan tipe data baru dan kemampuan query yang kompleks. Tahun 1990-an, seiring dengan peningkatan pemrograman berorientasi objek, melihat pertumbuhan dalam cara penanganan data di berbagai database. Pemrogram dan desainer mulai memperlakukan data dalam database mereka sebagai objek.
Tahun 2000
Pada Tahun 200an, Jenis database yang beroirentasi terstruktur dimana memungkinkan pembuatan query adalah Database XML yang Sebagian besar digunakan dalam aplikasi agar datanya dapat dengan mudah dilihat sebagai kumpulan dokumen. Pada tahun ini juga, metodologi database pasca-relasional muncul. Jenis basis data ini dikenal sebagai basis data NoSQL. Tipe basis data ini menampilkan basis data yang berorientasi pada dokumen dan menghadirkan penyimpanan nilai kunci cepat. Beberapa DMBS NoSQL yang lebih populer termasuk Oracle NoSQL Database, Riak, Couchbase, Apache Cassandra, CouchDB, dan HBase yang semuanya merupakan produk berbasis sumber terbuka. Database relasional yang lebih baru muncul di pasar yang memiliki tolok ukur kinerja yang serupa dengan tipe NoSQL disebut sebagai NewSQL.
Saat Ini
Untuk saat ini, DBMS digunakan untuk menyimpan sebuah data yang tentunya dapat diakses melalui web browser. Dimana Query dapat dibuat melalui sebuah form web dan format jawabannya tersebut menggunakan markup language seperti HTML dalam mempermudah penampilan pada browser. Manajemen basisdata mempertimbangkan pentingnya suatu data bersifat online dan dapat diakses melalui jaringan computer. Saat ini, bidang seperti ini diwujudkan dalam basisdata multimedia, video unteraktif, perpustakaan digital, proyek ilmuwan. Sebagai salah satu contoh adalah E-Commerce. E-Commerce menggunakan basis data (database) untuk berbagai kebutuhan transaksional sehari-hari. Dalam sehari saja, situs E-Commerce dapat memiliki jumlah transaksi database yang sangat besar.
Kelebihan dan Kekurangan Penggunaan Sistem Basis Data
Kelebihan
- Kecepatan dan Kemudahan
- Pengambilan Informasi dapat dilakukan dengan lebih cepat dan mudah dengan menggunakan basis data, dimana basis data memiliki suatu kemampuan dalam pengelompokkan dan pengurutan sampai dengan perhitungan matematika. Dengan merancang sesuatu yang benar, penyajian informasi dapat dilakukan dengan lebih cepat dan mudah
- Ketersediaan
- Dengan Menggunakan Basisdata, kita dapat membackup data dimana bisa memilih atau memilah data yang diperlukan dan data yang ingin kita simpan ketempat lain. Dikarenakan juga mengingat pertumbuhan transaksi suatu organisasi yang memburuhkan media penyimpanan yang semakin besar.
- Keakuratan
- Dengan menerapkan secara ketat aturan tipe, domain, keunikan, dan hubungan antara data kita dapat menekan keakuratan dalam memasukkan maupun menyimpan sebuah data.
- Pemusatan Kontrol Data
- Pengontrolan terhadap suatu data dapat dilakukan disatu tempat saja karena untuk banyak keperluan kita hanya cukup menggunakan satu basisdata. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data.
- Keamanan
- DBMS dilengkapi dengan suatu fasilitas dimana dalam memanajemen, pengguna diberikan suatu hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Jadi Basis data dapat diberikan sebuah password dalam membatasi orang-orang yang mengaksesnya
Kekurangan
- Biaya Sangat Mahal
- Dimana dalam Databasemenyangkut biaya-biaya untuk pembelian sekaligus perawatan hardware and software. Selain itu menyusul biaya tambahan dalam storage (penyimpanan), network (jaringan) dan lain-lain.
- Sistem lebih rumit
- Perancang, pengembang, DBA, basis data administrator, dan pengguna akhir harus memahami secara detail dan mendalam tentang fungsi basis data yang ditangani agar dapat mengambil manfaat dari basis data. Kegagalan dalam memainkannya dapat menyebabkan kerugian yang cukup besar bagi organisasi atau perusahaan
- Adanya Tambahan biaya konversi
- Diperlukan biaya yang besar untuk berpindah dari aplikasi/sistem yang lama ke dalam sistem dan hardware basis data yang baru (Upgrade). Ditambah lagi, diperlukan pula biaya untuk pelatihan staff untuk menggunakan sistem yang baru.
LS0tDQp0aXRsZTogIkRhdGFiYXNlIFN5c3RlbSINCnN1YnRpdGxlOiAiVHVnYXMgMSINCmF1dGhvcjogIkNsYXJhIERlbGxhIEV2YW5pYSAoMjAyMDQ5MjAwMTgpIg0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDogDQogICAgaHRtbF9kb2N1bWVudDogbnVsbA0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRoZW1lOiBzYW5kc3RvbmUNCiAgICBjc3M6IHN0eWxlMS5jc3MNCiAgICBoaWdobGlnaHQ6IG1vbm9jaHJvbWUNCi0tLQ0KDQoNCjxpbWcgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luOiAwcHggMTAwcHggMHB4IDBweDsgd2lkdGg6MzAlIiBzcmM9Im1lLmpwZWciLz4gDQoNCmBgYHtyIGxvZ28sIGVjaG89RkFMU0UsZmlnLmFsaWduPSdjZW50ZXInLCBvdXQud2lkdGggPSAnMzAlJ30NCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCJMb2dvTWF0YW5hLnBuZyIpDQpgYGANCg0KRW1haWwgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7OiAgY2xhcmEuZXZhbmlhQHN0dWRlbnQubWF0YW5hdW5pdmVyc2l0eS5hYy5pZCA8YnI+DQpSUHVicyAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7OiBodHRwczovL3JwdWJzLmNvbS9jbGFyYWRlbGxhZXZhbmlhLyA8YnI+DQpKdXJ1c2FuICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs6IFtTdGF0aXN0aWthIEJpc25pc10oaHR0cHM6Ly9tYXRhbmF1bml2ZXJzaXR5LmFjLmlkLz9seT1hY2FkZW1pYyZjPXNiKSA8YnI+DQpBZGRyZXNzICAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgOiBBUkEgQ2VudGVyLCBNYXRhbmEgVW5pdmVyc2l0eSBUb3dlciA8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOyBKbC4gQ0JEIEJhcmF0IEthdiwgUlQuMSwgQ3VydWcgU2FuZ2VyZW5nLCBLZWxhcGEgRHVhLCBUYW5nZXJhbmcsIEJhbnRlbiAxNTgxMC4NCg0KKioqKg0KDQojICoqQXJ0aWtlbCBtZW5nZW5haSBzZWphcmFoIHBlcmtlbWJhbmdhbiBzaXN0ZW0gYmFzaXMgZGF0YSAoZGFyaSBhd2FsIGhpbmdnYSBzYWF0IGluaSkqKg0KDQpEYXRhYmFzZSBtZXJ1cGFrYW4gc3VhdHUga3VtcHVsYW4gaW5mb3JtYXNpIHlhbmcgdGVyc2ltcGFuIGRpZGFsYW0gY29tcHV0ZXIgc2VjYXJhIHRlcmF0dXIgYWdhciBkYXBhdCBkaWFrc2VzIGF0YXVwdW4gZGlndW5ha2FuIG9sZWggcGVuZ2d1bmEgZGFsYW0gbWVsYWt1a2FuIHN1YXR1IHByb2dyYW0gY29tcHV0ZXIgZGFsYW0gbWVuZGFwYXRrYW4gc2VidWFoIGluZm9ybWFzaSBkYXJpIGRhdGFiYXNlIHRlcnNlYnV0LiBEYXRhYmFzZSBNYW5hZ2VtZW50IFN5c3RlbSBtZXJ1cGFrYW4gc2VidWFoIHBlcmFudGFyYSBiYWdpIHVzZXIgYXRhdSBwZW5nZ3VuYSwgZGltYW5hIGNhcmEgYmVyaW50ZXJha3NpbnlhIGRhcGF0IG1lbWFrYWkgQmFoYXNhIGJhc2lzIGRhdGEgeWFuZyBzdWRhaCBkaXRlbnR1a2FuIG9sZWggcGVydXNhaGFhbiBEQk1TLiANCg0KKipUYWh1biAxOTYwKioNCg0KQXdhbCB0YWh1biAxOTYwLCBwYWRhIHNlYnVhaCBwZXJ1c2FoYWFuIGBHZW5lcmFsIEVsZWN0cmljYCBraHVzdXNueWEgc2VvcmFuZyB5YW5nIGJla2VyamEgcGFkYSBwZXJ1c2FoYWFuIHRlcnNlYnV0IHlhbmcgYmVybmFtYSBgQ2hhcmxlcyBCYWNobWFuYCBtZW5kZXNhaWduIFBlbnlpbXBhbmFuIERhdGEgVGVyaW50ZWdyaXRhc2kgKEludGVncmF0ZWQgRGF0YSBTdG9yZSksIGRpbWFuYSBpdHUgbWVydXBha2FuIGRlc2FpbiBnZW5lcmFzaSBwZXJ0YW1hIERCTVMuIERhc2FyIGRhbGFtIG1vZGVsIGRhdGEgamFyaW5nYW4gbGFsdSBzaWJlbnR1ayBkYW4gZGlzdGFuZGFyZGlzYXNpIG9sZWggQ29uZmVyZW5jZSBvbiBEYXRhIFN5c3RlbSBMYW5ndWFuZ2UgKENPREFTWUwpLiBQYWRhIDE5NjAgYWtoaXIsIElCTSBtZW5nZW1iYW5na2FuIHN1YXR1IHN5c3RlbSBNYW5hamVtZW4gSW5mb3JtYXNpIERCTVMsIGRpbWFuYSBzeXN0ZW0gaW5pIGRpYmVudHVrIGRhcmkgcmVwcmVzZW50YXNpIGRhdGEgeWFuZyB0ZXJkYXBhdCBwYWRhIGtlcmFuZ2thIGtlcmphIHlhbmcgZGlzZWJ1dCBzZWJhZ2FpIG1vZGVsIGRhdGEgaGllcmFya2kuIFNlY2FyYSBiZXJzYW1hYW4sIGhhc2lsIGtlcmphIHRlcnNlYnV0IEJlcnNhbWEgSUJNIGRlbmdhbiBQZXJ1c2FoYWFuIFBlbmVyYmFuZ2FuIEFtZXJpa2EgbWVuZ2VtYmFuZ2thbiBzdWF0dSBzeXN0ZW0gU0FCUkUgeWFuZyBtZW11bmdraW5rYW4gcGVuZ2d1bmEgbWVuZ2Frc2VzIHNlYnVhaCBkYXRhIHlhbmcgc2FtYSBwYWRhIGphcmlhbmdhbiBjb21wdXRlci4gDQoNCg0KKipUYWh1biAxOTcwKioNCiANClBhZGEgVGFodW4gMTk3MCwgZGkgTGFib3JhdG9yaXVtIFBlbmVsaXRpYW4geWFuZyB0ZXJsYXRhayBkaSBTYW4gSm9zZSwgc2Vyb2FuZyBwZW5lbGl0aSBCZXJuYW1hIEVkZ2FyIENvZGQgbWVuZ3VzdWxrYW4gc2VidWFoIGdhbWJhcmFuIGRhdGEgYmFydSBkaW1hbmEgZGF0YSB0ZXJzZWJ1dCBkaW5hbWFrYW4gbW9kZWwgZGF0YSByZWxhdGlvbmFsLiBEaW1hbmEgcGVuZ2FtYmFyYW4gaW5pIGRhbGFtIG1vZGVsbnlhLCBza2VtYSBkYXRhYmFzZSB0ZXJwdXR1cyBkYXJpIHN1YXR1IHBlbnlpbXBhbmFuIGluZm9ybWFzaSBmaXNpayBzZXJ0YSBtZW5qYWRpIHNlYnVhaCBwcmluc2lwIHN0YW5kYXIgZGFsYW0gc3lzdGVtIGRhdGFiYXNlLiBTZXRlbGFoIGl0dSBDaGFybGVzIEJhY2htYW4gbWVuZXJpbWEgUGVuZ2hhcmdhYW4gcGFkYSBpbG11IEtvbXB1dGVyIHlhbmcgZGlzZWJ1dCBzZWJhZ2FpIEFDTSBUdXJpbmcgQXdhcmQgcGFkYSB0YWh1biAxOTczLiBQZXJrZW1iYW5nYW4ga29tcHV0ZXIgeWFuZyBzZW1ha2luIHBlc2F0IGRpaWt1dGkgZGVuZ2FuIHBlcmtlbWJhbmdhbiBwZXJhbmdrYXQgbHVuYWsgdW50dWsgYXBsaWthc2kgYmlzbmlzLiBTZWphayB0YWh1biAxOTcwLWFuIHNhbXBhaSBhd2FsIHRhaHVuIDE5ODAgbWFuYWplbWVuIGJlcmJhc2lzIGZpbGUgdHJhZGlzaW9uYWwgYmVya2VtYmFuZyBtZW5qYWRpIG1hbmFqZW1lbiBiYXNpcyBkYXRhLg0KDQoqKlRhaHVuIDE5ODAqKg0KDQpQYWRhIHRhaHVuIDE5ODAgaW5pLCBtb2RlbCByZWxhc2lvbmFsIG1lbmphZGkgc2VidWFoIHBhcmFkaWdtYSBEQk1TIHlhbmcgcGFsaW5nIGRvbWluYW4uIERpbWFuYSBCYWhhc2EgcXVlcnkgU1FMIGRpa2VtYmFuZ2FrYW4gZGFsYW0gYmFzaXMgZGF0YSByZWxhc2lvbmFsIHNlYmFnYWkgc3VhdHUgYmFnaWFuIHByb3llayBzeXN0ZW0gUiBkYXJpIElCLC4gUGFkYSBBa2hpciBUYWh1biAxOTgwLCBTUUwgZGkgU3RhbmRhcmRpc2FzaSBkYW4gU1FMLTkyIGRpYWRvcHNpIG9sZWggQW1lcmljYW4gTmF0aW9uYWwgU3RhbmRhcmRzIEluc3RpdHV0ZSAoQU5TSSkgZGFuIEludGVybmFUaW9uYWwgU3RhbmRhcmRzIE9yZ2FuaXphdGlvbiAoSVNPKS4gUHJvZ3JhbSBpbmkgZGlndW5ha2FuIHVudHVrIGVrc2VrdXNpIHlhbmcgYmVyc2FtYWFuIGRhbGFtIGJhc2lzIGRhdGEgZGltYW5hIGl0dSBkaW5hbWFrYW4gdHJhbnNha3NpLiBEaW1hbmEgUGVuZ2d1bmEgbWVudWxpcyBwcm9ncmFtIGxhbHUgYmVydGFuZ2d1bmcgamF3YWIgZGVuZ2FuIHNlY2FyYSBiZXJzYW1hYW4gbWVuamFsYW5rYW4gcHJvZ3JhbSB0ZXJoYWRhcCBEQk1TLiBQYWRhIHBlcnRlbmdhaGFuIDE5ODAtYW4gcGVyYW5na2F0IGtlcmFzIGtvbXB1dGFzaSBtZW5qYWRpIGN1a3VwIGt1YXQgdW50dWsgbWVtdW5na2lua2FuIHBlbnllYmFyYW4gc2lzdGVtIHJlbGFzaW9uYWwgc2VjYXJhIGx1YXMgKERCTVMgcGx1cyBhcGxpa2FzaSkuDQoNCg0KKipUYWh1biAxOTkwKioNCg0KUGFkYSBha2hpciB0YWh1biAxOTgwIGRhbiBhd2FsIHRhaHVuIDE5OTAsIGhhbXBlciBzZWx1cnVoIGJpZGFuZyBzeXN0ZW0gYmFzaXNkYXRhIGRpa2VtYmFuZ2thbi4gZEJBU0UgbWVydXBha2FuIHNhbGFoIHNhdHUganVkdWwgcGVyYW5na2F0IGx1bmFrIHRlcmxhcmlzIHBhZGEgMTk4MC1hbiBkYW4gYXdhbCAxOTkwLWFuLlBlbmVsaXRpYW4gZGliaWRhbmcgYmFzaXNkYXRhIG1lbGlwdXRpIGJhaGFzYSBxdWVyeSB5YW5nIHBvd2VyZnVsLCBtb2RlbCBkYXRhIHlhbmcgbGVuZ2thcCwgZGFuIHBlbmVrYW5hbiBwYWRhIGR1a3VuZ2FuIGFuYWxpc2lzIGRhdGEgeWFuZyBrb21wbGVrcyBzZW11YSBiYWdpYW4gb3JnYW5pc2FzaS4gQmViZXJhcGEgVmVuZG9yIG1lbXBlcmx1YXNrYW4gc2lzdGVtbnlhIGRhbGFtIG1lbnlpbXBhbiB0aXBlIGRhdGEgYmFydSBkYW4ga2VtYW1wdWFuIHF1ZXJ5IHlhbmcga29tcGxla3MuIFRhaHVuIDE5OTAtYW4sIHNlaXJpbmcgZGVuZ2FuIHBlbmluZ2thdGFuIHBlbXJvZ3JhbWFuIGJlcm9yaWVudGFzaSBvYmplaywgbWVsaWhhdCBwZXJ0dW1idWhhbiBkYWxhbSBjYXJhIHBlbmFuZ2FuYW4gZGF0YSBkaSBiZXJiYWdhaSBkYXRhYmFzZS4gUGVtcm9ncmFtIGRhbiBkZXNhaW5lciBtdWxhaSBtZW1wZXJsYWt1a2FuIGRhdGEgZGFsYW0gZGF0YWJhc2UgbWVyZWthIHNlYmFnYWkgb2JqZWsuDQoNCioqVGFodW4gMjAwMCoqDQoNClBhZGEgVGFodW4gMjAwYW4sIEplbmlzIGRhdGFiYXNlIHlhbmcgYmVyb2lyZW50YXNpIHRlcnN0cnVrdHVyIGRpbWFuYSBtZW11bmdraW5rYW4gcGVtYnVhdGFuIHF1ZXJ5IGFkYWxhaCBEYXRhYmFzZSBYTUwgeWFuZyBTZWJhZ2lhbiBiZXNhciBkaWd1bmFrYW4gZGFsYW0gYXBsaWthc2kgYWdhciBkYXRhbnlhIGRhcGF0IGRlbmdhbiBtdWRhaCBkaWxpaGF0IHNlYmFnYWkga3VtcHVsYW4gZG9rdW1lbi4gUGFkYSB0YWh1biBpbmkganVnYSwgbWV0b2RvbG9naSBkYXRhYmFzZSBwYXNjYS1yZWxhc2lvbmFsIG11bmN1bC4gSmVuaXMgYmFzaXMgZGF0YSBpbmkgZGlrZW5hbCBzZWJhZ2FpIGJhc2lzIGRhdGEgTm9TUUwuIFRpcGUgYmFzaXMgZGF0YSBpbmkgbWVuYW1waWxrYW4gYmFzaXMgZGF0YSB5YW5nIGJlcm9yaWVudGFzaSBwYWRhIGRva3VtZW4gZGFuIG1lbmdoYWRpcmthbiBwZW55aW1wYW5hbiBuaWxhaSBrdW5jaSBjZXBhdC4gQmViZXJhcGEgRE1CUyBOb1NRTCB5YW5nIGxlYmloIHBvcHVsZXIgdGVybWFzdWsgT3JhY2xlIE5vU1FMIERhdGFiYXNlLCBSaWFrLCBDb3VjaGJhc2UsIEFwYWNoZSBDYXNzYW5kcmEsIENvdWNoREIsIGRhbiBIQmFzZSB5YW5nIHNlbXVhbnlhIG1lcnVwYWthbiBwcm9kdWsgYmVyYmFzaXMgc3VtYmVyIHRlcmJ1a2EuIERhdGFiYXNlIHJlbGFzaW9uYWwgeWFuZyBsZWJpaCBiYXJ1IG11bmN1bCBkaSBwYXNhciB5YW5nIG1lbWlsaWtpIHRvbG9rIHVrdXIga2luZXJqYSB5YW5nIHNlcnVwYSBkZW5nYW4gdGlwZSBOb1NRTCBkaXNlYnV0IHNlYmFnYWkgTmV3U1FMLg0KDQoqKlNhYXQgSW5pKioNCg0KVW50dWsgc2FhdCBpbmksIERCTVMgZGlndW5ha2FuIHVudHVrIG1lbnlpbXBhbiBzZWJ1YWggZGF0YSB5YW5nIHRlbnR1bnlhIGRhcGF0IGRpYWtzZXMgbWVsYWx1aSB3ZWIgYnJvd3Nlci4gRGltYW5hIFF1ZXJ5IGRhcGF0IGRpYnVhdCBtZWxhbHVpIHNlYnVhaCBmb3JtIHdlYiBkYW4gZm9ybWF0IGphd2FiYW5ueWEgdGVyc2VidXQgbWVuZ2d1bmFrYW4gbWFya3VwIGxhbmd1YWdlIHNlcGVydGkgSFRNTCBkYWxhbSBtZW1wZXJtdWRhaCBwZW5hbXBpbGFuIHBhZGEgYnJvd3Nlci4gTWFuYWplbWVuIGJhc2lzZGF0YSBtZW1wZXJ0aW1iYW5na2FuIHBlbnRpbmdueWEgc3VhdHUgZGF0YSBiZXJzaWZhdCBvbmxpbmUgZGFuIGRhcGF0IGRpYWtzZXMgbWVsYWx1aSBqYXJpbmdhbiBjb21wdXRlci4gU2FhdCBpbmksIGJpZGFuZyBzZXBlcnRpIGluaSBkaXd1anVka2FuIGRhbGFtIGJhc2lzZGF0YSBtdWx0aW1lZGlhLCB2aWRlbyB1bnRlcmFrdGlmLCBwZXJwdXN0YWthYW4gZGlnaXRhbCwgcHJveWVrIGlsbXV3YW4uIFNlYmFnYWkgc2FsYWggc2F0dSBjb250b2ggYWRhbGFoIEUtQ29tbWVyY2UuIEUtQ29tbWVyY2UgbWVuZ2d1bmFrYW4gYmFzaXMgZGF0YSAoZGF0YWJhc2UpIHVudHVrIGJlcmJhZ2FpIGtlYnV0dWhhbiB0cmFuc2Frc2lvbmFsIHNlaGFyaS1oYXJpLiBEYWxhbSBzZWhhcmkgc2FqYSwgc2l0dXMgRS1Db21tZXJjZSBkYXBhdCBtZW1pbGlraSBqdW1sYWggdHJhbnNha3NpIGRhdGFiYXNlIHlhbmcgc2FuZ2F0IGJlc2FyLg0KDQojICoqS2VsZWJpaGFuIGRhbiBLZWt1cmFuZ2FuIFBlbmdndW5hYW4gU2lzdGVtIEJhc2lzIERhdGEqKg0KDQojIyAqKktlbGViaWhhbioqDQoNCmBgYHtyIGVjaG89RkFMU0V9DQpsaWJyYXJ5KGthYmxlRXh0cmEpDQpvcHRpb25zKGtuaXRyLnRhYmxlLmZvcm1hdCA9ICJsYXRleCIpDQpgYGANCiogYHIgdGV4dF9zcGVjKCJLZWNlcGF0YW4gZGFuIEtlbXVkYWhhbiIsIGJhY2tncm91bmQgPSAiI0QwNUE2RSIsIGNvbG9yID0gIndoaXRlIiwgYm9sZCA9IFQpYA0KICAgLSBQZW5nYW1iaWxhbiBJbmZvcm1hc2kgZGFwYXQgZGlsYWt1a2FuIGRlbmdhbiBsZWJpaCBjZXBhdCBkYW4gbXVkYWggZGVuZ2FuIG1lbmdndW5ha2FuIGJhc2lzIGRhdGEsIGRpbWFuYSBiYXNpcyBkYXRhIG1lbWlsaWtpIHN1YXR1IGtlbWFtcHVhbiBkYWxhbSBwZW5nZWxvbXBva2thbiBkYW4gcGVuZ3VydXRhbiBzYW1wYWkgZGVuZ2FuIHBlcmhpdHVuZ2FuIG1hdGVtYXRpa2EuIERlbmdhbiBtZXJhbmNhbmcgc2VzdWF0dSB5YW5nIGJlbmFyLCBwZW55YWppYW4gaW5mb3JtYXNpIGRhcGF0IGRpbGFrdWthbiBkZW5nYW4gbGViaWggY2VwYXQgZGFuIG11ZGFoDQoqIGByIHRleHRfc3BlYygiS2V0ZXJzZWRpYWFuIiwgYmFja2dyb3VuZCA9ICIjRDA1QTZFIiwgY29sb3IgPSAid2hpdGUiLCBib2xkID0gVClgDQogICAtIERlbmdhbiBNZW5nZ3VuYWthbiBCYXNpc2RhdGEsIGtpdGEgZGFwYXQgbWVtYmFja3VwIGRhdGEgZGltYW5hIGJpc2EgbWVtaWxpaCBhdGF1IG1lbWlsYWggZGF0YSB5YW5nIGRpcGVybHVrYW4gZGFuIGRhdGEgeWFuZyBpbmdpbiBraXRhIHNpbXBhbiBrZXRlbXBhdCBsYWluLiBEaWthcmVuYWthbiBqdWdhIG1lbmdpbmdhdCBwZXJ0dW1idWhhbiB0cmFuc2Frc2kgc3VhdHUgb3JnYW5pc2FzaSB5YW5nIG1lbWJ1cnVoa2FuIG1lZGlhIHBlbnlpbXBhbmFuIHlhbmcgc2VtYWtpbiBiZXNhci4NCiogYHIgdGV4dF9zcGVjKCJLZWFrdXJhdGFuIiwgYmFja2dyb3VuZCA9ICIjRDA1QTZFIiwgY29sb3IgPSAid2hpdGUiLCBib2xkID0gVClgDQogICAtIERlbmdhbiBtZW5lcmFwa2FuIHNlY2FyYSBrZXRhdCBhdHVyYW4gdGlwZSwgZG9tYWluLCBrZXVuaWthbiwgZGFuIGh1YnVuZ2FuIGFudGFyYSBkYXRhIGtpdGEgZGFwYXQgbWVuZWthbiBrZWFrdXJhdGFuIGRhbGFtIG1lbWFzdWtrYW4gbWF1cHVuIG1lbnlpbXBhbiBzZWJ1YWggZGF0YS4gDQoqIGByIHRleHRfc3BlYygiUGVtdXNhdGFuIEtvbnRyb2wgRGF0YSIsIGJhY2tncm91bmQgPSAiI0QwNUE2RSIsIGNvbG9yID0gIndoaXRlIiwgYm9sZCA9IFQpYA0KICAgLSBQZW5nb250cm9sYW4gdGVyaGFkYXAgc3VhdHUgZGF0YSBkYXBhdCBkaWxha3VrYW4gZGlzYXR1IHRlbXBhdCBzYWphIGthcmVuYSB1bnR1ayBiYW55YWsga2VwZXJsdWFuIGtpdGEgaGFueWEgY3VrdXAgbWVuZ2d1bmFrYW4gc2F0dSBiYXNpc2RhdGEuIEppa2EgYWRhIHBlcnViYWhhbiBkYXRhIGFsYW1hdCBtYWhhc2lzd2EgbWlzYWxueWEsIG1ha2EgdGlkYWsgcGVybHUga2l0YSBtZW5nLXVwZGF0ZSBzZW11YSBkYXRhIGRpbWFzaW5nLW1hc2luZyBiYWdpYW4gdGV0YXBpIGN1a3VwIGhhbnlhIGRpc2F0dSBiYXNpcyBkYXRhLg0KKiBgciB0ZXh0X3NwZWMoIktlYW1hbmFuIiwgYmFja2dyb3VuZCA9ICIjRDA1QTZFIiwgY29sb3IgPSAid2hpdGUiLCBib2xkID0gVClgDQogICAtIERCTVMgZGlsZW5na2FwaSBkZW5nYW4gc3VhdHUgZmFzaWxpdGFzIGRpbWFuYSBkYWxhbSBtZW1hbmFqZW1lbiwgcGVuZ2d1bmEgZGliZXJpa2FuIHN1YXR1IGhhayBha3NlcyB5YW5nIGJlcmJlZGEtYmVkYSBzZXN1YWkgZGVuZ2FuIHBlbmdndW5hIGRhbiBwb3Npc2lueWEuIEphZGkgQmFzaXMgZGF0YSBkYXBhdCBkaWJlcmlrYW4gc2VidWFoIHBhc3N3b3JkIGRhbGFtIG1lbWJhdGFzaSBvcmFuZy1vcmFuZyB5YW5nIG1lbmdha3Nlc255YQ0KDQojIyAqKktla3VyYW5nYW4qKg0KDQpgYGB7ciBlY2hvPUZBTFNFfQ0KbGlicmFyeShrYWJsZUV4dHJhKQ0Kb3B0aW9ucyhrbml0ci50YWJsZS5mb3JtYXQgPSAibGF0ZXgiKQ0KYGBgDQoqIGByIHRleHRfc3BlYygiQmlheWEgU2FuZ2F0IE1haGFsIiwgYmFja2dyb3VuZCA9ICIjOGM1MmUzIiwgY29sb3IgPSAid2hpdGUiLCBib2xkID0gVClgDQogICAtIERpbWFuYSBkYWxhbSBEYXRhYmFzZW1lbnlhbmdrdXQgYmlheWEtYmlheWEgdW50dWsgcGVtYmVsaWFuIHNla2FsaWd1cyBwZXJhd2F0YW4gaGFyZHdhcmUgYW5kIHNvZnR3YXJlLiBTZWxhaW4gaXR1IG1lbnl1c3VsIGJpYXlhIHRhbWJhaGFuIGRhbGFtIHN0b3JhZ2UgKHBlbnlpbXBhbmFuKSwgbmV0d29yayAoamFyaW5nYW4pIGRhbiBsYWluLWxhaW4uDQoqIGByIHRleHRfc3BlYygiU2lzdGVtIGxlYmloIHJ1bWl0IiwgYmFja2dyb3VuZCA9ICIjOGM1MmUzIiwgY29sb3IgPSAid2hpdGUiLCBib2xkID0gVClgDQogICAtIFBlcmFuY2FuZywgcGVuZ2VtYmFuZywgREJBLCBiYXNpcyBkYXRhIGFkbWluaXN0cmF0b3IsIGRhbiBwZW5nZ3VuYSBha2hpciBoYXJ1cyBtZW1haGFtaSBzZWNhcmEgZGV0YWlsIGRhbiBtZW5kYWxhbSB0ZW50YW5nIGZ1bmdzaSBiYXNpcyBkYXRhIHlhbmcgZGl0YW5nYW5pIGFnYXIgZGFwYXQgbWVuZ2FtYmlsIG1hbmZhYXQgZGFyaSBiYXNpcyBkYXRhLiBLZWdhZ2FsYW4gZGFsYW0gbWVtYWlua2FubnlhIGRhcGF0IG1lbnllYmFia2FuIGtlcnVnaWFuIHlhbmcgY3VrdXAgYmVzYXIgYmFnaSBvcmdhbmlzYXNpIGF0YXUgcGVydXNhaGFhbg0KKiBgciB0ZXh0X3NwZWMoIkFkYW55YSBUYW1iYWhhbiBiaWF5YSBrb252ZXJzaSIsIGJhY2tncm91bmQgPSAiIzhjNTJlMyIsIGNvbG9yID0gIndoaXRlIiwgYm9sZCA9IFQpYA0KICAgLSBEaXBlcmx1a2FuIGJpYXlhIHlhbmcgYmVzYXIgdW50dWsgYmVycGluZGFoIGRhcmkgYXBsaWthc2kvc2lzdGVtIHlhbmcgbGFtYSBrZSBkYWxhbSBzaXN0ZW0gZGFuIGhhcmR3YXJlIGJhc2lzIGRhdGEgeWFuZyBiYXJ1IChVcGdyYWRlKS4gRGl0YW1iYWggbGFnaSwgZGlwZXJsdWthbiBwdWxhIGJpYXlhIHVudHVrIHBlbGF0aWhhbiBzdGFmZiB1bnR1ayBtZW5nZ3VuYWthbiBzaXN0ZW0geWFuZyBiYXJ1Lg0KICAgDQojICoqQWt1biBTaGlueSBBcHBzKioNCg0KYGBge3IgaW1hZ2UxLCBlY2hvPUZBTFNFLCBmaWcuY2FwPSJBa3VuIFNoaW55IEFwcHMiLGZpZy5hbGlnbj0nY2VudGVyJywgb3V0LndpZHRoID0gJzEwMCUnfQ0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoInNoaW55YXBwcy5pby5wbmciKQ0KYGBgDQojICoqSW5zdGFsbCBYQU1QUCoqDQoNCmBgYHtyIGltYWdlMiwgZWNobz1GQUxTRSwgZmlnLmNhcD0iIFBlbmdndW5hYW4gWEFNUFAiLGZpZy5hbGlnbj0nY2VudGVyJywgb3V0LndpZHRoID0gJzEwMCUnfQ0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoInhhbXBwLnBuZyIpDQpgYGANCg0KIyAqKk1lbWJ1YXQgRGF0YWJhc2UgQmFydSoqDQoNCmBgYHtyIGltYWdlMywgZWNobz1GQUxTRSwgZmlnLmNhcD0iIERhdGFiYXNlIixmaWcuYWxpZ249J2NlbnRlcicsIG91dC53aWR0aCA9ICcxMDAlJ30NCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCJkYXRhYmFzZS5wbmciKQ0KYGBgDQoNCiMgKipSZWZlcmVuc2kqKg0KDQoqIGh0dHBzOi8vcnB1YnMuY29tL2RzY2llbmNlbGFicy83MTM4MDQNCiogaHR0cHM6Ly9hY2NvdW50aW5nLmJpbnVzLmFjLmlkLzIwMjAvMDcvMTUva2VsZWJpaGFuLWRhbi1rZWt1cmFuZ2FuLXNpc3RlbS1kYXRhYmFzZS8NCiogaHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vaWQvZG9jdW1lbnQvdW5pdmVyc2l0YXMtc3Jpd2lqYXlhL2Jhc2lzLWRhdGEtMS9zZWphcmFoLXBlcmtlbWJhbmdhbi1iYXNpcy1kYXRhLzIwODI3ODU5DQo=