; INI file basic syntax test file
; This is a comment line

[Database]
; Database configuration section
host = localhost
port = 5432
username = dbuser
password = secret123
; Encrypted password (base64)
encrypted_password = U2VjdXJlUGFzc3dvcmQxMjM=
database_name = myapp_production
connection_timeout = 30
max_connections = 100

[Server]
; Web server configuration
host = 0.0.0.0
port = 8080
ssl_enabled = true
certificate_path = /etc/ssl/certs/server.crt
private_key_path = /etc/ssl/private/server.key
max_request_size = 10MB
keep_alive_timeout = 65

[Application]
; Application settings
debug_mode = false
log_level = INFO
environment = production
timezone = UTC
default_language = en
supported_languages = en,es,fr,de,it,pt,zh,ja

[Security]
; Security-related settings
session_timeout = 3600
password_min_length = 8
require_uppercase = true
require_lowercase = true
require_numbers = true
require_special_chars = true
max_login_attempts = 5
lockout_duration = 300
jwt_secret = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
jwt_expiration = 86400

[Email]
; Email service configuration
smtp_host = smtp.gmail.com
smtp_port = 587
smtp_username = noreply@myapp.com
smtp_password = email_password_123
use_tls = true
from_address = noreply@myapp.com
from_name = MyApp Notifications

[Cache]
; Cache configuration
cache_enabled = true
cache_type = redis
redis_host = localhost
redis_port = 6379
redis_password = 
redis_database = 0
cache_ttl = 3600

[Features]
; Feature flags
enable_user_registration = true
enable_social_login = true
enable_two_factor_auth = true
enable_email_verification = true
enable_password_reset = true
enable_file_upload = true
max_file_size = 5MB
allowed_file_types = jpg,jpeg,png,gif,pdf,doc,docx

[API]
; API configuration
api_rate_limit = 1000
api_rate_limit_window = 3600
api_key_header = X-API-Key
api_version = v1
base_url = https://api.myapp.com

[Logging]
; Logging configuration
log_file = /var/log/myapp/app.log
log_max_size = 100MB
log_max_files = 10
log_format = json
log_timestamp_format = ISO8601

; Multi-line values (some INI parsers support this)
[Advanced]
complex_setting = line1
    line2
    line3
    line4

; Empty values
[EmptyValues]
empty_string = 
null_value = NULL
zero_value = 0
false_value = false