{"id":24300766,"url":"https://github.com/anlavn/al-library","last_synced_at":"2025-09-26T02:31:46.860Z","repository":{"id":60818446,"uuid":"545336231","full_name":"AnLaVN/AL-Library","owner":"AnLaVN","description":"Java utility library, contain many feature, support to Large Language Model inference with LLaMA. Face Detection with OpenCV, Face Recognition with Python....and more","archived":false,"fork":false,"pushed_at":"2024-11-05T00:07:05.000Z","size":155792,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"Releases","last_synced_at":"2024-11-05T00:31:15.574Z","etag":null,"topics":["aes-encryption-decryption","bcrypt","cryptography","face-detection","face-recognition","java","large-language-models","llamacpp","llm-inference","md5-hash","randomorg","sha256-hash","smtp"],"latest_commit_sha":null,"homepage":"https://anlavn.github.io/AL-Library/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnLaVN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-04T07:25:32.000Z","updated_at":"2024-11-05T00:07:08.000Z","dependencies_parsed_at":"2023-11-30T19:23:40.720Z","dependency_job_id":"3cbc1dd6-6522-4df0-b8f5-32ff25f5ec22","html_url":"https://github.com/AnLaVN/AL-Library","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnLaVN%2FAL-Library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnLaVN%2FAL-Library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnLaVN%2FAL-Library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnLaVN%2FAL-Library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnLaVN","download_url":"https://codeload.github.com/AnLaVN/AL-Library/tar.gz/refs/heads/Releases","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234286137,"owners_count":18808433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption-decryption","bcrypt","cryptography","face-detection","face-recognition","java","large-language-models","llamacpp","llm-inference","md5-hash","randomorg","sha256-hash","smtp"],"created_at":"2025-01-16T23:16:24.442Z","updated_at":"2025-09-26T02:31:45.894Z","avatar_url":"https://github.com/AnLaVN.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eAnLa Java Library :)))\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://user-images.githubusercontent.com/90229487/210226067-12f868ef-36cc-45b1-9cce-3c3297f13d25.png\" width = \"40%\"\u003e\n\t\u003cbr\u003e\n\t\u003ca href=\"https://anlavn.github.io/AL-Library/AL-Library_JavaDoc/Vietnamese/\"\u003e\u003cstrong\u003eJava Doc Tiếng Việt\u003c/strong\u003e\u003c/a\u003e\n\t\u0026nbsp;\u003cb\u003e·\u003c/b\u003e\u0026nbsp;\n\t\u003ca href=\"https://anlavn.github.io/AL-Library/AL-Library_JavaDoc/English/\"\u003e\u003cstrong\u003eJava Doc English\u003c/strong\u003e\u003c/a\u003e\n\t\u003cbr\u003e\u003cbr\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/blob/Releases/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/github/license/AnLaVN/AL-Library\" alt=\"GitHub license\"/\u003e\u003c/a\u003e\n\t\u003ca href=\"https://www.oracle.com/java/technologies/javase/jdk18-archive-downloads.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/JDK-17+-orange\" alt=\"JDK\"\u003e\u003c/a\u003e\n\t\u003ca href=\"#52-maven-central-repository\"\u003e\u003cimg src=\"https://img.shields.io/maven-central/v/io.github.AnLaVN/AL-Library_VN\"\u003e\u003c/a\u003e\n\t\u003cbr\u003e\n\t\u003ca href=\"https://github.com/ggerganov/llama.cpp\"\u003e\u003cimg src=\"https://img.shields.io/badge/llama.cpp-YourGPT-red\" alt=\"YourGPT\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://opencv.org/releases/\"\u003e\u003cimg src=\"https://img.shields.io/badge/OpenCV-Face%20Detection-brightgreen\" alt=\"Face Detection\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://pypi.org/project/face-recognition/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Python-Face%20Recognition-blue\" alt=\"Face Recognition\"\u003e\u003c/a\u003e\n\t\u003cbr\u003e\u003cbr\u003e\n\t\u003cimg src=\"https://img.shields.io/github/repo-size/AnLaVN/AL-Library\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/languages/code-size/AnLaVN/AL-Library\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/downloads/AnLaVN/AL-Library/total\"\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/AnLaVN/AL-Library\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release-date/AnLaVN/AL-Library\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/commits/Releases\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/w/AnLaVN/AL-Library\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/commits/Releases\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/AnLaVN/AL-Library\"\u003e\u003c/a\u003e\n\t\u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\n\n# 1. Overview / Tổng quan\n### Tiếng Việt\n\u003e AL-Library là một dự án cá nhân. Về cơ bản, nó là một thư viện bao hàm nhiều thư viện khác giúp việc sử dụng dễ dàng hơn.\n\u003e\n\u003e Thư viện cung cấp các phương thức để bạn có thể làm việc cơ bản trong Java như: hỗ trợ các Thành phần Swing, Băm mật mã học, dịch vụ gửi email SMTP, trò chuyện với AI bot, nhận diện khuôn mặt, nhận dạng khuôn mặt... và hơn thế nữa... Dành lời cảm ơn to lớn đến với [Raven](https://github.com/DJ-Raven), người đàn ông tuyệt vời cùng các dự án Java Swing UI của anh ấy.\n\u003e\n\u003e Nếu bạn gặp bất kì vấn đề gì hoặc có mong muốn gì, đừng ngần ngại mà hãy [liên hệ tôi](https://github.com/AnLaVN), tôi sẽ phản hồi sớm nhất có thể.\n### English\n\u003e AL-Library is a personal project. It's basically a library that includes many other libraries that make it easier to use.\n\u003e\n\u003e The library provides methods for you to do basic work in Java such as: Swing Components support, Cryptographic Hashing, SMTP email service, chat with AI bot, face detection, face recognition... and more... Big thanks to [Raven](https://github.com/DJ-Raven) who great man with his Java Swing UI projects.\n\u003e \n\u003e If you have any problems or have any wishes, do not hesitate to [contact me](https://github.com/AnLaVN), I will respond as soon as possible.\n\n\n\n# 2 Update Policy / Chính Sách Cập Nhật\n### Tiếng Việt\n\u003e #### Quan trọng: Dự án này tuân theo chính sách Cập Nhật Bắt Buộc. Điều này có nghĩa là:\n\u003e - Luôn Luôn Cập Nhật: Người dùng bắt buộc phải nâng cấp lên phiên bản mới nhất khi có bản phát hành mới. Các phiên bản cũ sẽ không được hỗ trợ hoặc bảo trì.\n\u003e - Các bản cập nhật mới sẽ chứa các bản vá lỗi, cải tiến hiệu suất và tính năng mới nhất. Việc không cập nhật có thể dẫn đến các vấn đề bảo mật và hoạt động không ổn định.\n\u003e - Chúng tôi không chịu trách nhiệm về bất kỳ sự cố nào xảy ra nếu bạn sử dụng phiên bản cũ. Để đảm bảo trải nghiệm tốt nhất, hãy luôn cập nhật lên phiên bản mới nhất.\n### English\n\u003e #### Important: This project follows a Mandatory Update policy. This means:\n\u003e - Always Stay Updated: Users are required to upgrade to the latest version upon each new release. Older versions will not be supported or maintained.\n\u003e - New updates contain critical bug fixes, performance improvements, and the latest features. Failure to update may result in security vulnerabilities and unstable operation.\n\u003e - We do not take responsibility for any issues that arise from using outdated versions. To ensure the best experience, always update to the latest version.\n\n\n\n# 3. Features / Tính năng\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.ai - Cung cấp các thư viện liên quan đến AI / Provide AI related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#411-yourgpt\"\u003eYourGPT\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.file - Cung cấp các thư viện liên quan đến tập tin / Provides file related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#421-excel\"\u003eExcel\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#422-log\"\u003eLog\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#423-nativelibrary\"\u003eNativeLibrary\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#424-objectdata\"\u003eObjectData\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#425-properties\"\u003eProperties\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#426-raw\"\u003eRaw\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#427-zip\"\u003eZip\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.hash - Cung cấp các thư viện liên quan đến hàm băm mật mã học / Provides cryptographic hash function related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#431-aes\"\u003eAES\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#432-bcrypt\"\u003eBCrypt\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#433-md5\"\u003eMD5\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#434-sha256\"\u003eSHA256\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.net - Cung cấp các thư viện liên quan đến Internet / Provide Internet related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#441-docnet\"\u003eDocNet\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#442-email\"\u003eEmail\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#443-license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#444-network\"\u003eNetwork\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#445-randomorg\"\u003eRandomORG\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.opencv - Cung cấp các thư viện liên quan đến OpenCV / Provide OpenCV related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#451-facedetection\"\u003eFaceDetection\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#452-facerecognition\"\u003eFaceRecognition\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eanlavn.ui - Cung cấp các thư viện liên quan đến UI / Provide UI related libraries\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"#461-avatarpanel\"\u003eAvatarPanel\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#462-chatbox\"\u003eChatBox\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#463-combobox\"\u003eComboBox\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#464-imagepanel\"\u003eImagePanel\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#465-liquidprogress\"\u003eLiquidProgress\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#466-mode\"\u003eMode\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#467-notification\"\u003eNotification\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#468-progressbar\"\u003eProgressBar\u003c/a\u003e (Add to Palette from JAR)\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#469-scrollbar\"\u003eScrollBar\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#4610-datechooser\"\u003eDateChooser\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#4611-timepicker\"\u003eTimePicker\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"#4612-jnafilechooser\"\u003eJnaFileChooser\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003eJava Doc\u003c/summary\u003e\n\t\u003col\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://anlavn.github.io/AL-Library/AL-Library_JavaDoc/English/\"\u003eEnglish\u003c/a\u003e\u003c/li\u003e\n\t\t\u003cli\u003e\u003ca href=\"https://anlavn.github.io/AL-Library/AL-Library_JavaDoc/Vietnamese/\"\u003eTiếng Việt\u003c/a\u003e\u003c/li\u003e\n\t\u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n# 4. Quick Guide / Hướng dẫn nhanh\n[See details in project example / Xem chi tiết trong dự án mẫu](https://github.com/AnLaVN/AL-Library/tree/Releases/AL-Library_Example)\n\n### API_KEY\n- Các tính năng như [YourGPT](#411-yourgpt), [FaceDetection](#451-facedetection), [FaceRecognition](#452-facerecognition) sẽ cần có API key để sử dụng, vui lòng liên hệ với tôi để được cấp API key.\n- Features such as [YourGPT](#411-yourgpt), [FaceDetection](#451-facedetection), [FaceRecognition](#452-facerecognition) will require an API key to use, please contact me to receive an API key.\n\n---\n\n## 4.1 AI - Provide AI related libraries / Cung cấp các thư viện liên quan đến AI\n\n### 4.1.1 YourGPT\n- Lớp YourGPT hỗ trợ suy luận LLM (Mô hình ngôn ngữ lớn) với LLaMA.\n- The YourGPT class supports to LLM (Large Language Model) inference with LLaMA.\n\n⚠️ Để sử dụng phiên bản tuỳ chỉnh của LlaMa, vui lòng [build thủ công](https://colab.research.google.com/drive/1rRTo_VOmjpDG5ndoj4vaAzkO3yx-nGyi?usp=sharing) / To use a custom version of LlaMa, please [build manually](https://colab.research.google.com/drive/1rRTo_VOmjpDG5ndoj4vaAzkO3yx-nGyi?usp=sharing) ⚠️\n\n🫙 Sử dụng tính năng này với [tệp Jar](https://github.com/AnLaVN/AL-Library/releases/download/v6.70.10.1/YourGPT_Runner.zip) / Use this feature with [Jar files](https://github.com/AnLaVN/AL-Library/releases/download/v6.70.10.1/YourGPT_Runner.zip) 🫙\n\n![image](https://github.com/AnLaVN/AL-Library/assets/90229487/c2f95abd-c7f8-457f-8e16-69f23c4ae24c)\n\n``` java\nimport anlavn.ai.YourGPT;\n\nYourGPT.API_KEY = \"alk~XXX...XXX\";          // Add api key to use\nYourGPT.loadModule();                       // Load module default.\nYourGPT.params.put(\"--host\", \"localhost\");  // Run at localhost\nYourGPT.params.put(\"--port\", \"3000\");       // Run at port 3000\nYourGPT.params.put(\"-ngl\", \"25\");           // Number of GPU player - Allows offloading some layers to the GPU for computation\nYourGPT.params.put(\"-c\", \"2048\");           // Context size - Set the size of the prompt context\nYourGPT.start();            // Start YGPT process with previous parameters.\nThread.sleep(60000);        // Wait 60s.\nYourGPT.destroy();          // Forcibly destroy YGPT process.\n```\nSee more / Xem thêm [ExampleYourGPT](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ai/ExampleYourGPT.java), [YGPT Client](https://github.com/AnLaVN/AL-Library/tree/Releases/YourGPT)\n\n\n---\n\n## 4.2 FILE - Provides file related libraries / Cung cấp các thư viện liên quan đến tập tin\n\n### 4.2.1 Excel\n- Lớp Excel hỗ trợ đọc/ghi dữ liệu từ/vào tệp excel.\n- The Excel class support to read/write data from/to excel file.\n\n``` java\nimport anlavn.file.Excel;\n\t\t\n//Write\nArrayList\u003cObject[]\u003e myData = new ArrayList\u003c\u003e();         //declare array to store data to write to Excel file\nmyData.add(new Object[]{4, 68.11, \"AnLaVN\", true});     //add data\nmyData.add(new Object[]{3, 69.11, \"AnLaVN\", false});    //add data\nExcel.WriteExcel(\"myExcel.xlsx\", \"mySheet\", myData.iterator()); //convert to Iterator and write to Excel file\n\t\t\n//Read\nIterator\u003cObject[]\u003e myExcel = Excel.ReadExcel(\"myExcel.xlsx\", \"mySheet\");    //declare Iterator to store data from Excel file\nwhile (myExcel.hasNext()) { //loop to take every row from Iterator\n\tObject[] row = myExcel.next();  //get row data\n\tSystem.out.println(row[0]+\" | \"+row[1]+\" | \"+row[2]+\" | \"+row[3]);  //print it\n}\n```\nSee more / Xem thêm [ExampleExcel](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleExcel.java)\n\n---\n\n### 4.2.2 Log\n- Lớp Log hỗ trợ xuất thông tin ra tệp nhật ký và màn hình console.\n- The Log class supports to print to console and output log file.\n\n``` java\nimport anlavn.file.Log;\n\nLog.add(\"Your text\");   //write text to log file, will auto create as Logs folder.\nSystem.out.println(\"File path: \" + Log.getFilePath());  //print path of log file.\nLog.closeFile();    //close file if your dont use anymore.\n```\nSee more / Xem thêm [ExampleLog](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleLog.java)\n\n---\n\n### 4.2.3 NativeLibrary\n- Lớp NativeLibrary hỗ trợ tải các thư viện động. \n- The NativeLibrary class supports to loading dynamic libraries. \n\n``` java\nimport anlavn.file.NativeLibrary;\n\nNativeLibrary.load(\"path/YourLib.dll\");\n```\nSee more / Xem thêm [ExampleNativeLibrary](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleNativeLibrary.java)\n\n---\n\n### 4.2.4 ObjectData\n- Lớp ObjectData hỗ trợ ghi và đọc dữ liệu của đối tượng vào tệp tại vị trí được chỉ định.\n- The ObjectData class supports write and read object data to file at specific location.\n\n``` java\nimport anlavn.file.ObjectData;\n\nObjectData.writeData(\"myFile.dat\", new myObject(\"AnLaVN\", 19)); //write new object to myFile.dat\nmyObject myobj = (myObject) ObjectData.readData(\"myFile.dat\");  //read object from myFile.dat, store in myobj variable\nSystem.out.println(\"My name: \" + myobj.getName());  //print value of object\nSystem.out.println(\"My age: \" + myobj.getAge());\n```\n\nThe myObject class.\n``` java\nimport java.io.Serializable;\n//Make sure your class have 'implements Serializable'\npublic class myObject implements Serializable{\n\tprivate String name;\n\tprivate int age;\n\n\tpublic myObject() {}\n\tpublic myObject(String name, int age) {\n\t\tthis.name = name;\n\t\tthis.age = age;\n\t}\n\tpublic String getName() {   return name;    }\n\tpublic int getAge()     {   return age;     }\n}\n```\nSee more / Xem thêm [ExampleObjectData](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleObjectData.java)\n\n---\n\n### 4.2.5 Properties\n- Lớp Properties hỗ trợ để lấy giá trị của các thuộc tính tại vị trí được chỉ định.\n- The Properties class supports to get value of properties at specific location.\n\n``` java\nimport anlavn.file.Properties;\n\nString lang = \"EN\"; //\"VN\" if you want using vietnamese languages, \"EN\" if you want english\nProperties proper = new Properties(\"src/example/anlavn/file/myProperties_\" + lang + \".properties\");    //load properties file\nSystem.out.println(\"Properties of hello key: \" + proper.getString(\"hello\"));    //print value of key in file\n```\nThe myProperties_VN.properties file ![image](https://user-images.githubusercontent.com/90229487/209496791-a1abfc66-77e0-48e5-94ce-2b83cb68c703.png)  \nThe myProperties_EN.properties file ![image](https://user-images.githubusercontent.com/90229487/209496563-fbad72f0-ecdf-4edd-bf37-238f63a2f94b.png)  \nSee more / Xem thêm [ExampleProperties](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleProperties.java)\n\n---\n\n### 4.2.6 Raw\n- Lớp Raw hỗ trợ ghi và đọc chuỗi dữ liệu Thô vào tệp tại vị trí được chỉ định.\n- The Raw class supports write and read string data to file at specific location.\n\n``` java\nimport anlavn.file.Raw;\n\nRaw raw = new Raw(\"myFile.txt\");    //create myFile.txt\nraw.writeData(\"your text\"); //write data to file\nSystem.out.println(raw.readData()); //read data from file\nraw.closeFile();    //close file if you dont use anymore\n```\nSee more / Xem thêm [ExampleRaw](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleRaw.java)\n\n---\n\n### 4.2.7 Zip\n- Lớp Zip hỗ trợ giải nén tệp zip vào thư mục của bạn.\n- The Zip class supports to extract a zip file to your directories.\n\n``` java\nimport anlavn.file.Zip;\n\nZip.extract(\"myFileZip.zip\", \"ZipFolder\");  //Extract myFileZip.zip to ZipFolder directory\n```\nSee more / Xem thêm [ExampleZip](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/file/ExampleZip.java)\n\n---\n\n\n## 4.3 HASH - Provides cryptographic hash function related libraries / Cung cấp các thư viện liên quan đến hàm băm mật mã học\n\n### 4.3.1 AES\n- Lớp AES hỗ trợ mã hóa và giải mã một Chuỗi, sử dụng khóa bảo mật. \n- The AES class supports encryption and decryption a String, using a security key.\n\n``` java\nimport anlavn.hash.AES;\n\nString \torgStr = \"This is original string.\", //declare original string need to hash\n\tmyKey  = \"This is key to hash \",     //declare my security key to hash string\n\thashStr= AES.encrypt(orgStr, myKey); //hash original string with security key\nSystem.out.println(\"Hash AES of orgStr: \" + hashStr);   //print hash string\nSystem.out.println(\"My original string: \" + AES.Decrypt(hashStr, myKey));   //decrypt hash string and print it\n```\nSee more / Xem thêm [ExampleAES](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/hash/ExampleAES.java)\n\n---\n\n### 4.3.2 BCrypt\n- Lớp BCrypt hỗ trợ băm mật khẩu Blowfish kiểu OpenBSD cho Java.\n- The BCrypt class supports to OpenBSD-style Blowfish password hashing for Java.\n\n``` java\nimport anlavn.hash.BCrypt;\n\nString orgStr = \"This is original string.\",               \t//declare original string need to hash\n      hashStr = BCrypt.encrypt(orgStr, BCrypt.genSalt());   //hash original string, only supports encryption.\nSystem.out.println(\"Hash BCrypt of orgStr: \" + hashStr);\t//print hash string\nSystem.out.println(\"is orgStr match: \" + BCrypt.check(orgStr, hashStr));  //check if original string is match with hash string\n```\nSee more / Xem thêm [ExampleBCrypt](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/hash/ExampleBCrypt.java)\n\n---\n\n### 4.3.3 MD5\n- Lớp MD5 chỉ hỗ trợ mã hóa đối tượng, giải mã nó là bất khả thi.\n- The MD5 class only supports object encryption, decryption it is impossible.\n\n``` java\nimport anlavn.hash.MD5;\n\t\nString\torgStr = \"This is original string.\", //declare original string need to hash\n\thashStr= MD5.encrypt(orgStr); \t\t//hash original string, only supports encryption, decryption it is impossible.\nSystem.out.println(\"Hash MD5 of orgStr: \" + hashStr);   //print hash string\n```\nSee more / Xem thêm [ExampleMD5](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/hash/ExampleMD5.java)\n\n---\n\n### 4.3.4 SHA256\n- Lớp SHA256 chỉ hỗ trợ mã hóa đối tượng, giải mã nó là bất khả thi.\n- The SHA256 class only supports object encryption, decryption it is impossible.\n\n``` java\nimport anlavn.hash.SHA;\nimport anlavn.hash.SHA.Types;\n\t\nString orgStr = \"This is original string.\", //declare original string need to hash\n      hashStr = SHA.encrypt(Types.SHA_256, orgStr); //hash original string, only supports encryption, decryption it is impossible.\nSystem.out.println(\"Hash SHA256 of orgStr: \" + hashStr);   //print hash string\n```\nSee more / Xem thêm [ExampleSHA](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/hash/ExampleSHA.java)\n\n---\n\n\n## 4.4 NET - Provide Internet related libraries / Cung cấp các thư viện liên quan đến Internet\n\n### 4.4.1 DocNet\n- Lớp DocNet hỗ trợ đọc tài liệu trực tuyến từ URL.\n- The DocNet class supports to read an online document from URL.\n\n``` java\nimport anlavn.net.DocNet;\n\nDocNet docnet = new DocNet(\"https://raw.githubusercontent.com/AnLaVN/AL-Library/Releases/LICENSE.md\"); //set address of network document\nSystem.out.println(docnet.readAllLine());   //read all line in network document\ndocnet.saveAs();    //save document to file in local\n```\nSee more / Xem thêm [ExampleDocNet](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/net/ExampleDocNet.java)\n\n---\n\n### 4.4.2 Email\n- Lớp Email hỗ trợ tạo một SMTP để gửi email.\n- The Email class supports create a SMTP to send email.\n\n``` java\nimport anlavn.net.Email;\n\nEmail mail = new Email(\"youremail@domain.com\", \"yourpass\");  //setup your SMTP service\n        \nmail.setEmail(\"Tittle Email\", \"\u003ch1\u003eChào cậu, đây là email gửi từ bình an\u003c/h1\u003e\");    //setup your email content\nmail.addSetTO(\"yourfriend1@gmail.com\", \"yourfriend12@gmail.com\");                   //setup set type TO\nmail.addSetTO(new HashSet\u003c\u003e(Arrays.asList(\"yourfriend1@gmail.com\", \"yourfriend12@gmail.com\")));\nmail.addSetCC(\"yourfriend13@fpt.edu.vn\");\nmail.addSetAttachments(\"C:/path/to/your/file.png\", \"C:/path/to/your/meme.gif\");\nmail.sendEmail();\n```\nSee more / Xem thêm [ExampleEmail](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/net/ExampleEmail.java)\n\n---\n\n### 4.4.3 License\n- Lớp License hỗ trợ đánh dấu bản quyền cho dự án.\n- The License class supports marks the copyright for the project.\n\n``` java\nimport anlavn.net.License;\n\nstatic { \n\t// Check the license authority before run code. The program will continue if enough permissions. Else stop/delete the program.\n    License.check(\"alk~1G3oYHyo2RMU/CDNbFA9HdvTFV0GUXZOydsoHcN8S7xNE08AvtsAwn8R1KN4Q6Dz\");\n}\n```\n\nUsing [License Generator](https://anlavn.github.io/AL-Library/License_Generator) tool to generate LicenseKey\n\nSee more / Xem thêm [ExampleLicense](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/net/ExampleLicense.java)\n\n---\n\n### 4.4.4 Network\n- Lớp Network hỗ trợ lấy thông tin mạng: Thông tin WLAN, địa chỉ IPv4.\n- The Network class supports get network information: WLAN information, address IPv4.\n\n``` java\nimport anlavn.net.Network;\nimport static anlavn.net.Network.Key.*;\n\t\nSystem.out.println(\"My IPv4: \" + Network.myIPv4());             //print my public ip, not local ip\nSystem.out.println(\"My Wlan: \" + Network.myWLAN().get(SSID));   //print wlan ssid name\n```\nSee more / Xem thêm [ExampleNetwork](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/net/ExampleNetwork.java)\n\n---\n\n### 4.4.5 RandomORG\n- Lớp RandomORG hỗ trợ tạo số thực sự ngẫu nhiên từ random.org\n- The RandomORG class supports to create true random numbers from random.org\n\n``` java\nimport anlavn.net.RandomORG;\n\t\nSystem.out.println(RandomORG.getInteger(0, 10, 10));            //get a truly random integer from 0 to 10 in decimal\nSystem.out.println(RandomORG.getSequence(0, 10));               //get truly random order integer from 0 to 10\nSystem.out.println(RandomORG.getString(10, true, true, true));  //get a truly random string with digit, upper, lower case and length equal 10\nSystem.out.println(RandomORG.getQuota());                       //get number quota bits remaining of your IP address.\n```\nSee more / Xem thêm [ExampleRandomORG](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/net/ExampleRandomORG.java)\n\n---\n\n\n## 4.5 OpenCV - Provide OpenCV related libraries / Cung cấp các thư viện liên quan đến OpenCV\n\n### 4.5.1 FaceDetection\n- Lớp FaceDetection hỗ trợ nhận diện khuôn mặt bằng thư viện thị giác máy tính lớn nhất thế giới - OpenCV.\n- The FaceDetection class supports to face detection using the world’s largest computer vision library - OpenCV.\n\n![image](https://github.com/AnLaVN/AL-Library/assets/90229487/abc4695b-917d-424e-ae43-a7bce34f6771)\n\n``` java\nimport anlavn.opencv.FaceDetection;\n\nFaceDetection.API_KEY = \"alk~XXX...XXX\";    // Add api key to use\nFaceDetection.loadModule();                 // Load module default\nFaceDetection.setDetectPanel(myPanel, 20);  // Set JPanel where will display video capture from camera with rounded corners\n\nFaceDetection.setDetector(true);  \t\t\t// Detect face and display with green rectangle and thickness 2px\n//FaceDetection.setDetector(false, Color.GREEN, 2); // Not detect face and not display any rectangle no matter what color and how thick it is \n\nFaceDetection.start(0);  \t\t\t\t\t// Start face detection from camera 0\n//FaceDetection.end();   \t\t\t\t\t// End face detection\n```\nSee more / Xem thêm [ExampleFaceDetection](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/opencv/ExampleFaceDetection.java)\n\n---\n\n### 4.5.2 FaceRecognition\n- Lớp FaceRecognition hỗ trợ nhận dạng khuôn mặt trong java, sử dụng chương trình python được biên dịch.\n- The FaceRecognition class supports to face recognition in java, using python program compiled.\n\n⚠️ ***Tính năng này chỉ dành cho hệ điều hành Windows / This feature is only for Windows operating system*** ⚠️\n\n![image](https://github.com/AnLaVN/AL-Library/assets/90229487/5058453c-7340-4d35-80d4-cb6ab8a64b72)\n\n``` java\nimport anlavn.opencv.FaceRecognition;\n\nFaceRecognition.API_KEY = \"alk~XXX...XXX\";// Add api key to use\nFaceRecognition.loadModule();             // Load module default.\n//set image for original face and test face using URL.\nFaceRecognition.setImageOrginal(\"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTNU14t4OtvdSZf-rTJAQWI6LdTIw5nYCYT1V3SfHgWja6cYMbG\");\nFaceRecognition.setImageTesting(\"https://nld.mediacdn.vn/2021/1/5/d9db633fe9c98429ec9025ca0950f241-16098228091571816318835.jpg\");\n//set a RequirementPercent for face recognition, the higher the stricter\nFaceRecognition.setRequirementPercent(60.0);\n//recognition and get result\nFaceRecognition.Result result = FaceRecognition.recognition(); \nSystem.out.println(result.state);        // Get result state\nSystem.out.println(result.percentMatch); // Fet percent match\nSystem.out.println(result.isMatch);      // true if percentMatch higher or equal RequirementPercent\n```\nSee more / Xem thêm [ExampleFaceRecognition](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/opencv/ExampleFaceRecognition.java)\n\n---\n\n\n## 4.6 UI - Provide UI related libraries / Cung cấp các thư viện liên quan đến UI\n\t\n### 4.6.1 AvatarPanel\n- Lớp AvatarPanel hỗ trợ hiển thị một hình ảnh đại diện được cắt tròn.\n- The AvatarPanel class supports display a cropped avatar picture.\n\n``` java\nimport anlavn.ui.AvatarPanel;\n\nAvatarPanel avatar = new AvatarPanel();\navatar.setPic(\"myImage.png\"); //set picture for panel from file\navatar.setPic(\"https://i.pinimg.com/564x/b7/d2/62/b7d262d9ab6397f959a2030f65947b4f.jpg\"); //set picture for panel from url\n```\nSee more / Xem thêm [ExampleAvatarPanel](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleAvatarPanel.java)\n\n---\n\n### 4.6.2 ChatBox\n- Lớp ChatBox hỗ trợ hiển thị hộp tin nhắn như messenger.\n- The ChatBox class supports display a message box like messenger.\n\n``` java\nimport anlavn.ui.ChatBox;\n\t\nChatBox chat = new ChatBox();\nchat.addRightBubble(\"this is right side text\"); //add bubble text in right side\nchat.addLeftBubble(\"this is left side text\"); //add bubble text in left side\nchat.addNotifiBox(\"this is notification text\"); //add notification text in center\n```\nSee more / Xem thêm [ExampleChatBox](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleChatBox.java)\n\n---\n\n### 4.6.3 ComboBox\n- Lớp ComboBox hỗ trợ tạo comboBox đẹp mắt với chế độ sáng và tối.\n- The ComboBox class supports to create a beautiful comboBox with light and dark mode.\n\n``` java\nimport anlavn.ui.ComboBox;\n\nComboBox comboBox = new ComboBox();\ncomboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { \"item 1\", \"item2\" })); //use as normal combobox\n```\nSee more / Xem thêm [ExampleComboBox](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleComboBox.java)\n\n---\n\n### 4.6.4 ImagePanel\n- Lớp ImagePanel hỗ trợ hiển thị hình ảnh có thể thay đổi kích thước.\n- The ImagePanel class supports displaying resizable images.\n``` java\nimport anlavn.ui.ImagePanel;\n\nImagePanel image = new ImagePanel();\nimage.setPic(\"myImage.png\"); //set picture for panel from file\n```\nSee more / Xem thêm [ExampleImagePanel](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleImagePanel.java)\n\n---\n\n### 4.6.5 LiquidProgress\n- Lớp LiquidProgress hỗ trợ xuất thanh tiến trình dạng chất lỏng hiện đại.\n- The LiquidProgress supports to export modern liquid progress.\n\n``` java\nimport anlavn.ui.LiquidProgress;\n\nLiquidProgress liquidProgress = new LiquidProgress();\nliquidProgress1.setValue(50);\n```\nSee more / Xem thêm [ExampleLiquidProgress](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleLiquidProgress.java)\n\n---\n\n### 4.6.6 Mode\n- Lớp Mode hỗ trợ thay đổi chế độ từ sáng sang tối, component từ nimbus sang giao diện windows.\n- The Mode class supports change mode from light to dark, component from nimbus to windows look and feel.\n\n``` java\nimport anlavn.ui.Mode;\n\t\nMode.setMode(true); //set true is dark mode, false is light\nMode.setModeComponent(yourComponent); //set the component will apply mode change\n```\nSee more / Xem thêm [ExampleMode](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleMode.java)\n\n---\n\n### 4.6.7 Notification\n- Lớp Notification hỗ trợ tạo thông báo popup.\n- The Notification class supports to create a animation popup notification.\n``` java\nimport anlavn.ui.Notification;\n\t\n//setup the notification will popup\nNotification noti = new Notification(this, Notification.Type.WARNING, Notification.Location.TOP_CENTER, \"Notification\");\nnoti.showNotification(); //show popup Notification\n```\nSee more / Xem thêm [ExampleNotification](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleNotification.java)\n\n---\n\n### 4.6.8 ProgressBar\n- Lớp ProgressBar hỗ trợ xuất thanh tiến trình hiện đại.\n- The ProgressBar supports to export modern progress bar.\n\n``` java\nimport anlavn.ui.ProgressBar;\n\t\nProgressBar progressBar1 = new ProgressBar();\nprogressBar1.setValue(50);\n```\nSee more / Xem thêm [ExampleProgressBar](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleProgressBar.java)\n\n---\n\n### 4.6.9 ScrollBar\n- Lớp ScrollBar hỗ trợ xuất thanh cuộn hiện đại.\n- The ScrollBar class supports export modern scroll bar.\n\n``` java\nimport anlavn.ui.ScrollBar;\n\nyourJScrollPanel.setVerticalScrollBar(new ScrollBar());\n```\nSee more / Xem thêm [ExampleScrollBar](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleScrollBar.java)\n\n---\n\n### 4.6.10 DateChooser\n- Lớp DateChooser hỗ trợ hiển thị bộ chọn ngày ở dạng hiện đại.\n- The DateChooser class supports to show modern form date chooser.\n\n``` java\nimport anlavn.ui.datechooser.DateChooser;\n\nDateChooser dateChooser = new DateChooser();\ndateChooser.setReferenceLabel(yourLabel); //set JLabel where will display day was choose\ndateChooser.showPopup();  //show day chooser as popup\n```\nSee more / Xem thêm [ExampleDateChooser](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleDateChooser.java)\n\n---\n\n### 4.6.11 TimePicker\n- Lớp TimePicker hỗ trợ hiển thị bộ chọn thời gian hiện đại.\n- The TimePicker class supports to show modern time picker.\n\n``` java\nimport anlavn.ui.timechooser.TimePicker;\n\nTimePicker timePicker = new TimePicker();\ntimePicker.setDisplayTextLabel(yourLabel); //set JLabel where will display day was choose\n//show time picker as popup as position\ntimePicker.showPopup(this,\n\t(getWidth() - timePicker.getPreferredSize().width) / 2,\n\t(getHeight() - timePicker.getPreferredSize().height) / 2);\n```\nSee more / Xem thêm [ExampleTimePicker](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleTimePicker.java)\n\n---\n\n### 4.6.12 JnaFileChooser\n- JnaFileChooser là một trình bao bọc xung quanh trình chọn tệp và trình duyệt thư mục gốc của Windows nằm trong Swing JFileChooser\n- JnaFileChooser is a wrapper around the native Windows file chooser and folder browser that falls back to the Swing JFileChooser.\n\n``` java\nimport anlavn.ui.filechooser.JnaFileChooser;\n\t\nJnaFileChooser SelectPic = new JnaFileChooser();\nSelectPic.addFilter(\"Image\", \"jpeg\", \"jpg\", \"png\"); //add file filter for file chooser\nif(SelectPic.showOpenDialog(this)){ //if choose file\n\tSystem.out.println(SelectPic.getSelectedFile().getAbsolutePath());\t//get absolute path of choose file\n}\n```\nSee more / Xem thêm [ExampleJnaFileChooser](https://github.com/AnLaVN/AL-Library/blob/Releases/AL-Library_Example/src/example/anlavn/ui/ExampleJnaFileChooser.java)\n\n---\n\n# 5. Download / Tải xuống\n\n## 5.1 External JAR\n- Bạn chỉ cần tải thư viện với một tệp .jar duy nhất đang được phát hành ngay bên dưới.\n- You just need to download the library with a single .jar file which is being released right below.\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/AnLaVN/AL-Library/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/AnLaVN/AL-Library\"\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\n## 5.2 Maven Central Repository\n- Bạn đang sử dụng kho lưu trữ Maven cho dự án của mình, chỉ cần copy mã ngay bên dưới.\n- You are using Maven repository for your project, just copy the code right below.\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://img.shields.io/maven-central/v/io.github.AnLaVN/AL-Library_VN\"\u003e\u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n- AL-Library Vietnamses Version\n```xml\n\u003cdependency\u003e\n\t\u003cgroupId\u003eio.github.AnLaVN\u003c/groupId\u003e\n\t\u003cartifactId\u003eAL-Library_VN\u003c/artifactId\u003e\n\t\u003cversion\u003e6.70.10.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n- AL-Library English Version \n```xml\n\u003cdependency\u003e\n\t\u003cgroupId\u003eio.github.AnLaVN\u003c/groupId\u003e\n\t\u003cartifactId\u003eAL-Library_EN\u003c/artifactId\u003e\n\t\u003cversion\u003e6.70.10.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## 5.3 Repository Link\n- [mvnrepository.com](https://mvnrepository.com/artifact/io.github.AnLaVN)\n  - [AL-Library_EN / mvnrepository.com](https://mvnrepository.com/artifact/io.github.AnLaVN/AL-Library_EN)\n  - [AL-Library_VN / mvnrepository.com](https://mvnrepository.com/artifact/io.github.AnLaVN/AL-Library_VN)\n\t\n- [search.maven.org](https://search.maven.org/search?q=g:io.github.AnLaVN)\n  - [AL-Library_EN / search.maven.org](https://search.maven.org/artifact/io.github.AnLaVN/AL-Library_EN)\n  - [AL-Library_VN / search.maven.org](https://search.maven.org/artifact/io.github.AnLaVN/AL-Library_VN)\n\t\n- [repo1.maven.org](https://repo1.maven.org/maven2/io/github/AnLaVN)\n  - [AL-Library_EN / repo1.maven.org](https://repo1.maven.org/maven2/io/github/AnLaVN/AL-Library_EN)\n  - [AL-Library_VN / repo1.maven.org](https://repo1.maven.org/maven2/io/github/AnLaVN/AL-Library_VN)\n\n\n\n## 5.4 Star History\n[![Star History Chart](https://api.star-history.com/svg?repos=AnLaVN/AL-Library\u0026type=Date)](https://star-history.com/#AnLaVN/AL-Library\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanlavn%2Fal-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanlavn%2Fal-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanlavn%2Fal-library/lists"}