diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/Config.in b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/Config.in new file mode 100644 index 0000000..274514d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/Config.in @@ -0,0 +1,48 @@ +source "$BR2_EXTERNAL_GOKE_PATH/linux/Config.ext.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/goke_patcher/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/aura-httpd/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/baresip-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/comgt/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/dropbear-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/df_sdwan_edge/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/fdk-aac-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/ffmpeg-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/fwprintenv-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk710x/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/goke-osdrv-gk7205v200/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/hisi-gpio/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/hisilicon-opensdk/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/i2c-telemetry/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/ipctool/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/json-c-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/jsonfilter/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/lame-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libcurl-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libevent-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libhv-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libogg-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libre-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/librem-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libsrt-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/libwebsockets-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/linux-firmware-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/majestic-fonts/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/majestic/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/mavfwd/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/mavlink-router/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/mbedtls-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/microbe-web/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/motors/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/mt7601u-ap-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/nabto/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/node-exporter/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/opus-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/quirc-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/rtl8188fu-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/rtl8812au-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/uacme-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/vtund-openipc/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/wifibroadcast/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/yaml-cli/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/xmdp/Config.in" +source "$BR2_EXTERNAL_GOKE_PATH/package/zerotier-one/Config.in" diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic-fpv.config b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic-fpv.config new file mode 100644 index 0000000..3870331 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic-fpv.config @@ -0,0 +1,2970 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.9.37 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=n +CONFIG_HAVE_KERNEL_LZMA=n +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=n +CONFIG_HAVE_KERNEL_LZ4=n +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="openipc" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=n +CONFIG_FHANDLE=y +CONFIG_USELIB=n +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_NMI_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=n +# CONFIG_MEMCG is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CGROUP_SCHED is not set +# CONFIG_CGROUP_PIDS is not set +CONFIG_CGROUP_FREEZER=n +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=n +CONFIG_UTS_NS=n +CONFIG_IPC_NS=n +# CONFIG_USER_NS is not set +CONFIG_PID_NS=n +CONFIG_NET_NS=n +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=n +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=n +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +CONFIG_RD_XZ=n +# CONFIG_RD_LZO is not set +CONFIG_RD_LZ4=n +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=n +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set +CONFIG_KALLSYMS_BASE_RELATIVE=n +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +CONFIG_BUG=n +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=n +CONFIG_ADVISE_SYSCALLS=n +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=n +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=n +CONFIG_HAVE_KRETPROBES=n +CONFIG_HAVE_OPTPROBES=n +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +# CONFIG_HAVE_ARCH_HASH is not set +# CONFIG_ISA_BUS_API is not set +CONFIG_CLONE_BACKWARDS=n +CONFIG_OLD_SIGSUSPEND3=n +CONFIG_OLD_SIGACTION=n +# CONFIG_CPU_NO_EFFICIENT_FFS is not set +# CONFIG_HAVE_ARCH_VMAP_STACK is not set + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=n +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=n +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=n +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_GOKE is not set +CONFIG_ARCH_GOKE=y + +# +# Goke platform type +# +# CONFIG_ARCH_HI3516A is not set +# CONFIG_ARCH_HI3516CV500 is not set +# CONFIG_ARCH_HI3516DV300 is not set +# CONFIG_ARCH_GK7205V200 is not set +CONFIG_ARCH_GK7205V300=y +# CONFIG_ARCH_GK7202V300 is not set +# CONFIG_ARCH_GK7605V100 is not set +# CONFIG_ARCH_HI3556V200 is not set +# CONFIG_ARCH_HI3559V200 is not set +# CONFIG_ARCH_HI3536DV100 is not set +# CONFIG_ARCH_HI3521A is not set +# CONFIG_ARCH_HI3531A is not set +# CONFIG_ARCH_HI3556AV100 is not set +# CONFIG_ARCH_HI3519AV100 is not set +# CONFIG_GOKE_MC is not set +CONFIG_BSP_ZRELADDR=0x40008000 +CONFIG_BSP_PARAMS_PHYS=0x00000100 +CONFIG_BSP_INITRD_PHYS=0x00800000 +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MEDIATEK is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_TANGO is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_DEBUG_RODATA is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=n +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +# CONFIG_CPU_SW_DOMAIN_PAN is not set +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_AREAS=77 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +CONFIG_CMDLINE="" +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y +# CONFIG_EFI is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +# CONFIG_KERNEL_MODE_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=n +CONFIG_XFRM_ALGO=n +CONFIG_XFRM_USER=n +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_NET_KEY=n +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=n +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=n +CONFIG_IP_ROUTE_MULTIPATH=n +CONFIG_IP_ROUTE_VERBOSE=n +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +CONFIG_IP_MROUTE=n +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=n +CONFIG_IP_PIMSM_V2=n +CONFIG_SYN_COOKIES=n +# CONFIG_NET_UDP_TUNNEL is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +CONFIG_TCP_CONG_ADVANCED=n +CONFIG_TCP_CONG_BIC=n +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=n +CONFIG_TCP_CONG_HTCP=n +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=n +CONFIG_IPV6=y +CONFIG_INET6_XFRM_MODE_TRANSPORT=n +CONFIG_INET6_XFRM_MODE_TUNNEL=n +CONFIG_INET6_XFRM_MODE_BEET=n +CONFIG_IPV6_SIT=n +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_BRIDGE=y +CONFIG_HAVE_NET_DSA=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=n +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +# CONFIG_SOCK_CGROUP_DATA is not set +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_JIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +# CONFIG_STREAM_PARSER is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_DEFAULT_PS is not set +CONFIG_CFG80211_INTERNAL_REGDB=y +# CONFIG_CFG80211_CRDA_SUPPORT is not set +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_DST_CACHE is not set +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +CONFIG_HAVE_CBPF_JIT=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/mdev" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=n +CONFIG_FIRMWARE_IN_KERNEL=n +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +# CONFIG_DMA_SHARED_BUFFER is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_NAND_ECC=n +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_GOKE504 is not set +# CONFIG_MTD_NAND_MTK is not set +CONFIG_MTD_SPI_NAND_GOKE=y +# CONFIG_GOKE_NAND_ECC_STATUS_REPORT is not set +# CONFIG_GOKE_NAND_FS_MAY_NO_YAFFS2 is not set +CONFIG_MTD_SPI_NAND_FMC100=y +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_MT81xx_NOR is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +# CONFIG_SPI_CADENCE_QUADSPI is not set +CONFIG_SPI_GOKE_SFC=y +# CONFIG_MTD_SPI_IDS is not set +CONFIG_CLOSE_SPI_8PIN_4IO=y +CONFIG_GOKE_SPI_BLOCK_PROTECT=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_BLOCK=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_AFU_DRIVER_OPS is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_LIBFC is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_GOKE=y +# CONFIG_HIX5HD2_GMAC is not set +CONFIG_GOKE_FEMAC=y +# CONFIG_HIP04_ETH is not set +# CONFIG_HNS is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set +# CONFIG_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y + +# +# MDIO bus device drivers +# +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_GOKE_FEMAC=y +# CONFIG_MDIO_GOKE_GEMAC is not set + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +CONFIG_USB_NET_DRIVERS=m +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=m +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_AX88179_178A is not set +CONFIG_USB_NET_CDCETHER=m +# CONFIG_USB_NET_CDC_EEM is not set +# CONFIG_USB_NET_CDC_NCM is not set +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +# CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +CONFIG_USB_NET_RNDIS_HOST=m +# CONFIG_USB_NET_CDC_SUBSET is not set +# CONFIG_USB_NET_ZAURUS is not set +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +CONFIG_USB_NET_QMI_WWAN=y +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +CONFIG_WLAN_VENDOR_ATH=y +CONFIG_ATH9K_HTC=m +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +#CONFIG_WLAN_VENDOR_MEDIATEK=y +#CONFIG_MT7601U=m +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=n +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=n +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=n +CONFIG_SERIO_SERPORT=n +# CONFIG_SERIO_AMBAKMI is not set +CONFIG_SERIO_LIBPS2=n +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=n +CONFIG_CONSOLE_TRANSLATIONS=n +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=n +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_GOKE=y +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +CONFIG_DMA_MSG_MIN_LEN=5 +CONFIG_DMA_MSG_MAX_LEN=4090 +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=n +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +CONFIG_PINCTRL_SINGLE=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_MPC8XXX is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_TS4900 is not set + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +CONFIG_POWER_RESET=n +# CONFIG_POWER_RESET_BRCMKONA is not set +# CONFIG_POWER_RESET_BRCMSTB is not set +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +CONFIG_POWER_RESET_GOKE=n +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_VERSATILE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_SYSCON_REBOOT_MODE is not set +CONFIG_POWER_SUPPLY=n +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +CONFIG_MFD_GOKE_FMC=y +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=n + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Customise DVB Frontends +# +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_IMX_IPUV3_CORE is not set +# CONFIG_DRM is not set + +# +# ACP (Audio CoProcessor) Configuration +# + +# +# Frame buffer Devices +# +CONFIG_FB=n +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=n +CONFIG_FB_NOTIFY=n +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=n +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=n + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set + +# +# USB HID support +# +CONFIG_USB_HID=n +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +# CONFIG_USB_EHCI_HCD is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_OF_SIMPLE=y +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_HIUSB_DEVICE2_0 is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_RNDIS=m +# CONFIG_USB_F_MASS_STORAGE is not set +CONFIG_USB_CONFIGFS=m +# CONFIG_USB_CONFIGFS_SERIAL is not set +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +CONFIG_USB_CONFIGFS_ECM=y +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +# CONFIG_USB_CONFIGFS_F_FS is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_ARMMMCI is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_GOKE=y +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_CQ_HCI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=n + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_GOKE=y +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LNET is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_MOST is not set +# CONFIG_KS7010 is not set +# CONFIG_GREYBUS is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_PIC32 is not set +CONFIG_COMMON_CLK_GK7205V300=y +CONFIG_RESET_GOKE=y + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +# CONFIG_ARM_ARCH_TIMER_VCT_ACCESS is not set +CONFIG_ARM_TIMER_SP804=y +# CONFIG_TIMER_HISP804 is not set +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_ATH79 is not set +# CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_LPC18XX is not set +# CONFIG_RESET_MESON is not set +# CONFIG_RESET_PISTACHIO is not set +# CONFIG_RESET_SOCFPGA is not set +# CONFIG_RESET_STM32 is not set +# CONFIG_RESET_SUNXI is not set +# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_ZYNQ is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_GOKE_USB2 is not set +# CONFIG_PHY_GOKE_USB3 is not set +CONFIG_PHY_GOKE_USBP2=y +# CONFIG_USB_MODE_OPTION is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_BSP_DMAC is not set +# CONFIG_HIEDMAC is not set + +# +# Hisilicon driver support +# +CONFIG_CMA_MEM_SHARED=y +# CONFIG_CMA_ADVANCE_SHARE is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_F2FS_FS=m +CONFIG_F2FS_FS_XATTR=n +CONFIG_F2FS_FS_POSIX_ACL=n +# CONFIG_F2FS_FS_SECURITY is not set +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FS_ENCRYPTION is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=n +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=n +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=n +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=n +CONFIG_TMPFS_XATTR=n +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=n +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=n +CONFIG_YAFFS_YAFFS1=n +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=n +CONFIG_YAFFS_AUTO_YAFFS2=n +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=n +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +# CONFIG_JFFS2_LZMA is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=n +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=n +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=n +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=n +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=n +CONFIG_LOCKD_V4=n +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=n +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=3 +# CONFIG_BOOT_PRINTK_DELAY is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +# CRUCIAL for /dev/sys +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CRUCIAL for /dev/sys +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=n +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=n +CONFIG_HAVE_DYNAMIC_FTRACE=n +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n +CONFIG_HAVE_SYSCALL_TRACEPOINTS=n +CONFIG_HAVE_C_RECORDMCOUNT=n +CONFIG_TRACING_SUPPORT=n +# CONFIG_FTRACE is not set + +# +# Runtime Testing +# +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=n +# CONFIG_KGDB is not set +# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_ARM_UNWIND is not set +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_KPP2=y +# CONFIG_CRYPTO_RSA is not set +# CONFIG_CRYPTO_DH is not set +# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=n +CONFIG_ZLIB_DEFLATE=n +CONFIG_LZO_COMPRESS=n +CONFIG_LZO_DECOMPRESS=n +CONFIG_LZ4_DECOMPRESS=n +CONFIG_XZ_DEC=n +CONFIG_XZ_DEC_X86=n +CONFIG_XZ_DEC_POWERPC=n +CONFIG_XZ_DEC_IA64=n +CONFIG_XZ_DEC_ARM=n +CONFIG_XZ_DEC_ARMTHUMB=n +CONFIG_XZ_DEC_SPARC=n +CONFIG_XZ_DEC_BCJ=n +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=n +CONFIG_DECOMPRESS_XZ=n +CONFIG_DECOMPRESS_LZ4=n +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SBITMAP=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_GCC_PLUGINS is not set diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config new file mode 100644 index 0000000..6d8adfa --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/board/gk7205v200/kernel/gk7205v300.generic.config @@ -0,0 +1,2969 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.9.37 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=n +CONFIG_HAVE_KERNEL_LZMA=n +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=n +CONFIG_HAVE_KERNEL_LZ4=n +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="openipc" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=n +CONFIG_FHANDLE=y +CONFIG_USELIB=n +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y + +# +# Timers subsystem +# +CONFIG_HZ_PERIODIC=y +# CONFIG_NO_HZ_IDLE is not set +# CONFIG_NO_HZ is not set +# CONFIG_HIGH_RES_TIMERS is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +# CONFIG_RCU_STALL_COMMON is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_NMI_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=n +# CONFIG_MEMCG is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CGROUP_SCHED is not set +# CONFIG_CGROUP_PIDS is not set +CONFIG_CGROUP_FREEZER=n +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=n +CONFIG_UTS_NS=n +CONFIG_IPC_NS=n +# CONFIG_USER_NS is not set +CONFIG_PID_NS=n +CONFIG_NET_NS=n +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=n +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=n +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +CONFIG_RD_XZ=n +# CONFIG_RD_LZO is not set +CONFIG_RD_LZ4=n +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=n +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set +CONFIG_KALLSYMS_BASE_RELATIVE=n +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +CONFIG_BUG=n +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=n +CONFIG_ADVISE_SYSCALLS=n +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=n +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=n +CONFIG_HAVE_KRETPROBES=n +CONFIG_HAVE_OPTPROBES=n +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR_NONE is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS=8 +# CONFIG_HAVE_ARCH_HASH is not set +# CONFIG_ISA_BUS_API is not set +CONFIG_CLONE_BACKWARDS=n +CONFIG_OLD_SIGSUSPEND3=n +CONFIG_OLD_SIGACTION=n +# CONFIG_CPU_NO_EFFICIENT_FFS is not set +# CONFIG_HAVE_ARCH_VMAP_STACK is not set + +# +# GCOV-based kernel profiling +# +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=n +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=n +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=n +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_GOKE is not set +CONFIG_ARCH_GOKE=y + +# +# Goke platform type +# +# CONFIG_ARCH_HI3516A is not set +# CONFIG_ARCH_HI3516CV500 is not set +# CONFIG_ARCH_HI3516DV300 is not set +# CONFIG_ARCH_GK7205V200 is not set +CONFIG_ARCH_GK7205V300=y +# CONFIG_ARCH_GK7202V300 is not set +# CONFIG_ARCH_GK7605V100 is not set +# CONFIG_ARCH_HI3556V200 is not set +# CONFIG_ARCH_HI3559V200 is not set +# CONFIG_ARCH_HI3536DV100 is not set +# CONFIG_ARCH_HI3521A is not set +# CONFIG_ARCH_HI3531A is not set +# CONFIG_ARCH_HI3556AV100 is not set +# CONFIG_ARCH_HI3519AV100 is not set +# CONFIG_GOKE_MC is not set +CONFIG_BSP_ZRELADDR=0x40008000 +CONFIG_BSP_PARAMS_PHYS=0x00000100 +CONFIG_BSP_INITRD_PHYS=0x00800000 +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MEDIATEK is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_TANGO is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +# CONFIG_CACHE_L2X0 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_DEBUG_RODATA is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=n +# CONFIG_SMP is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +# CONFIG_SCHED_HRTICK is not set +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +# CONFIG_CPU_SW_DOMAIN_PAN is not set +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_AREAS=77 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +CONFIG_CMDLINE="" +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y +# CONFIG_EFI is not set + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +# CONFIG_KERNEL_MODE_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=n +CONFIG_XFRM_ALGO=n +CONFIG_XFRM_USER=n +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_NET_KEY=n +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=n +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=n +CONFIG_IP_ROUTE_MULTIPATH=n +CONFIG_IP_ROUTE_VERBOSE=n +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IP_TUNNEL is not set +CONFIG_IP_MROUTE=n +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=n +CONFIG_IP_PIMSM_V2=n +CONFIG_SYN_COOKIES=n +# CONFIG_NET_UDP_TUNNEL is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +CONFIG_TCP_CONG_ADVANCED=n +CONFIG_TCP_CONG_BIC=n +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=n +CONFIG_TCP_CONG_HTCP=n +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=n +CONFIG_IPV6=y +CONFIG_INET6_XFRM_MODE_TRANSPORT=n +CONFIG_INET6_XFRM_MODE_TUNNEL=n +CONFIG_INET6_XFRM_MODE_BEET=n +CONFIG_IPV6_SIT=n +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_BRIDGE=y +CONFIG_HAVE_NET_DSA=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=n +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +# CONFIG_SOCK_CGROUP_DATA is not set +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=n +CONFIG_BQL=n +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +# CONFIG_STREAM_PARSER is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=n +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_MESH=n +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_DST_CACHE is not set +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +CONFIG_HAVE_CBPF_JIT=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/mdev" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=n +CONFIG_FIRMWARE_IN_KERNEL=n +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +# CONFIG_DMA_SHARED_BUFFER is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_NAND_ECC=n +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI_DT is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_BRCMNAND is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_GOKE504 is not set +# CONFIG_MTD_NAND_MTK is not set +CONFIG_MTD_SPI_NAND_GOKE=y +# CONFIG_GOKE_NAND_ECC_STATUS_REPORT is not set +# CONFIG_GOKE_NAND_FS_MAY_NO_YAFFS2 is not set +CONFIG_MTD_SPI_NAND_FMC100=y +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_MT81xx_NOR is not set +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +# CONFIG_SPI_CADENCE_QUADSPI is not set +CONFIG_SPI_GOKE_SFC=y +# CONFIG_MTD_SPI_IDS is not set +CONFIG_CLOSE_SPI_8PIN_4IO=y +CONFIG_GOKE_SPI_BLOCK_PROTECT=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_BLOCK=y +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_AFU_DRIVER_OPS is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +CONFIG_SCSI_FC_ATTRS=m +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_LIBFC is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_CADENCE is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +CONFIG_NET_VENDOR_GOKE=y +# CONFIG_HIX5HD2_GMAC is not set +CONFIG_GOKE_FEMAC=y +# CONFIG_HIP04_ETH is not set +# CONFIG_HNS is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set +# CONFIG_HIETH_GMAC is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y + +# +# MDIO bus device drivers +# +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_GOKE_FEMAC=y +# CONFIG_MDIO_GOKE_GEMAC is not set + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +CONFIG_USB_NET_DRIVERS=m +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=m +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_AX88179_178A is not set +CONFIG_USB_NET_CDCETHER=m +# CONFIG_USB_NET_CDC_EEM is not set +# CONFIG_USB_NET_CDC_NCM is not set +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +# CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +CONFIG_USB_NET_RNDIS_HOST=m +# CONFIG_USB_NET_CDC_SUBSET is not set +# CONFIG_USB_NET_ZAURUS is not set +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +CONFIG_USB_NET_QMI_WWAN=m +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_NET_CH9200 is not set +CONFIG_WLAN=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=n +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=n +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=n +CONFIG_SERIO_SERPORT=n +# CONFIG_SERIO_AMBAKMI is not set +CONFIG_SERIO_LIBPS2=n +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=n +CONFIG_CONSOLE_TRANSLATIONS=n +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=n +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_GOKE=y +# CONFIG_I2C_NOMADIK is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +CONFIG_I2C_TINY_USB=m + +# +# Other I2C/SMBus bus drivers +# +CONFIG_DMA_MSG_MIN_LEN=5 +CONFIG_DMA_MSG_MAX_LEN=4090 +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=n +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +# CONFIG_PPS is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +CONFIG_PINCTRL_SINGLE=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_MPC8XXX is not set +CONFIG_GPIO_PL061=y +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_TS4900 is not set + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +CONFIG_POWER_RESET=n +# CONFIG_POWER_RESET_BRCMKONA is not set +# CONFIG_POWER_RESET_BRCMSTB is not set +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +CONFIG_POWER_RESET_GOKE=n +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_VERSATILE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_SYSCON_REBOOT_MODE is not set +CONFIG_POWER_SUPPLY=n +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +CONFIG_MFD_GOKE_FMC=y +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=n + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Customise DVB Frontends +# +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_IMX_IPUV3_CORE is not set +# CONFIG_DRM is not set + +# +# ACP (Audio CoProcessor) Configuration +# + +# +# Frame buffer Devices +# +CONFIG_FB=n +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=n +CONFIG_FB_NOTIFY=n +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +# CONFIG_LOGO is not set +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=n +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=n + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set + +# +# USB HID support +# +CONFIG_USB_HID=n +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +# CONFIG_USB_EHCI_HCD is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_OF_SIMPLE=y +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP210X is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FTDI_SIO is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_HIUSB_DEVICE2_0 is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_CONFIGFS=m +# CONFIG_USB_CONFIGFS_SERIAL is not set +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +CONFIG_USB_CONFIGFS_ECM=y +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +# CONFIG_USB_CONFIGFS_F_FS is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_ARMMMCI is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_GOKE=y +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_CQ_HCI is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=n + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_GOKE=y +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +# CONFIG_DMADEVICES is not set + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set +# CONFIG_VT6656 is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LNET is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_MOST is not set +# CONFIG_KS7010 is not set +# CONFIG_GREYBUS is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_PIC32 is not set +CONFIG_COMMON_CLK_GK7205V300=y +CONFIG_RESET_GOKE=y + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +# CONFIG_ARM_ARCH_TIMER_VCT_ACCESS is not set +CONFIG_ARM_TIMER_SP804=y +# CONFIG_TIMER_HISP804 is not set +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_ATH79 is not set +# CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_LPC18XX is not set +# CONFIG_RESET_MESON is not set +# CONFIG_RESET_PISTACHIO is not set +# CONFIG_RESET_SOCFPGA is not set +# CONFIG_RESET_STM32 is not set +# CONFIG_RESET_SUNXI is not set +# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_ZYNQ is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_GOKE_USB2 is not set +# CONFIG_PHY_GOKE_USB3 is not set +CONFIG_PHY_GOKE_USBP2=y +# CONFIG_USB_MODE_OPTION is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_BSP_DMAC is not set +# CONFIG_HIEDMAC is not set + +# +# Hisilicon driver support +# +CONFIG_CMA_MEM_SHARED=y +# CONFIG_CMA_ADVANCE_SHARE is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_F2FS_FS=m +CONFIG_F2FS_FS_XATTR=n +CONFIG_F2FS_FS_POSIX_ACL=n +# CONFIG_F2FS_FS_SECURITY is not set +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FS_ENCRYPTION is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=n +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=n +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=n +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=n +CONFIG_TMPFS_XATTR=n +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=n +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_YAFFS_FS=n +CONFIG_YAFFS_YAFFS1=n +# CONFIG_YAFFS_9BYTE_TAGS is not set +# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_YAFFS2=n +CONFIG_YAFFS_AUTO_YAFFS2=n +# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set +CONFIG_YAFFS_XATTR=n +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +# CONFIG_JFFS2_LZMA is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_UBIFS_FS=y +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=n +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=n +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=n +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=n +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=n +CONFIG_LOCKD_V4=n +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=n +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=3 +# CONFIG_BOOT_PRINTK_DELAY is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +# CRUCIAL for /dev/sys +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHED_INFO is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CRUCIAL for /dev/sys +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=n +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=n +CONFIG_HAVE_DYNAMIC_FTRACE=n +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n +CONFIG_HAVE_SYSCALL_TRACEPOINTS=n +CONFIG_HAVE_C_RECORDMCOUNT=n +CONFIG_TRACING_SUPPORT=n +# CONFIG_FTRACE is not set + +# +# Runtime Testing +# +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=n +# CONFIG_KGDB is not set +# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_ARM_UNWIND is not set +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_KPP2=y +# CONFIG_CRYPTO_RSA is not set +# CONFIG_CRYPTO_DH is not set +# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=n +CONFIG_ZLIB_DEFLATE=n +CONFIG_LZO_COMPRESS=n +CONFIG_LZO_DECOMPRESS=n +CONFIG_LZ4_DECOMPRESS=n +CONFIG_XZ_DEC=n +CONFIG_XZ_DEC_X86=n +CONFIG_XZ_DEC_POWERPC=n +CONFIG_XZ_DEC_IA64=n +CONFIG_XZ_DEC_ARM=n +CONFIG_XZ_DEC_ARMTHUMB=n +CONFIG_XZ_DEC_SPARC=n +CONFIG_XZ_DEC_BCJ=n +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=n +CONFIG_DECOMPRESS_XZ=n +CONFIG_DECOMPRESS_LZ4=n +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SBITMAP=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_GCC_PLUGINS is not set diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig new file mode 100644 index 0000000..dba3f41 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_defconfig @@ -0,0 +1,116 @@ +# Architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_EABI=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_ARM_INSTRUCTIONS_THUMB2=y +BR2_KERNEL_HEADERS_VERSION=y +BR2_DEFAULT_KERNEL_VERSION="4.9.37" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y + +# Toolchain +BR2_PER_PACKAGE_DIRECTORIES=y +BR2_GCC_VERSION_8_X=y +#BR2_TOOLCHAIN_USES_UCLIBC=y +#BR2_TOOLCHAIN_BUILDROOT_UCLIBC=y +#BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" +BR2_TOOLCHAIN_USES_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_MUSL=y +BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y +BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.37" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_GOKE_PATH)/board/gk7205v200/kernel/gk7205v300.generic.config" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_XZ=y +BR2_LINUX_KERNEL_EXT_GOKE_PATCHER=y +BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST="$(BR2_EXTERNAL_GOKE_PATH)/board/gk7205v200/kernel/patches/ $(BR2_EXTERNAL_GOKE_PATH)/board/gk7205v200/kernel/overlay" + +# Filesystem +# BR2_TARGET_TZ_INFO is not set +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y +BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh" + +# OpenIPC configuration +BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" +BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2" +BR2_TARGET_GENERIC_HOSTNAME="openipc-gk7205v300" +BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" + +# OpenIPC packages +BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" +BR2_PACKAGE_DROPBEAR_OPENIPC=y +# BR2_PACKAGE_FDK_AAC_OPENIPC is not set +BR2_PACKAGE_FWPRINTENV_OPENIPC=y +BR2_PACKAGE_GOKE_OSDRV_GK7205V200=y +BR2_PACKAGE_HISILICON_OPENSDK=y +BR2_PACKAGE_HASERL=y +# BR2_PACKAGE_HISI_GPIO is not set +BR2_PACKAGE_IPCTOOL=y +BR2_PACKAGE_JSON_C=y +BR2_PACKAGE_LAME_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC=y +BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y +# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set +# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set +BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y +BR2_PACKAGE_LIBEVENT_OPENIPC=y +BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y +BR2_PACKAGE_LIBOGG_OPENIPC=y +BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y +BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_MAJESTIC_FONTS=y +BR2_PACKAGE_MAJESTIC=y +BR2_PACKAGE_MBEDTLS_OPENIPC=y +# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set +# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set +BR2_PACKAGE_MICROBE_WEB=y +# BR2_PACKAGE_MINI_SNMPD is not set +BR2_PACKAGE_MOTORS=y +BR2_PACKAGE_OPUS_OPENIPC=y +BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y +# BR2_PACKAGE_SSHPASS is not set +BR2_PACKAGE_UACME_OPENIPC=y +BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_YAML_CLI=y +BR2_PACKAGE_QUIRC_OPENIPC=y + +# WiFi +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y +BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U=y +# BR2_PACKAGE_RTL8188EU is not set + +# WIREGUARD +BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y +BR2_PACKAGE_WIREGUARD_TOOLS=y + +# IPTABLES +BR2_PACKAGE_IPTABLES=y + +# MQTT +BR2_PACKAGE_MOSQUITTO=y +# BR2_PACKAGE_MOSQUITTO_BROKER is not set + +# ZEROTIER +BR2_PACKAGE_ZEROTIER_ONE=y + +# DEBUG +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_GDB=y diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_oko2_defconfig b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_oko2_defconfig new file mode 120000 index 0000000..ee98d0f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/configs/gk7205v300_ultimate_oko2_defconfig @@ -0,0 +1 @@ +gk7205v300_ultimate_defconfig \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.desc b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.desc new file mode 100644 index 0000000..ed685c6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.desc @@ -0,0 +1,2 @@ +name: GOKE +desc: Buildroot external tree for Goke based IP cameras diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.mk b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.mk new file mode 100644 index 0000000..3f2ff54 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/external.mk @@ -0,0 +1,2 @@ +include $(BR2_EXTERNAL_GOKE_PATH)/linux/linux-ext-goke_patcher.mk +include $(sort $(wildcard $(BR2_EXTERNAL_GOKE_PATH)/package/*/*.mk)) diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/Config.ext.in b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/Config.ext.in new file mode 100644 index 0000000..cd85e7b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/Config.ext.in @@ -0,0 +1,15 @@ + +config BR2_LINUX_KERNEL_EXT_GOKE_PATCHER + bool "Goke kernel patches" + select BR2_PACKAGE_GOKE_PATCHER + help + Patch Kernel for Goke boards + +if BR2_LINUX_KERNEL_EXT_GOKE_PATCHER + +config BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST + string "Patch list" + help + Space-separated list of patches to be applied + +endif # BR2_LINUX_KERNEL_EXT_GOKE_PATCHER diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/linux-ext-goke_patcher.mk b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/linux-ext-goke_patcher.mk new file mode 100644 index 0000000..3e7c942 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/linux/linux-ext-goke_patcher.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# linux_kernel_ext_goke_patcher +# +################################################################################ + +LINUX_EXTENSIONS += goke_patcher + +define GOKE_PATCHER_PREPARE_KERNEL + $(GOKE_PATCHER_PKGDIR)/apply.sh $(@D) $(BR2_LINUX_KERNEL_EXT_GOKE_PATCHER_LIST) +endef diff --git a/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/package/goke-osdrv-gk7205v200 b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/package/goke-osdrv-gk7205v200 new file mode 120000 index 0000000..04b8a2d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/br-ext-chip-goke/package/goke-osdrv-gk7205v200 @@ -0,0 +1 @@ +../../general/package/goke-osdrv-gk7205v200 \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/building.sh b/projects/gk7205v300_ultimate_oko2/building.sh new file mode 100755 index 0000000..de39029 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/building.sh @@ -0,0 +1,303 @@ +#!/bin/bash +# +# OpenIPC.org (c) +# + +# +# Constants +# + +MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152 +MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728 +MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152 +MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880 +MAX_ROOTFS_SIZE_ULTIMATE=0xA00000 # 10MiB, 10485760 + +_d=$(date +"%y.%m.%d") +OPENIPC_VER=$(echo OpenIPC v${_d:0:1}.${_d:1}) +unset _d + +SRC_CACHE_DIR="/tmp/buildroot_dl" + +# +# Functions +# + +echo_c() { + # 30 grey, 31 red, 32 green, 33 yellow, 34 blue, 35 magenta, 36 cyan,37 white + echo -e "\e[1;$1m$2\e[0m" +} + +log_and_run() { + _command=$1 + echo_c 35 "$_command" + $_command + unset _command +} + +clone() { + sudo apt-get update -y + sudo apt-get install -y automake autotools-dev bc build-essential curl fzf git libtool rsync unzip + git clone --depth=1 https://github.com/OpenIPC/firmware.git +} + +fresh() { + BR_VER=$1 + + if [ -d "$SRC_CACHE_DIR" ]; then + echo_c 36 "Found cache directory." + else + echo_c 31 "Cache directory not found." + echo_c 34 "Creating cache directory ..." + log_and_run "mkdir -p ${SRC_CACHE_DIR}" + echo_c 34 "Done.\n" + fi + + if [ -d "buildroot-${BR_VER}" ]; then + echo_c 36 "Found existing Buildroot directory." + + if [ -d "buildroot-${BR_VER}/dl" ]; then + echo_c 36 "Found existing Buildroot downloads directory." + echo_c 34 "Copying Buildroot downloads to cache directory ..." + log_and_run "cp -rvf buildroot-${BR_VER}/dl/* ${SRC_CACHE_DIR}" + echo_c 34 "Done.\n" + fi + + echo_c 34 "Cleaning source directory." + echo_c 35 "make distclean" + make distclean + echo_c 34 "Done.\n" + else + echo_c 31 "Buildroot sources not found." + fi + + echo_c 34 "Downloading Buildroot sources to cache directory ..." + log_and_run "curl --continue-at - --output ${SRC_CACHE_DIR}/buildroot-${BR_VER}.tar.gz https://buildroot.org/downloads/buildroot-${BR_VER}.tar.gz" + echo_c 34 "Done.\n" + + echo_c 34 "Extracting a fresh copy of Buildroot from Buildroot sources ..." + log_and_run "tar xvf ${SRC_CACHE_DIR}/buildroot-${BR_VER}.tar.gz" + echo_c 34 "Done.\n" + + echo_c 34 "Copying cached source files back to Buildroot ..." + log_and_run "mkdir -p buildroot-${BR_VER}/dl/" + log_and_run "cp -rvf ${SRC_CACHE_DIR}/* buildroot-${BR_VER}/dl/" + echo_c 34 "Done.\n" + + # make prepare + + echo_c 33 "Start building OpenIPC Firmware ${OPENIPC_VER} for ${SOC}." + echo "The start-stop times" >/tmp/openipc_buildtime.txt + date >>/tmp/openipc_buildtime.txt +} + +should_fit() { + filename=$1 + maxsize=$2 + filesize=$(stat --printf="%s" ./output/images/$filename) + if [[ $filesize -gt $maxsize ]]; then + export TG_NOTIFY="Warning: $filename is too large: $filesize vs $maxsize" + echo_c 31 "Warning: $filename is too large: $filesize vs $maxsize" + exit 1 + fi +} + +rename() { + if grep -q ultimate_defconfig ./output/.config || grep -q ultimate_oko2_defconfig ./output/.config || grep -q fpv_defconfig ./output/.config; then + should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE + should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE + else + should_fit uImage $MAX_KERNEL_SIZE + should_fit rootfs.squashfs $MAX_ROOTFS_SIZE + fi + mv -v ./output/images/uImage ./output/images/uImage.${SOC} + mv -v ./output/images/rootfs.squashfs ./output/images/rootfs.squashfs.${SOC} + mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio + mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar + date >>/tmp/openipc_buildtime.txt + echo_c 31 "\n\n$(cat /tmp/openipc_buildtime.txt)\n\n" +} + +rename_initramfs() { + should_fit uImage $MAX_KERNEL_SIZE_EXPERIMENTAL + mv -v ./output/images/uImage ./output/images/uImage.initramfs.${SOC} + mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio + mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar + date >>/tmp/openipc_buildtime.txt + echo_c 31 "\n\n$(cat /tmp/openipc_buildtime.txt)\n\n" +} + +autoup_rootfs() { + echo_c 34 "\nDownloading u-boot created by OpenIPC" + curl --location --output ./output/images/u-boot-${SOC}-universal.bin \ + https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-${SOC}-universal.bin + + echo_c 34 "\nMaking autoupdate u-boot image" + ./output/host/bin/mkimage -A arm -O linux -T firmware -n "$OPENIPC_VER" \ + -a 0x0 -e 0x50000 -d ./output/images/u-boot-${SOC}-universal.bin \ + ./output/images/autoupdate-uboot.img + + echo_c 34 "\nMaking autoupdate kernel image" + ./output/host/bin/mkimage -A arm -O linux -T kernel -C none -n "$OPENIPC_VER" \ + -a 0x50000 -e 0x250000 -d ./output/images/uImage.${SOC} \ + ./output/images/autoupdate-kernel.img + + echo_c 34 "\nMaking autoupdate rootfs image" + ./output/host/bin/mkimage -A arm -O linux -T filesystem -n "$OPENIPC_VER" \ + -a 0x250000 -e 0x750000 -d ./output/images/rootfs.squashfs.${SOC} \ + ./output/images/autoupdate-rootfs.img +} + +################################################################################# + +FUNCS=( + ambarella-s3l + + ak3916ev300 + ak3918ev300 + + fh8833v100 + fh8852v100 + fh8852v200 + fh8852v210 + fh8856v100 + fh8856v200 + fh8856v210 + fh8858v200 + fh8858v210 + + gk7101 + gk7101s + gk7102 + gk7102s + + gk7202v300 + gk7205v200 gk7205v200_fpv gk7205v200_ultimate + gk7205v210 + gk7205v300 gk7205v300_fpv gk7205v300_ultimate + gk7605v100 + + gm8135 + gm8136 + + hi3516cv100 + hi3518ev100 + + hi3516cv200 + hi3518ev200 hi3518ev200_ultimate + + hi3516cv300 hi3516cv300_ultimate + hi3516ev100 + + hi3516av100 hi3516av100_ultimate + hi3516dv100 hi3516dv100_ultimate + + hi3519v101 + hi3516av200 hi3516av200_ultimate + + hi3516av300 + hi3516cv500 + hi3516dv300 + + hi3516dv200 + hi3516ev200 hi3516ev200_fpv hi3516ev200_ultimate hi3516ev200_eltis + hi3516ev300 hi3516ev300_fpv hi3516ev300_ultimate hi3516ev300_dev hi3516ev300_glibc hi3516ev300_tehshield + hi3518ev300 hi3518ev300_ultimate + + hi3536cv100 + hi3536dv100 hi3536dv100_vixand + + msc313e msc313e_baresip + msc316dc + msc316dm + + nt98562 + nt98566 + + rv1109 + rv1126 + + ssc325 + ssc333 + ssc335 ssc335_blackbird ssc335_goodcam ssc335_initramfs ssc335_musl ssc335_portal ssc335_rotek ssc335_tiandy + ssc337 ssc337_kama + + ssc335de + ssc337de + + t10 + t20 + t30 + t31 t31_ultimate + + xm510 + xm530 + xm550 +) + +copy_function() { + test -n "$(declare -f "$1")" || return + eval "${_/$1/$2}" +} + +uni_build() { + [ -z "$BOARD" ] && BOARD=$FUNCNAME + + SOC=$(echo $BOARD | cut -d '_' -f 1) + + set -e + if [ "$(echo $BOARD | cut -sd '_' -f 2)" == "" ]; then + BOARD="${BOARD}_lite" + fi + + if [ "$BOARD" == "hi3518ev200_lite" ]; then + NEED_AUTOUP=1 + fi + + echo_c 33 "\n SoC: $SOC\nBoard: $BOARD\n" + + if [ "all" = "${COMMAND}" ]; then + fresh $(make BOARD=${BOARD} buildroot-version) + fi + + log_and_run "make BOARD=${BOARD} ${COMMAND}" + + if [ "all" = "${COMMAND}" ]; then + if [ "$BOARD" == "ssc335_initramfs" ]; then + rename_initramfs + else + rename + fi + + if [ ! -z "$NEED_AUTOUP" ]; then + autoup_rootfs + fi + fi +} + +for i in "${FUNCS[@]}"; do + copy_function uni_build $i +done + +####### + +if [ $# -eq 0 ]; then + if ! command -v fzf >/dev/null 2>&1; then + echo -ne "Usage: $0 \nVariants:" + for i in "${FUNCS[@]}"; do echo -n " ${i}"; done + echo + exit 1 + else + SELECTED=$(find . -path "*/br-ext-chip-*" -name "*_defconfig" | fzf) + [ -z "$SELECTED" ] && exit 1 + BOARD=$(echo $SELECTED | cut -d / -f 4 | awk -F_ '{printf "%s_%s", $1, $2}') + fi +else + BOARD=$1 +fi + +COMMAND=$2 +[ -z "$COMMAND" ] && COMMAND=all + +echo_c 37 "Building OpenIPC for ${BOARD}" +uni_build $BOARD $COMMAND diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/TZ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/TZ new file mode 100644 index 0000000..f40b579 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/TZ @@ -0,0 +1 @@ +<+03>-3 \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/chat b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/chat new file mode 100755 index 0000000..9c100fa --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/chat @@ -0,0 +1,8 @@ +#!/bin/sh + +at AT+CGDCONT=1,"IP","Internet" +at AT+CGACT=1,1 +at AT+CGPADDR=1 +at AT+QCFG="usbnet",1 +at at+qnetdevctl=1,1,1 + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/composer.ini b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/composer.ini new file mode 100644 index 0000000..8e6afdb --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/composer.ini @@ -0,0 +1,2 @@ +# +composer_message="This firmware was created with the Composer project." diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/hostname b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/hostname new file mode 100644 index 0000000..789ef57 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/hostname @@ -0,0 +1 @@ +gk300-0002-02 diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/httpd.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/httpd.conf new file mode 100644 index 0000000..5e4c3f9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/httpd.conf @@ -0,0 +1,11 @@ +# +H:/var/www +A:127.0.0.1 +A:* +D:8.8.8.8/32 +E401:401.html +/cgi-bin:admin:123456 +/cgi-bin:oper:88888888 +# +P:/image.jpg:http://127.0.0.1:80/image.jpg +# diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S09pwr b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S09pwr new file mode 100755 index 0000000..5c16cfd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S09pwr @@ -0,0 +1,23 @@ +#!/bin/sh + +case "$1" in +start) + hwclock -s + pwr 7 0 + sleep 3 && + modprobe mt7601u + modprobe usbserial vendor=0x28e9 product=0x018a; +#rmmod usbserial && +##modprobe usbserial vendor=0x28e9 product=0x018a && + sleep 3 && + qw 0 AT+LDB+on + qw 0 AT+MDM+on + qw 0 AT+AP5+on +# morg & + ;; +stop) + pwr 7 1 + qw 0 AT+MDM+off + ;; +esac + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S50httpd b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S50httpd new file mode 100755 index 0000000..66cb2ca --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S50httpd @@ -0,0 +1,66 @@ +#!/bin/sh + +DAEMON="httpd" +PIDFILE="/var/run/$DAEMON.pid" +CONFFILE="/etc/httpd.conf" + +HTTPD_ARGS="httpd -p 8080 -f -c $CONFFILE -r Authentication" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +if [ "$(fw_printenv -n debug)" ]; then + echo "Development mode. Disabling Basic Auth" + sed -i "/^\/cgi-bin:admin:/s/^/#/" $CONFFILE +else + echo "Production mode. Enabling Basic Auth" + sed -i "/^#\/cgi-bin:admin:/s/^#//" $CONFFILE +fi + +# The httpd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + [ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, " + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $HTTPD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + [ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, " + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S77meconf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S77meconf new file mode 100755 index 0000000..d980e90 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S77meconf @@ -0,0 +1,134 @@ +#!/bin/sh + +readconfig() { +echo "=============------------ Read cofig --------------============" +rcfg +echo "================-------- Parse config -------------============" +ssid=`cat /tmp/config.txt | grep ssid | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d " " -f 2` +key=`cat /tmp/config.txt | grep ^key | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2` +########################### +privkey=`cat /tmp/config.txt | grep PrivateKey | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2` +addrcam=`cat /tmp/config.txt | grep Address | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2`;addrcam="${addrcam%/*}" +gateway=`cat /tmp/config.txt | grep Gateway | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2`;gateway="${gateway%<*}" +pubkey=`cat /tmp/config.txt | grep PublicKey | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2` +allowips=`cat /tmp/config.txt | grep AllowedIPs | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2`;allowips="${allowips%<*}" +endpoint=`cat /tmp/config.txt | grep Endpoint | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d: -d " " -f 2`;endpoint="${endpoint%<*}" +########################### +dumpconfig=`echo -n "$ssid$key"` +} + +setconfig() { +echo "===========-------------- set wifi config ------------==========" +if [[ ! -z "$ssid" && ! -z "$key" ]] + then + cur=`sed -n '3p' /usr/bin/crCli` + new="wpa_passphrase $ssid $key >/tmp/wpa_supplicant.conf" + + if [[ "$cur" == "$new" ]] + then + echo "Ok. ssid not replaced" + else + echo "Ok. Set new ssid, key" + sed -i '3d' /usr/bin/crCli + sed -i "3i \\$new" /usr/bin/crCli + fi +fi + +if [[ ! -z "$privkey" && ! -z "$addrcam" && ! -z "$pubkey" && ! -z "$allowips" && ! -z "$endpoint" ]] + then + echo "=======---------- Not Null ------========" + corr=0 + ######################################################################### + addrcam="address ${addrcam%/*}" + gateway="gateway ${gateway%/*}" + privkey="PrivateKey = $privkey" + pubkey="PublicKey = $pubkey" + allowips="AllowedIPs = $allowips" + endpoint="Endpoint = $endpoint" + eaddrcam=`sed -n '48p' /etc/network/interfaces | sed 's/^ *//'` + egateway=`sed -n '50p' /etc/network/interfaces | sed 's/^ *//'` + + eprivkey=`cat /etc/wireguard.conf | grep PrivateKey` + epubkey=`cat /etc/wireguard.conf | grep PublicKey` + eallowips=`cat /etc/wireguard.conf | grep AllowedIPs` + eendpoint=`cat /etc/wireguard.conf | grep Endpoint` + if [[ ! "$addrcam" == "$eaddrcam" ]] + then + sed -i '48d' /etc/network/interfaces + sed -i "48i \\$addrcam" /etc/network/interfaces + corr=1 + echo "==========----------- correct addr in interfaces ---------========" + fi + + if [[ ! "$gateway" == "$egateway" ]] + then + sed -i '50d' /etc/network/interfaces + sed -i "50i \\$gateway" /etc/network/interfaces + corr=1 + echo "======------ correct gateway in interfaces -----=====" + fi + + if [[ ! "$privkey" == "$eprivkey" ]] + then + corr=1 + fi + if [[ ! "$pubkey" == "$epubkey" ]] + then + corr=1 + fi + if [[ ! "$allowips" == "$eallowips" ]] + then + corr=1 + fi + if [[ ! "$endpoint" == "$eendpoint" ]] + then + corr=1 + fi + if [[ $corr == 1 ]] + then + echo "===========--------------- Set WG ----------============" +echo "WG addr:: $addrcam" + if [[ ! "$addrcam" == "address xxx.xxx.xxx.xxx" ]] + then sed -i '46s/manual/auto/' /etc/network/interfaces + else sed -i '46s/auto/manual/' /etc/network/interfaces + fi + rm -f /etc/wireguard.conf + echo "[Interface]" >> /etc/wireguard.conf + echo "$privkey" >> /etc/wireguard.conf + echo "[Peer]" >> /etc/wireguard.conf + echo "$pubkey" >> /etc/wireguard.conf + echo "$allowips" >> /etc/wireguard.conf + echo "$endpoint" >> /etc/wireguard.conf + echo "PersistentKeepalive = 5" >> /etc/wireguard.conf + rm -f /sdcard/config.hex + rm -f /sdcard/config.txt + fi +fi +} + +checkconfig() { +echo "check config" +if [ -f /sdcard/config.hex ] +then + echo "config exist" + readconfig + setconfig +else +echo "config not exist" +fi + +if [ -f /sdcard/hardres ] +then + rm -f /sdcard/hardres + firstboot +fi +} + +case "$1" in +start) + echo "read config on SDcard" + checkconfig + echo "set config done" + # commands to launch application + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S97hands b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S97hands new file mode 100755 index 0000000..affcc1d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S97hands @@ -0,0 +1,60 @@ +#!/bin/sh + +hands() { +echo "0" > /tmp/maxf +echo "0" > /tmp/lst +echo "0" > /tmp/st +echo "0" > /tmp/zx +echo "0" > /tmp/ff +sleep 5; +if [[ "$(getenv apmode)" == "1" ]] +then + crAp +else + crCli +fi + +if [[ "$(getenv focus-control)" == "2" ]] +then + i2c-init +fi + +if [[ "$(getenv wifif)" == "1" ]] +then + modprobe rtl8821cu + sleep 2 && + crCl +fi + + +light 1 +sleep 0.5 +light 0 +#xm-light-fan 3 2 0 75 75 +eaddrcam=`sed -n '56p' /etc/network/interfaces | sed 's/^ *//'` +caddr="address xxx.xxx.xxx.xxx" +sleep 25 && +rmmod usbserial && +modprobe usbserial vendor=0x28e9 product=0x018a && +#sleep 15 && bt +light 0; +} + +case "$1" in +start) + echo "hands WG" + hands + auto_f & + zx & + warmlight & +qw 0 "AT+ALL>0" +qw 0 "AT+ALL>0" +qw 0 "AT+ALL>0" + qw 0 AT+CU1+75 + ;; +stop) + killall uqmi + qw 0 AT+CU1+0 + ;; +esac + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S98focus b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S98focus new file mode 100755 index 0000000..89374af --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/init.d/S98focus @@ -0,0 +1,11 @@ +#!/bin/sh + +case "$1" in +start) + sleep 120 && s_baf + ;; +stop) + echo "By" + ;; +esac + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/inittab b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/inittab new file mode 100644 index 0000000..dee44af --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/inittab @@ -0,0 +1,40 @@ +# /etc/inittab +# +# Copyright (C) 2001 Erik Andersen +# +# Note: BusyBox init doesn't support runlevels. The runlevels field is +# completely ignored by BusyBox init. If you want runlevels, use +# sysvinit. +# +# Format for each entry: ::: +# +# id == tty to run on, or empty for /dev/console +# runlevels == ignored +# action == one of sysinit, respawn, askfirst, wait, and once +# process == program to run + +# Startup the system +::sysinit:/bin/mount -t proc proc /proc +::sysinit:/bin/mount -o remount,rw / +::sysinit:/bin/mkdir -p /dev/pts /dev/shm +::sysinit:/bin/mount -a +::sysinit:/bin/mkdir -p /run/lock/subsys +# ::sysinit:/sbin/swapon -a +null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd +null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin +null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout +null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr +::sysinit:/bin/hostname -F /etc/hostname +# now run any rc scripts +::sysinit:/etc/init.d/rcS + +# Put a getty on the serial port +console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL + +# Stuff to do for the 3-finger salute +#::ctrlaltdel:/sbin/reboot + +# Stuff to do before rebooting +::shutdown:/etc/init.d/rcK +# ::shutdown:/sbin/swapoff -a +::shutdown:/bin/umount -a -f diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/majestic.yaml b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/majestic.yaml new file mode 100644 index 0000000..3153bcb --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/majestic.yaml @@ -0,0 +1,79 @@ +system: + buffer: 2048 +image: + mirror: false + flip: false + rotate: none + contrast: 55 + hue: 50 + saturation: 65 + luminance: 50 +osd: + enabled: true + template: "%d/%m/%Y %T" +nightMode: + enabled: false + pinSwitchDelayUs: 150 + irSensorPinInvert: false +records: + enabled: false + path: /mnt/mmc/records/%Y/%m/%d/%H.mp4 + maxUsage: 95 +video0: + enabled: true + codec: h264 + size: 2560x1440 + fps: 15 + gopMode: normal + gopSize: 1 + rcMode: avbr + bitrate: 2048 +video1: + enabled: true + size: 1920x1080 + fps: 15 + bitrate: 1024 + codec: h264 +jpeg: + enabled: true + toProgressive: false +mjpeg: + size: 640x360 + fps: 5 + bitrate: 1024 +audio: + enabled: false + volume: auto + srate: 8000 +rtsp: + enabled: true + port: 554 +hls: + enabled: true +youtube: + enabled: true + url: rtmp://a.rtmp.youtube.com/live2 + key: qk5h-kxrg-dsfk-jduh-c0jg +motionDetect: + enabled: false + profile: outdoor + visualize: false + debug: false +ipeye: + enabled: false +onvif: + enabled: false +watchdog: + enabled: true + timeout: 10 +netip: + enabled: false + user: admin + password: 6V0Y4HLF + port: 34567 + snapshots: false + ignoreSetTime: false +cloud: + enabled: false +isp: + memMode: normal diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/mdev.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/mdev.conf new file mode 100644 index 0000000..d913131 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/mdev.conf @@ -0,0 +1,22 @@ +# Provide user, group, and mode information for devices. If a regex matches +# the device name provided by sysfs, use the appropriate user:group and mode +# instead of the default 0:0 660. +# +# Syntax: +# [-]devicename_regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]$ENVVAR=regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]@maj,min[-min2] user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# +# [-]: do not stop on this match, continue reading mdev.conf +# =: move, >: move and create a symlink +# !: do not create device node +# @|$|*: run@cmd if $ACTION=add, $cmd if $ACTION=remove, *cmd in all cases +# +# +# +mmcblk[0-9] root:disk 660 +mmcblk[0-9]p[0-9] root:disk 660 *(/lib/mdev/automount.sh) +# +sd[a-z] root:disk 660 +sd[a-z][0-9] root:disk 660 *(/lib/mdev/automount.sh) +# diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/modules b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/modules new file mode 100644 index 0000000..ac60a42 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/modules @@ -0,0 +1,6 @@ +f2fs +vfat +usb-storage +sd_mod +camhi-motor.ko + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/network/interfaces b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/network/interfaces new file mode 100644 index 0000000..fab56c2 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/network/interfaces @@ -0,0 +1,64 @@ +# Interfaces + +auto lo +iface lo inet loopback + +manual usb0 +iface usb0 inet dhcp + pre-up modprobe usbserial vendor=0x2c7c product=0x6026 + pre-up modprobe rndis_host + pre-up sleep 10 + pre-up /etc/chat + pre-up sleep 2 + pre-up /etc/chat + pre-up sleep 1 + pre-up /etc/chat + +auto eth0 +iface eth0 inet dhcp + hwaddress ether $(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF) + #pre-up echo -e "nameserver 77.88.8.8\nnameserver 8.8.4.4\n" >/tmp/resolv.conf + +manual eth0:1 +iface eth0:1 inet static + address $(fw_printenv -n ipaddr || echo 192.168.1.10) + netmask 255.255.255.0 + +auto wwan0 +iface wwan0 inet dhcp + pre-up sleep 1 + pre-up modprobe option + pre-up modprobe qmi_wwan + pre-up sleep 10 + pre-up uqmi -s -d /dev/cdc-wdm0 --start-network internet --autoconnect & + pre-up echo 'Y' | tee /sys/class/net/wwan0/qmi/raw_ip + post-down uqmi -s -d /dev/cdc-wdm0 --stop-network --autoconnect + post-down sleep 2 + post-down killall uqmi + post-down killall uqmi + + + +manual eth2 +iface eth2 inet dhcp + pre-up wifi xm711 + +auto wg0 +iface wg0 inet static +address 192.168.77.14 + netmask 255.255.255.0 +gateway 192.168.77.1 + pre-up modprobe wireguard + pre-up ip link add dev wg0 type wireguard + pre-up wg setconf wg0 /etc/wireguard.conf + post-down ip link del dev wg0 + +auto bbsw0 +iface bbsw0 inet static +address 192.168.78.15 + netmask 255.255.255.0 +gateway 192.168.78.1 + pre-up modprobe wireguard + pre-up ip link add dev bbsw0 type wireguard + pre-up wg setconf bbsw0 /etc/wg1.conf + post-down ip link del dev bbsw0 diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/test.sh b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/test.sh new file mode 100755 index 0000000..5220e7c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/test.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +echo "start connect"; +sleep 5s; +uqmi -s -d /dev/cdc-wdm0 --start-network internet --autoconnect & +echo "connect"; +echo "set wwan" +ip link set wwan0 down +echo 'Y' | tee /sys/class/net/wwan0/qmi/raw_ip +ip link set wwan0 up +echo "get ip" +udhcpc -i wwan0 + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/udhcpd.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/udhcpd.conf new file mode 100644 index 0000000..18282a0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/udhcpd.conf @@ -0,0 +1,69 @@ +# Sample udhcpd configuration file (/etc/udhcpd.conf) +start 192.168.2.20 +end 192.168.2.254 +# The interface that udhcpd will use +interface wlan0 +# The maximum number of leases (includes addresses reserved +# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected +# if it's bigger than IP lease block, but it ok to make it +# smaller than lease block. +max_leases 5 +#pidfile /var/run/udhcpd.pid +# The location of the leases file +lease_file /tmp/udhcpd.leases +# The time period at which udhcpd will write out leases file. +#static_lease 00:60:08:11:CE:4E 192.168.0.54 +#static_lease 00:60:08:11:CE:3E 192.168.0.44 +#Examples: +#opt dns 192.168.10.2 192.168.10.10 +#option subnet 255.255.255.0 +#opt router 192.168.10.2 +#opt wins 192.168.10.10 +#option dns 129.219.13.81 # appended to above DNS servers for a total of 3 +#option domain local +#option lease 864000 # default: 10 days +#option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route +#option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1 +# Arbitrary option in hex form: +#option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" +# Currently supported options (for more info, see options.c): +#opt lease NUM +#opt subnet IP +#opt broadcast IP +#opt router IP_LIST +#opt ipttl NUM +#opt mtu NUM +#opt hostname STRING # client's hostname +#opt domain STRING # client's domain suffix +#opt search STRING_LIST # search domains +#opt nisdomain STRING +#opt timezone NUM # (localtime - UTC_time) in seconds. signed +#opt tftp STRING # tftp server name +#opt bootfile STRING # tftp file to download (e.g. kernel image) +#opt bootsize NUM # size of that file +#opt rootpath STRING # (NFS) path to mount as root fs +#opt wpad STRING +#opt serverid IP # default: server's IP +#opt message STRING # error message (udhcpd sends it on success too) +#opt vlanid NUM # 802.1P VLAN ID +#opt vlanpriority NUM # 802.1Q VLAN priority +# Options specifying server(s) +#opt dns IP_LIST +#opt wins IP_LIST +#opt nissrv IP_LIST +#opt ntpsrv IP_LIST +#opt lprsrv IP_LIST +#opt swapsrv IP +# Options specifying routes +#opt routes IP_PAIR_LIST +#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option +#opt msstaticroutes STATIC_ROUTES # same, using MS option number +# Obsolete options, no longer supported +#opt logsrv IP_LIST # 704/UDP log server (not syslog!) +#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!) +#opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used +#opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used +# TODO: in development +#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc +#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wg1.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wg1.conf new file mode 100644 index 0000000..9ae8fe9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wg1.conf @@ -0,0 +1,11 @@ +# +[interface] +PrivateKey = * +# +[Peer] +PublicKey = * +AllowedIPs = * +Endpoint = * +PersistentKeepalive = 5 +# + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wireguard.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wireguard.conf new file mode 100644 index 0000000..2554964 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wireguard.conf @@ -0,0 +1,8 @@ +[Interface] +PrivateKey = * +[Peer] +PublicKey = * +AllowedIPs = * +Endpoint = *:* +PersistentKeepalive = 5 + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wpa_supplicant.conf b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wpa_supplicant.conf new file mode 100644 index 0000000..5d39e62 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/etc/wpa_supplicant.conf @@ -0,0 +1,9 @@ +ctrl_interface=/var/run/wpa_supplicant + +# -- SoftAP mode with encryption/password protected example: +network={ +ssid="gk300-0003-03" + mode=2 + key_mgmt=WPA-PSK +psk="10923874" +} diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libVoiceEngine.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libVoiceEngine.so new file mode 100644 index 0000000..17654eb Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libVoiceEngine.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidehaze.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidehaze.so new file mode 100644 index 0000000..f4e7e9b Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidehaze.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidrc.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidrc.so new file mode 100644 index 0000000..e8feb23 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hidrc.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hildci.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hildci.so new file mode 100644 index 0000000..a345a92 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/lib_hildci.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libdnvqe.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libdnvqe.so new file mode 100644 index 0000000..a1378d8 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libdnvqe.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libisp.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libisp.so new file mode 100644 index 0000000..300a60e Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libisp.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libmpi.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libmpi.so new file mode 100644 index 0000000..8d6e981 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libmpi.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libsecurec.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libsecurec.so new file mode 100644 index 0000000..0413586 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libsecurec.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libupvqe.so b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libupvqe.so new file mode 100644 index 0000000..ca2f9bf Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/libupvqe.so differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/mdev/automount.sh b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/mdev/automount.sh new file mode 100755 index 0000000..b309e32 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/mdev/automount.sh @@ -0,0 +1,83 @@ +#!/bin/sh + +destdir="/mnt" + +my_umount() +{ + if grep -qs "^/dev/$1 " /proc/mounts ; then + yaml-cli -s ".records.enabled" "false" +# sed -i '96s/true/false/' /etc/majestic.yaml + unlink "/sdcard"; + unlink "/var/www/rec"; + umount "${destdir}/mmc"; + rmdir "${destdir}/mmc" + fi + + [ -d "${destdir}/mmc" ] && rmdir "${destdir}/mmc" +} + +my_mount() +{ + mkdir -p "${destdir}/mmc" || exit 1 + if ! mount -t vfat "/dev/$1" "${destdir}/mmc"; then + # failed to mount, clean up mountpoint + rmdir "${destdir}/mmc" + exit 1 + fi + echo "SD Card mounted"; + ln -s "${destdir}/mmc" "/sdcard" + ln -s "${destdir}/mmc/records" "/var/www/rec" + yaml-cli -s ".records.enabled" "true" + if [ -f /sdcard/autoexe ] + then + /sdcard/autoexe + fi + if [ -f /sdcard/hardres ] + then + rm -f /sdcard/hardres + flash_eraseall -j /dev/mtd4 + firstboot + fi +} + +case "${ACTION}" in +add|"") + majex=`ps aux | grep majestic | grep -v grep` + if [[ ! -z "$majex" ]] + then + echo "Stop majestic" + dumpconfig=`echo -n "Stop majestic"` + /etc/init.d/S95hisilicon stop + sleep 1 + fi + + my_umount ${MDEV} + my_mount ${MDEV} + + if [[ ! -z "$majex" ]] + then + echo "Start majestic" + dumpconfig=`echo -n "Start majestic"` + /etc/init.d/S95hisilicon start + fi + ;; +remove) + majex=`ps aux | grep majestic | grep -v grep` + if [[ ! -z "$majex" ]] + then + echo "Stop majestic" + dumpconfig=`echo -n "Stop majestic"` + /etc/init.d/S95hisilicon stop + sleep 1 + fi + + my_umount ${MDEV} + + if [[ ! -z "$majex" ]] + then + echo "Start majestic" + dumpconfig=`echo -n "Start majestic"` + /etc/init.d/S95hisilicon start + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/kernel/drivers/net/wireless/realtek/rtl8821cu/rtl8821cu.ko b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/kernel/drivers/net/wireless/realtek/rtl8821cu/rtl8821cu.ko new file mode 100644 index 0000000..46fcad5 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/kernel/drivers/net/wireless/realtek/rtl8821cu/rtl8821cu.ko differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/modules.dep b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/modules.dep new file mode 100644 index 0000000..f7c05f6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/lib/modules/4.9.37/modules.dep @@ -0,0 +1,76 @@ +kernel/fs/configfs/configfs.ko: +kernel/fs/fat/fat.ko: +kernel/fs/fat/vfat.ko: kernel/fs/fat/fat.ko +kernel/fs/f2fs/f2fs.ko: +kernel/crypto/seqiv.ko: +kernel/crypto/echainiv.ko: +kernel/crypto/hmac.ko: +kernel/crypto/gf128mul.ko: +kernel/crypto/ctr.ko: +kernel/crypto/gcm.ko: +kernel/crypto/ccm.ko: +kernel/crypto/crc32_generic.ko: +kernel/crypto/drbg.ko: +kernel/crypto/jitterentropy_rng.ko: +kernel/crypto/ghash-generic.ko: kernel/crypto/gf128mul.ko +kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/realtek/rtl8821cu/rtl8821cu.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/mii.ko: +kernel/drivers/net/tun.ko: +kernel/drivers/net/usb/cdc_ether.ko: kernel/drivers/net/usb/usbnet.ko kernel/drivers/net/mii.ko +kernel/drivers/net/usb/rndis_host.ko: kernel/drivers/net/usb/cdc_ether.ko kernel/drivers/net/usb/usbnet.ko kernel/drivers/net/mii.ko +kernel/drivers/net/usb/usbnet.ko: kernel/drivers/net/mii.ko +kernel/drivers/net/usb/qmi_wwan.ko: kernel/drivers/usb/class/cdc-wdm.ko kernel/drivers/net/usb/usbnet.ko kernel/drivers/net/mii.ko +kernel/drivers/usb/storage/usb-storage.ko: kernel/drivers/scsi/scsi_mod.ko +kernel/drivers/usb/gadget/function/usb_f_acm.ko: kernel/drivers/usb/gadget/libcomposite.ko kernel/fs/configfs/configfs.ko kernel/drivers/usb/gadget/function/u_serial.ko +kernel/drivers/usb/gadget/function/u_serial.ko: +kernel/drivers/usb/gadget/function/u_ether.ko: +kernel/drivers/usb/gadget/function/usb_f_ecm.ko: kernel/drivers/usb/gadget/function/u_ether.ko kernel/drivers/usb/gadget/libcomposite.ko kernel/fs/configfs/configfs.ko +kernel/drivers/usb/gadget/function/usb_f_rndis.ko: kernel/drivers/usb/gadget/function/u_ether.ko kernel/drivers/usb/gadget/libcomposite.ko kernel/fs/configfs/configfs.ko +kernel/drivers/usb/gadget/function/usb_f_mass_storage.ko: kernel/drivers/usb/gadget/libcomposite.ko kernel/fs/configfs/configfs.ko +kernel/drivers/usb/gadget/libcomposite.ko: kernel/fs/configfs/configfs.ko +kernel/drivers/usb/class/cdc-wdm.ko: +kernel/drivers/usb/serial/usbserial.ko: +kernel/drivers/usb/serial/option.ko: kernel/drivers/usb/serial/usb_wwan.ko kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/usb-serial-simple.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/usb_wwan.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/i2c/busses/i2c-tiny-usb.ko: +kernel/drivers/scsi/scsi_mod.ko: +kernel/drivers/scsi/scsi_transport_fc.ko: kernel/drivers/scsi/scsi_mod.ko +kernel/drivers/scsi/sd_mod.ko: kernel/drivers/scsi/scsi_mod.ko +kernel/net/bridge/br_netfilter.ko: +kernel/net/wireless/cfg80211.ko: +kernel/net/mac80211/mac80211.ko: kernel/net/wireless/cfg80211.ko +extra/open_mipi_rx.ko: extra/open_sys_config.ko extra/open_osal.ko +extra/wireguard.ko: +goke/gk7205v200_aenc.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_rgn.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_acodec.ko: goke/gk7205v200_aio.ko goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_ao.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_jpege.ko: goke/gk7205v200_venc.ko goke/gk7205v200_base.ko extra/open_osal.ko +extra/open_sensor_i2c.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_base.ko: extra/open_osal.ko +goke/gk7205v200_vpss.ko: goke/gk7205v200_base.ko extra/open_osal.ko +extra/open_pwm.ko: extra/open_osal.ko +goke/gk7205v200_ai.ko: goke/gk7205v200_base.ko extra/open_osal.ko +extra/open_sys_config.ko: +extra/open_piris.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_h265e.ko: goke/gk7205v200_venc.ko goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_vgs.ko: goke/gk7205v200_base.ko extra/open_osal.ko +extra/open_isp.ko: goke/gk7205v200_base.ko extra/open_osal.ko +extra/open_wdt.ko: extra/open_osal.ko +extra/open_sensor_spi.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_h264e.ko: goke/gk7205v200_venc.ko goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_sys.ko: goke/gk7205v200_base.ko extra/open_sys_config.ko extra/open_osal.ko +extra/open_adc.ko: extra/open_osal.ko +extra/open_osal.ko: +goke/gk7205v200_ive.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_vi.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_vedu.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_adec.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_venc.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_rc.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_aio.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/gk7205v200_chnl.ko: goke/gk7205v200_base.ko extra/open_osal.ko +goke/camhi-motor.ko: +extra/hisi-hwrng.ko: diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/af b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/af new file mode 100755 index 0000000..0198b10 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/af @@ -0,0 +1,25 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +CR_L=$(get_focus) +if [[ $CR_L -lt 300 ]] + then + curz +fi +baf + +CR_L=$(get_focus) + +if [[ $CR_L -lt 300 ]] + then + baf +fi + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/at b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/at new file mode 100755 index 0000000..41676af --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/at @@ -0,0 +1,8 @@ +#!/bin/sh + +AT="$1" +SLEEP=0.2 +TTY=/dev/ttyUSB3 +RESULT=$(cat $TTY & echo -ne "$AT\n" > $TTY; sleep $SLEEP; killall cat) +echo $RESULT + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/auto_f b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/auto_f new file mode 100755 index 0000000..60844a3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/auto_f @@ -0,0 +1,44 @@ +#!/bin/sh + +fa=$(getenv auto-focus); + +if [[ "$fa" == "1" ]] +then + if [[ "$(getenv focus-control)" == "1" ]] + then + sleep 35; + s_z_up && + s_z_down + fi +fi + +while true; do +ft=$(getenv focus-threshold); +fa=$(getenv auto-focus); +FF=$(gf); +st=$(getenv delay-tr); +#echo $FF; +if [[ "$fa" == "1" ]] +then + if [[ "$FF" -lt "$ft" ]] + then + cst=$(cat /tmp/st) + if [[ "$cst" == "$st" ]] + then + s_baf + sleep 3 + fp=$(gf) + if [[ "$fp" -lt "$(expr $ft / 2)" ]] + then + curz +# s_baf; + fi + echo "0" > /tmp/st + else + echo "$(expr $cst + 1)" > /tmp/st + fi + else + echo "0" > /tmp/st + fi +fi +done diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf new file mode 100755 index 0000000..0cdb0fa --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf @@ -0,0 +1,146 @@ +#!/bin/sh + +echo "$(date +%Y-%m-%d-%H-%M-%S-%3N) : BAF" >> /tmp/l_focus + +#get_focus() { +#iRES=$(sample_af 0 c & sleep 0.25; killall sample_af) +#RST=`echo ${RES} | awk '{print $2}'` +#if [[ ! -z "$RST" ]] +#then +#echo "1" +#else +#echo "$RST" +#fi +#} + +step_r() { +echo "step r" +#sleep $SLEEP; +cur_fs=$(gf) +echo $cur_fs; +st=`expr $cur_fs + 8` +fs_in 10; + +while [[ $st -gt $cur_fs ]]; do +# sleep $SLEEP; + cur_fs=$(gf) +#echo 'step r' +echo $cur_fs +fs_in 10; +# sleep $SLEEP; + st=$(gf) +echo $st; +done +fs_out 20; +} + +step_l() { +echo 'step l' +#sleep $SLEEP; +cur_fs=$(gf) +echo $cur_fs; +st=`expr $cur_fs + 8` +fs_out 10 +while [[ $st -gt $cur_fs ]]; do +# echo 'step l'; +# sleep $SLEEP; + cur_fs=$(gf) +# echo $cur_fs; + fs_out 10 +# sleep $SLEEP; + st=$(gf) +#echo $st; +done +fs_in 10 +} + +DD=120; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +fs_in 60; +#echo $CC_F +st=$(gf) +kf=$DD +ct=`expr $st + 8` +echo "ct: $ct st: $st kf:$kf"; +while [[ "$st" -lt "$ct" ]]; do +#i sleep 0.25 + st=$(gf) + fs_out 2; +# sleep 0.25 + ct=$(gf) + if [[ "$st" -eq "$ct" ]] + then + ct=`expr $ct + 8` + fi + if [[ "$ct" -lt 40 ]] + then + ct=`expr $ct + 230` + fi +# echo "$st $ct" +echo "ct: $ct st: $st kf:$kf"; +done + fs_in 1; +#fi + +#sleep $SLEEP; +#iCUR_F=$(get_focus) +#echo "cur $CUR_F"; +#fs_in 25; +#STP_R=$(get_focus) +#echo "R $STP_R"; +#fs_out 50; +#STP_L=$(get_focus) +#echo "L $STP_L"; +#fs_in 25; +#tek=$(get_focus) +#echo "tek $tek"; +#/////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if [[ $STP_R -gt $CUR_F ]] +#then +# echo "Go L" +# step_r +#else +# if [[ $STP_L -gt $CUR_F ]] +# then +# echo "Go R"; +# step_l +# else +# curz; +# fi +#fi + +#tek=$(get_focus) +#if [[ $tek -lt $CUR_F ]] +#then +#CUR_F=$(get_focus) +##echo "cur $CUR_F"; +#fs_in 70; +#STP_R=$(get_focus) +#echo "R $STP_R"; +#fs_out 140; +#STP_L=$(get_focus) +#echo "L $STP_L"; +#fs_in 70; +#tek=$(get_focus) +#echo "tek $tek"; +#/////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#if [[ $STP_R -gt $CUR_F ]] +#then +# echo "Go L" +# step_r +#else +# if [[ $STP_L -gt $CUR_F ]] +# then +# echo "Go R"; +# step_l +# else +# curz; +# fi +#fi +#fi diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf_1 b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf_1 new file mode 100755 index 0000000..d796731 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/baf_1 @@ -0,0 +1,34 @@ +#!/bin/sh + + killall sample_af + rm -f /tmp/saf_f + echo "0" > /tmp/maxf + sample_af 0 c >> /tmp/saf_f & +DD=100; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +#fs_out 180; +fs_in 140; +st=$(gf); +mx=`cat /tmp/maxf`; +kf=$DD +ct=`expr $st + 1` +echo "ct: $ct st: $st kf:$kf"; +while [[ "$st" -lt "$ct" ]]; do + st=$(gf) + s_fs_out 1; + zz=$(echo "scale=4; $st/2000" | bc); + sleep $zz; + ct=`expr $(gf) + 1`; + if [[ "$ct" -lt $DD ]] + then + ct=`expr $ct + 230` + fi +echo "ct: $ct st: $st kf:$kf zz:$zz"; +done +s_fs_in 13; +#fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafd b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafd new file mode 100755 index 0000000..b406285 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafd @@ -0,0 +1,34 @@ +#!/bin/sh + + killall sample_af + rm -f /tmp/saf_f + echo "0" > /tmp/maxf + sample_af 0 c >> /tmp/saf_f & +DD=100; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +#fs_out 180; +fs_out 140; +st=$(gf); +mx=`cat /tmp/maxf`; +kf=$DD +ct=`expr $st + 1` +echo "ct: $ct st: $st kf:$kf"; +while [[ "$st" -lt "$ct" ]]; do + st=$(gf) + s_fs_in 1; + zz=$(echo "scale=4; $st/2000" | bc); + sleep $zz; + ct=`expr $(gf) + 1`; + if [[ "$ct" -lt $DD ]] + then + ct=`expr $ct + 230` + fi +echo "ct: $ct st: $st kf:$kf zz:$zz"; +done +s_fs_out 21; +#fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafi b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafi new file mode 100755 index 0000000..bdfecb6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafi @@ -0,0 +1,13 @@ +#!/bin/sh + + killall sample_af + rm -f /tmp/saf_f + echo "0" > /tmp/maxf + sample_af 0 c >> /tmp/saf_f & +DD=100; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// +fs_in 140; +fs_out 140; +it=`cat /tmp/iter` +fs_in $it; + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafl b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafl new file mode 100755 index 0000000..84ab34a --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafl @@ -0,0 +1,32 @@ +#!/bin/sh + +#i killall sample_af +# rm -f /tmp/saf_f +# sample_af 0 c >> /tmp/saf_f & +DD=120; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +fs_out 120; +#echo $CC_F +st=$(gf) +kf=$DD +ct=`expr $st + 1` +echo "ct: $ct st: $st kf:$kf"; +while [[ "$st" -le "$ct" ]]; do + st=$(gf) + zz=$(echo "scale=4; $st/1000" | bc); + sleep $zz; + s_fs_in 1; + ct=$(gf) + if [[ "$ct" -lt $DD ]] + then + ct=`expr $ct + 230` + fi +echo "ct: $ct st: $st kf:$kf zz:$zz"; +done +s_fs_out 4; +#fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafn b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafn new file mode 100755 index 0000000..79634d3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafn @@ -0,0 +1,35 @@ +#!/bin/sh + + killall sample_af + rm -f /tmp/saf_f + echo "0" > /tmp/maxf + sample_af 0 c >> /tmp/saf_f & +DD=120; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +#fs_out 180; +fs_out 140; +#echo $CC_F +st=$(gf); +mx=`cat /tmp/maxf`; +kf=$DD +ct=`expr $st + 1` +echo "ct: $ct st: $st kf:$kf"; +while [[ "$st" -lt "$ct" ]]; do + st=$(gf) + s_fs_in 1; + zz=$(echo "scale=4; $st/2000" | bc); + sleep $zz; + ct=`expr $(gf) + 8`; + if [[ "$ct" -lt $DD ]] + then + ct=`expr $ct + 230` + fi +echo "ct: $ct st: $st kf:$kf zz:$zz"; +done +s_fs_out 21; +#fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafr b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafr new file mode 100755 index 0000000..5f8848d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bafr @@ -0,0 +1,37 @@ +#!/bin/sh + +#i killall sample_af +# rm -f /tmp/saf_f +# echo "0" > /tmp/maxf +# sample_af 0 c >> /tmp/saf_f & +DD=120; +#///////////////////////////////////////////////////////////////////////////////////////////////////////////// + +CC_F=$(gf) +#if [[ $CC_F -lt $DD ]] +#then +fs_in 180; +fs_out 320; +#echo $CC_F +st=$(gf); +mx=`cat /tmp/maxf`; +kf=$DD +ct=`expr $st + 1` +echo "ct: $ct st: $st kf:$kf"; + +while [[ "$st" -lt "$mx" ]]; do + s_fs_in 1; + st=$(gf) + zz=$(echo "scale=4; $st/2000" | bc); + sleep $zz; + st=$(gf) + ct=$(gf) +# if [[ "$ct" -lt $DD ]] +# then +# ct=`expr $ct + 230` +# fi +echo "ct: $mx st: $st kf:$kf zz:$zz"; +done +s_fs_out 4; +#fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bbaf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bbaf new file mode 100755 index 0000000..38dcbe6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/bbaf @@ -0,0 +1,80 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(get_focus) +st=`expr $cur_fs + 1` +camhi-motor -d r -s 85 +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(get_focus) + camhi-motor -d r -s 85 + sleep $SLEEP; + st=$(get_focus) +done +camhi-motor -d l -s 85 +} + +step_l() { +cur_fs=$(get_focus) +st=`expr $cur_fs + 1` +camhi-motor -d l -s 85 +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(get_focus) + camhi-motor -d l -s 85 + sleep $SLEEP; + st=$(get_focus) +done +camhi-motor -d r -s 85 +} + +CUR_F=$(get_focus) + +camhi-motor -d l -s 99 +STP_R=$(get_focus) + +camhi-motor -d r -s 99 +sleep $SLEEP +camhi-motor -d r -s 99 + +STP_L=$(get_focus) +camhi-motor -d l -s 99 + +if [[ $STP_R -gt $CUR_F ]] +then + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then + step_r + else + if [[ $CUR_F -lt 300 ]] + then + camhi-motor -d r -s 99 + camhi-motor -d r -s 99 + STP_R=$(get_focus) + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + STP_L=$(get_focus) + camhi-motor -d r -s 99 + camhi-motor -d r -s 99 + if [[ $STP_R -gt $STP_L ]] + then + camhi-motor -d r -s 99 + step_r + else + camhi-motor -d l -s 99 + step_l + fi + fi + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_af b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_af new file mode 100755 index 0000000..8bb554b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_af @@ -0,0 +1,32 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + + +CR_L=$(get_focus) +if [[ $CR_L -lt 300 ]] + then + c_bbaf +fi +c_baf +c_saf + + +CR_L=$(get_focus) + + + +if [[ $CR_L -lt 300 ]] + then +# echo "Zhopa" + c_bbaf + c_baf + c_saf +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf new file mode 100755 index 0000000..d114d14 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf @@ -0,0 +1,204 @@ +#!/bin/sh + +step_r() { +echo "r $1" +cur_fs=$(gf) +echo "r $1 $cur_fs" +camhi-motor -d r -s $1 && sleep 0.3 &&st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + sleep 0.2 && cur_fs=$(gf) + camhi-motor -d r -s $1 && sleep 0.3 && st=$(gf) + echo "r $1 $cur_fs" +done +if [[ ! $1 == 1 ]] + then + step_l $(expr $1 / 2) + else + echo "r $1 $cur_fs" + camhi-motor -d r -s 2 && sleep 0.3 && st=$(gf) +fi +} + +step_l() { +cur_fs=$(gf) +#echo "l $1 $cur_fs" +camhi-motor -d l -s $1 && sleep 0.3 && st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s $1 && sleep 0.3 && st=$(gf) + echo "l $1 $cur_fs" +done +if [[ ! $1 == 1 ]] + then + step_r $(expr $1 / 2) + else + camhi-motor -d r -s 2 && sleep 0.3 && st=$(gf) + echo "r $1 $cur_fs" +fi +} + +if [[ -z $1 ]] + then + ss=64 + else + ss=$1 +fi +if [[ "$(gf)" -lt "25" ]] + then + ss=99 +fi +while [[ $ss -gt 2 ]] +do +CUR_F=$(gf) +if [[ $ss == 99 ]] +then + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 + if [[ $STP_L -lt 20 ]] + then + if [[ $STP_R -lt 20 ]] + then + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 + if [[ $STP_L -lt 20 ]] + then + if [[ $STP_R -lt 20 ]] + then + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 + if [[ $STP_L -lt 20 ]] + then + if [[ $STP_R -lt 20 ]] + then + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 + if [[ $STP_L -lt 20 ]] + then + if [[ $STP_R -lt 20 ]] + then + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + camhi-motor -d r -s 64 && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 && + camhi-motor -d l -s 64 && sleep 0.4 + fi + fi + fi + fi + fi + fi + fi + fi +else + camhi-motor -d l -s $ss && sleep 0.4 && + STP_R=$(gf) + camhi-motor -d r -s $ss && sleep 0.4 && + camhi-motor -d r -s $ss && sleep 0.4 && + STP_L=$(gf) + camhi-motor -d l -s $ss && sleep 0.4 +fi +echo $CUR_F; +echo $STP_R; +echo $STP_L; + +if [[ $STP_R -gt $CUR_F ]] +then + echo "Go L" + camhi-motor -d s + step_l $ss +# ss=1 +else + if [[ $STP_L -gt $CUR_F ]] + then + echo "Go R"; + camhi-motor -d s + step_r $ss +# ss=1 + fi +fi +if [[ $ss == 99 ]] +then + ss=64 +else + ss=$(expr $ss / 2) +fi +camhi-motor -d s +done + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf_ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf_ new file mode 100755 index 0000000..a6aef59 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_baf_ @@ -0,0 +1,64 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(gf) +camhi-motor -d r -s 32 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d r -s 32 + st=$(gf) +done +camhi-motor -d l -s 32 +} + +step_l() { +cur_fs=$(gf) +camhi-motor -d l -s 32 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s 32 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d r -s 32 +} + +CUR_F=$(gf) + +camhi-motor -d l -s 64 +STP_R=$(gf) + +camhi-motor -d r -s 64 +sleep $SLEEP +camhi-motor -d r -s 64 + +STP_L=$(gf) +camhi-motor -d l -s 64 + +#echo $CUR_F; +#echo $STP_R; +#echo $STP_L; +if [[ $STP_R -gt $CUR_F ]] +then +# echo "Go L" + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then +# echo "Go R"; + step_r +# else +# echo "Current" + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_bbaf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_bbaf new file mode 100755 index 0000000..1f5a1ab --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_bbaf @@ -0,0 +1,86 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(get_focus) +st=`expr $cur_fs + 1` +camhi-motor -d r -s 85 +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(get_focus) + camhi-motor -d r -s 85 + sleep $SLEEP; + st=$(get_focus) +done +camhi-motor -d l -s 85 +} + +step_l() { +cur_fs=$(get_focus) +st=`expr $cur_fs + 1` +camhi-motor -d l -s 85 +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(get_focus) + camhi-motor -d l -s 85 + sleep $SLEEP; + st=$(get_focus) +done +camhi-motor -d r -s 85 +} + +CUR_F=$(get_focus) + +camhi-motor -d l -s 99 +STP_R=$(get_focus) + +camhi-motor -d r -s 99 +sleep $SLEEP +camhi-motor -d r -s 99 + +STP_L=$(get_focus) +camhi-motor -d l -s 99 + +#echo $CUR_F; +#echo $STP_R; +#echo $STP_L; +if [[ $STP_R -gt $CUR_F ]] +then +# echo "Go L" + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then +# echo "Go R"; + step_r + else + if [[ $CUR_F -lt 300 ]] + then + camhi-motor -d r -s 99 + camhi-motor -d r -s 99 + STP_R=$(get_focus) + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + camhi-motor -d l -s 99 + STP_L=$(get_focus) + camhi-motor -d r -s 99 + camhi-motor -d r -s 99 + if [[ $STP_R -gt $STP_L ]] + then + camhi-motor -d r -s 99 + step_r + else + camhi-motor -d l -s 99 + step_l + # echo "Current" + fi + fi + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_in b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_in new file mode 100755 index 0000000..2ae30cc --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_in @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d l -s $1 +#c_baf +#c_saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_out b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_out new file mode 100755 index 0000000..69e06a5 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_fs_out @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d r -s $1 +#c_baf +#c_saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf new file mode 100755 index 0000000..6005e1e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf @@ -0,0 +1,65 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(gf) +camhi-motor -d r -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d r -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d l -s 2 +} + +step_l() { +cur_fs=$(gf) +camhi-motor -d l -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d r -s 2 +} + +CUR_F=$(gf) + +camhi-motor -d l -s 16 +STP_R=$(gf) + +camhi-motor -d r -s 16 +sleep $SLEEP +camhi-motor -d r -s 16 + +STP_L=$(gf) +camhi-motor -d l -s 16 + +#echo $CUR_F; +#echo $STP_R; +#echo $STP_L; +if [[ $STP_R -gt $CUR_F ]] +then +# echo "Go L" + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then +# echo "Go R"; + step_r +# else +# echo "Current" + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf_ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf_ new file mode 100755 index 0000000..6005e1e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_saf_ @@ -0,0 +1,65 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(gf) +camhi-motor -d r -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d r -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d l -s 2 +} + +step_l() { +cur_fs=$(gf) +camhi-motor -d l -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d r -s 2 +} + +CUR_F=$(gf) + +camhi-motor -d l -s 16 +STP_R=$(gf) + +camhi-motor -d r -s 16 +sleep $SLEEP +camhi-motor -d r -s 16 + +STP_L=$(gf) +camhi-motor -d l -s 16 + +#echo $CUR_F; +#echo $STP_R; +#echo $STP_L; +if [[ $STP_R -gt $CUR_F ]] +then +# echo "Go L" + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then +# echo "Go R"; + step_r +# else +# echo "Current" + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_down new file mode 100755 index 0000000..76132c7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_down @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d d -s 25 +#baf +#saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_up new file mode 100755 index 0000000..c9a60dd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_z_up @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d u -s 25 +#baf +#saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_down new file mode 100755 index 0000000..d5222ef --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_down @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d d -s 25 +c_baf +c_saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_up new file mode 100755 index 0000000..adfa5cf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/c_zf_up @@ -0,0 +1,4 @@ +#!/bin/sh +camhi-motor -d u -s 25 +c_baf +c_saf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/camhi-motor b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/camhi-motor new file mode 100755 index 0000000..b84bb24 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/camhi-motor differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crAp b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crAp new file mode 100755 index 0000000..ad279f5 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crAp @@ -0,0 +1,7 @@ +#!/bin/sh +sleep 7; +wpa_supplicant -B -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf +touch /tmp/udhcpd.leases; +sleep 6; +ip addr add 192.168.2.1/24 dev wlan0 +udhcpd -f "/etc/udhcpd.conf" & diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCl b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCl new file mode 100755 index 0000000..09f8a44 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCl @@ -0,0 +1,9 @@ +#!/bin/sh +sleep 3 +wpa_passphrase $(getenv cmidf) $(getenv cmkeyf) >/tmp/wpa_supplican.conf +sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplican.conf +sleep 3 +wpa_supplicant -B -Dnl80211 -iwlan1 -c/tmp/wpa_supplican.conf +sleep 6 +udhcpc -i wlan1 & + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCli b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCli new file mode 100755 index 0000000..e368530 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/crCli @@ -0,0 +1,9 @@ +#!/bin/sh +sleep 3 +wpa_passphrase $(getenv cmid) $(getenv cmkey) >/tmp/wpa_supplicant.conf +sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf +sleep 3 +wpa_supplicant -B -Dnl80211 -iwlan0 -c/tmp/wpa_supplicant.conf +sleep 6 +udhcpc -i wlan0 & + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/curz b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/curz new file mode 100755 index 0000000..6cd4f18 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/curz @@ -0,0 +1,6 @@ +#!/bin/sh +z_up +sleep 0.05; +z_down + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_down new file mode 100755 index 0000000..b9b00c7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_down @@ -0,0 +1,3 @@ +#!/bin/sh +xm-uart-motors 0 x && sleep 0.2 && xm-uart-motors 0 s && xm-uart-motors 0 s +echo "$(date) : f_down" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_up new file mode 100755 index 0000000..d19646e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/f_up @@ -0,0 +1,3 @@ +#!/bin/sh +xm-uart-motors 0 z && sleep 0.1 && xm-uart-motors 0 s && xm-uart-motors 0 s +echo "$(date) : f_up" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_in b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_in new file mode 100755 index 0000000..12a1a8f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_in @@ -0,0 +1,10 @@ +#!/bin/sh + +it=$1 +i=0 +while [ $i -lt $it ] +do +f_down; +i=`expr $i + 1`; +done +echo "$(date) : fs_in $it" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_out b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_out new file mode 100755 index 0000000..ab4d589 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/fs_out @@ -0,0 +1,10 @@ +#!/bin/sh + +it=$1 +i=0 +while [ $i -lt $it ] +do +f_up; +i=`expr $i + 1`; +done +echo "$(date) : fs_out $it" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getenv b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getenv new file mode 100755 index 0000000..02d8e06 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getenv @@ -0,0 +1,2 @@ +#!/bin/sh +fw_printenv $1 -n diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getmnum b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getmnum new file mode 100755 index 0000000..f112476 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/getmnum @@ -0,0 +1,12 @@ +#!/bin/sh +tt="$(fw_printenv ethaddr -n | cut -c12- | tr -d :)"; +cssid=`cat /etc/wpa_supplicant.conf | grep ssid | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d " " -f 2` +nssid="ssid=\"ev300-$tt\""; +echo "$cssid"; +echo "$nssid"; +#if [[ "$cssid" != "$nssid" ]] +# then +# echo "new_ssid" +# sed -i '5d' /etc/wpa_supplicant.conf +# sed -i "5i \\$nssid" /etc/wpa_supplicant.conf +#fi diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gexp b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gexp new file mode 100755 index 0000000..e2b7adf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gexp @@ -0,0 +1,11 @@ +#!/bin/sh + +get_exp() { +exp=1 +exp=$(curl -s http://localhost/metrics | grep ^isp_exptime | cut -d' ' -f2) +bri=`expr $exp / 1000` +echo $bri +}; + +BRI=$(get_exp); +echo "$BRI"; diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gf new file mode 100755 index 0000000..fda8f4f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gf @@ -0,0 +1,11 @@ +#!/bin/sh + +while [[ -z $r ]] +do +r=$(cat /tmp/zx); +done +echo $r + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ggf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ggf new file mode 100755 index 0000000..d92bea2 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ggf @@ -0,0 +1,10 @@ +#!/bin/sh + +while [[ -z "$rr" ]] +do + rr=$(echo $(sample_af 0 c & sleep 0.18 && killall sample_af) | awk '{print $2}'); +done +echo $rr; + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmf new file mode 100755 index 0000000..764e276 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmf @@ -0,0 +1,2 @@ +#!/bin/sh +cat /tmp/maxf diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmnum b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmnum new file mode 100755 index 0000000..792f3bc --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/gmnum @@ -0,0 +1,13 @@ +#!/bin/sh +tt="$(fw_printenv ethaddr -n | cut -c12- | tr -d :)"; +cssid=`cat /etc/wpa_supplicant.conf | grep ssid | sed '/^#/d' | sed 's/ \{1,\}/ /g' | cut -d " " -f 2` +nssid="ssid=\"ev300-$tt\""; +#echo "$cssid"; +#echo "$nssid"; +echo $tt; +#if [[ "$cssid" != "$nssid" ]] +# then +# echo "new_ssid" +# sed -i '5d' /etc/wpa_supplicant.conf +# sed -i "5i \\$nssid" /etc/wpa_supplicant.conf +#fi diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i2c-init b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i2c-init new file mode 100755 index 0000000..9b3a1df --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i2c-init @@ -0,0 +1,7 @@ +#!/bin/sh + +devmem 0x112C0058 32 0x1032 +devmem 0x112C005C 32 0x1032 +devmem 0x100C000C 32 0x1 +devmem 0x120101BC 32 0x801282 +i2c-motor -d i \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_baf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_baf new file mode 100755 index 0000000..90d345c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_baf @@ -0,0 +1,17 @@ +#!/bin/sh + +i2c-motor -d r -s 99 && sleep 0.4 && i2c-motor -d s && sleep 0.1 && + +i2c-motor -d l -s 2 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && cur_fs=`expr $(gf)` +i2c-motor -d l -s 1 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && cur_fs=`expr $(gf)` +i2c-motor -d l -s 4 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && st=`expr $(gf) + 5` +while [[ $st -gt $cur_fs ]]; do + sleep 0.17 && cur_fs=$(gf) + i2c-motor -d l -s 2 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && st=`expr $(gf) + 5` + echo "r $st" +done +i2c-motor -d r -s 2 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && st=`expr $(gf) + 2` +i2c-motor -d r -s 1 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && st=`expr $(gf) + 2` +i2c-motor -d r -s 1 && sleep 0.17 && i2c-motor -d s && sleep 0.17 && st=`expr $(gf) + 2` +echo "r $st" + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_in b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_in new file mode 100755 index 0000000..d291577 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_in @@ -0,0 +1,3 @@ +#!/bin/sh +i2c-motor -d l -s $1 && sleep 0.3 && i2c-motor -d s + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_out b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_out new file mode 100755 index 0000000..303c65d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_fs_out @@ -0,0 +1,3 @@ +#!/bin/sh +i2c-motor -d r -s $1 && sleep 0.3 && i2c-motor -d s + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_down new file mode 100755 index 0000000..8844343 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_down @@ -0,0 +1,3 @@ +#!/bin/sh +i2c-motor -d d -s 5 && sleep 0.3 && i2c-motor -d s + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_up new file mode 100755 index 0000000..a69836f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/i_z_up @@ -0,0 +1,3 @@ +#!/bin/sh +i2c-motor -d u -s 5 && sleep 0.3 && i2c-motor -d s + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/light b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/light new file mode 100755 index 0000000..8b9a796 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/light @@ -0,0 +1,62 @@ +#!/bin/sh + +light_enable() { +echo "1" > /tmp/lt +if [[ "$ir_inv" == "0" ]] + then + ircut_demo gk7205v300 0 + else + ircut_demo gk7205v300 1 +fi +if [[ "$lt_t" == "1" ]] +then + qw 0 AT+BLH+75 +else + if [[ "$lt_p" -gt "0" ]] + then + devmem 0x100C0080 32 0x530 + echo "$lt_p" >/sys/class/gpio/unexport + echo "$lt_p" >/sys/class/gpio/export + echo "out" >/sys/class/gpio/gpio$lt_p/direction + echo "1" >/sys/class/gpio/gpio$lt_p/value + fi +fi + +} + +light_disable() { +echo "0" > /tmp/lt + +if [[ "$ir_inv" == "0" ]] + then + ircut_demo gk7205v300 1 + else + ircut_demo gk7205v300 0 +fi + +if [[ "$lt_t" == "1" ]] +then + qw 0 AT+BLH+0 +else + if [[ "$lt_p" -gt "0" ]] + then + devmem 0x100C0080 32 0x530 + echo "$lt_p" >/sys/class/gpio/unexport + echo "$lt_p" >/sys/class/gpio/export + echo "out" >/sys/class/gpio/gpio$lt_p/direction + echo "0" >/sys/class/gpio/gpio$lt_p/value + fi +fi + +} + +ir_inv=$(getenv ircut-inv); +lt_t=$(getenv light-control); +lt_p=$(getenv light-port); +echo "0" > /tmp/lst +if [ $1 -eq 1 ]; then + light_enable + elif [ $1 -eq 0 ]; then + light_disable +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ltf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ltf new file mode 100755 index 0000000..e86f3c9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/ltf @@ -0,0 +1,7 @@ +#!/bin/sh +devmem 0x100C0080 32 0x530 +echo 0 > /tmp/lt +echo 4 > /sys/class/gpio/export +echo out > /sys/class/gpio/gpio4/direction +echo 0 > /sys/class/gpio/gpio4/value + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/lto b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/lto new file mode 100755 index 0000000..359a827 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/lto @@ -0,0 +1,7 @@ +#!/bin/sh +devmem 0x100C0080 32 0x530 +echo 1 > /tmp/lt +echo 4 > /sys/class/gpio/export +echo out > /sys/class/gpio/gpio4/direction +echo 1 > /sys/class/gpio/gpio4/value + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/mbaf_ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/mbaf_ new file mode 100755 index 0000000..14ac52d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/mbaf_ @@ -0,0 +1,76 @@ +#!/bin/sh + +step_r() { +echo "r $1" +cur_fs=$(gf) +echo "r $1 $cur_fs" +camhi-motor -d r -s $1 && st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + sleep 0.2 && cur_fs=$(gf) + camhi-motor -d r -s $1 && st=$(gf) + echo "r $1 $cur_fs" +done +if [[ ! $1 == 1 ]] + then + step_l $(expr $1 / 2) + else + echo "r $1 $cur_fs" + camhi-motor -d r -s 2 && st=$(gf) +fi +} + +step_l() { +cur_fs=$(gf) +#echo "l $1 $cur_fs" +camhi-motor -d l -s $1 && st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s $1 && st=$(gf) + echo "l $1 $cur_fs" +done +if [[ ! $1 == 1 ]] + then + step_r $(expr $1 / 2) + else + camhi-motor -d r -s 2 && st=$(gf) + echo "r $1 $cur_fs" +fi +} + +if [[ -z $1 ]] + then + ss=64 + else + ss=$1 +fi + +while [[ $ss -gt 2 ]] +do +CUR_F=$(gf) +camhi-motor -d l -s $ss && sleep 0.1 && +STP_R=$(gf) +camhi-motor -d r -s $ss && sleep 0.1 && +camhi-motor -d r -s $ss && sleep 0.1 && +STP_L=$(gf) +camhi-motor -d l -s $ss && sleep 0.1 && + +echo $CUR_F; +echo $STP_R; +echo $STP_L; + +if [[ $STP_R -gt $CUR_F ]] +then + echo "Go L" + step_l $ss +# ss=1 +else + if [[ $STP_L -gt $CUR_F ]] + then + echo "Go R"; + step_r $ss +# ss=1 + fi +fi +ss=$(expr $ss / 2) +done + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/morg b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/morg new file mode 100755 index 0000000..a186900 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/morg @@ -0,0 +1,11 @@ +#!/bin/sh +while (true) +do + +sleep 1.7 && qw 0 "AT+ALL>1" && sleep 0.1 && qw 0 "AT+ALL>0" +sleep 1.7 && qw 0 "AT+ALL>2" && sleep 0.1 && qw 0 "AT+ALL>0" +sleep 1.7 && qw 0 "AT+ALL>3" && sleep 0.1 && qw 0 "AT+ALL>0" +sleep 1.7 && qw 0 "AT+ALL>4" && sleep 0.1 && qw 0 "AT+ALL>0" +sleep 1.7 && qw 0 "AT+ALL>0" && sleep 0.1 && qw 0 "AT+ALL>0" && qw 0 "AT+ALL>0"; +done + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pren b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pren new file mode 100755 index 0000000..6ad562f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pren @@ -0,0 +1,9 @@ +#!/bin/sh +f="{$1}" +maj=`ps aux | grep $f | grep -v grep` +if [[ ! -z "$maj" ]] + then + echo "1"; + else + echo "0" +fi diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pw b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pw new file mode 100755 index 0000000..b8c9964 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pw @@ -0,0 +1,22 @@ +#!/bin/sh + +AT="AT+BTV" +SLEEP=0; +TTY=/dev/ttyUSB0 +RESULT=""; +while [[ -z "$RESULT" ]] +do +RESULT=$(cat $TTY & echo -ne "$AT\n" > $TTY; sleep $SLEEP; killall cat) +if [[ "$RESULT" == *"ommand"* ]]; then +RESULT=""; +sleep 1; +fi +if [[ -z "$RESULT" ]]; then +sleep 0.1; +fi +done +r=${RESULT:4} +#echo $r; +r=${r::-2} +echo $r; + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwa b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwa new file mode 100755 index 0000000..bf1e9d7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwa @@ -0,0 +1,21 @@ +#!/bin/sh + +AT="AT+BTR>0x0A" +SLEEP=0; +TTY=/dev/ttyUSB0 +RESULT=""; +while [[ -z "$RESULT" ]] +do +RESULT=$(cat $TTY & echo -ne "$AT\n" > $TTY; sleep $SLEEP; killall cat) +if [[ "$RESULT" == *"ommand"* ]]; then +RESULT=""; +sleep 1; +fi +if [[ -z "$RESULT" ]]; then +sleep 0.1; +fi +done +r=${RESULT:4} +r=${r::-2} +echo $r; + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwr b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwr new file mode 100755 index 0000000..613fb96 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/pwr @@ -0,0 +1,6 @@ +#!/bin/sh +devmem 0x100C0080 32 0x530 +echo $1 > /sys/class/gpio/export +echo out > /sys/class/gpio/gpio$1/direction +echo $2 > /sys/class/gpio/gpio$1/value + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/qw b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/qw new file mode 100755 index 0000000..4d9cce3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/qw @@ -0,0 +1,10 @@ +#!/bin/sh + +AT="$2" +TTY=/dev/ttyUSB$1 +echo -ne "$AT\n" > $TTY; +echo -ne "$AT\n" > $TTY; +echo -ne "$AT\n" > $TTY; +echo -ne "$AT\n" > $TTY; + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/rcfg b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/rcfg new file mode 100755 index 0000000..a4b6651 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/rcfg differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reboot_all b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reboot_all new file mode 100755 index 0000000..956661e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reboot_all @@ -0,0 +1,5 @@ +#!/bin/sh +qw 0 AT+MDM+off +sleep 1; +qw 0 AT+MDM+on +reboot; diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reconn_qmi b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reconn_qmi new file mode 100755 index 0000000..db80e4e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/reconn_qmi @@ -0,0 +1,10 @@ +#!/bin/sh +ip link set wwan0 down +uqmi -s -d /dev/cdc-wdm0 --stop-network --autoconnect +sleep 1; +uqmi -s -d /dev/cdc-wdm0 --start-network internet --autoconnect & +echo 'Y' | tee /sys/class/net/wwan0/qmi/raw_ip +ip link set wwan0 up +echo "get ip" +udhcpc -i wwan0 + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_baf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_baf new file mode 100755 index 0000000..5835c9b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_baf @@ -0,0 +1,40 @@ +#!/bin/sh +cc=$(getenv focus-control); + +case "$cc" in +0) + if [[ "$(pren c_baf)" == "0" ]] + then + echo "1" > /tmp/ff + c_baf && + c_saf && + echo "0" > /tmp/ff + fi + ;; +1) + if [[ "$(getenv focus-in)" == "1" ]] + then + if [[ "$(pren baf)" == "0" ]] + then + echo "1" > /tmp/ff + baf && + echo "0" > /tmp/ff + fi + else + if [[ "$(pren bafn)" == "0" ]] + then + echo "1" > /tmp/ff + bafn && + echo "0" > /tmp/ff + fi + fi + ;; +2) + if [[ "$(pren i_baf)" == "0" ]] + then + echo "1" > /tmp/ff + i_baf && + echo "0" > /tmp/ff + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_in b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_in new file mode 100755 index 0000000..f47c643 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_in @@ -0,0 +1,23 @@ +#!/bin/sh +cc=$(getenv focus-control); + +case "$cc" in +0) + if [[ "$(pren c_fs_in)" == "0" ]] + then + c_fs_in $1 + fi + ;; +1) + if [[ "$(pren fs_in)" == "0" ]] + then + fs_in $1 + fi + ;; +2) + if [[ "$(pren i_fs_in)" == "0" ]] + then + i_fs_in $1 + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_out b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_out new file mode 100755 index 0000000..2b1a0f0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_fs_out @@ -0,0 +1,23 @@ +#!/bin/sh + +cc=$(getenv focus-control); +case "$cc" in +0) + if [[ "$(pren c_fs_out)" == "0" ]] + then + c_fs_out $1 + fi + ;; +1) + if [[ "$(pren fs_out)" == "0" ]] + then + fs_out $1 + fi + ;; +2) + if [[ "$(pren i_fs_out)" == "0" ]] + then + i_fs_out $1 + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_down new file mode 100755 index 0000000..523dcb1 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_down @@ -0,0 +1,23 @@ +#!/bin/sh + +cc=$(getenv focus-control); +case "$cc" in +0) + if [[ "$(pren c_z_down)" == "0" ]] + then + c_z_down $1 + fi + ;; +1) + if [[ "$(pren z_down)" == "0" ]] + then + z_down $1 + fi + ;; +2) + if [[ "$(pren i_z_down)" == "0" ]] + then + i_z_down $1 + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_up new file mode 100755 index 0000000..f7ee383 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/s_z_up @@ -0,0 +1,23 @@ +#!/bin/sh + +cc=$(getenv focus-control); +case "$cc" in +0) + if [[ "$(pren c_z_up)" == "0" ]] + then + c_z_up $1 + fi + ;; +1) + if [[ "$(pren z_up)" == "0" ]] + then + z_up $1 + fi + ;; +2) + if [[ "$(pren i_z_up)" == "0" ]] + then + i_z_up $1 + fi + ;; +esac diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/saf b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/saf new file mode 100755 index 0000000..aa6ddbd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/saf @@ -0,0 +1,58 @@ +#!/bin/sh + +SLEEP=0.150 + +get_focus() { +RES=$(sample_af 0 c & sleep $SLEEP && killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +step_r() { +cur_fs=$(gf) +camhi-motor -d r -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d r -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d l -s 2 +} + +step_l() { +cur_fs=$(gf) +camhi-motor -d l -s 2 +st=`expr $cur_fs + 1` +while [[ $st -gt $cur_fs ]]; do + cur_fs=$(gf) + camhi-motor -d l -s 2 +# sleep $SLEEP; + st=$(gf) +done +camhi-motor -d r -s 2 +} + +CUR_F=$(gf) + +camhi-motor -d l -s 10 +STP_R=$(gf) + +camhi-motor -d r -s 10 +sleep $SLEEP +camhi-motor -d r -s 10 + +STP_L=$(gf) +camhi-motor -d l -s 10 + +if [[ $STP_R -gt $CUR_F ]] +then + step_l +else + if [[ $STP_L -gt $CUR_F ]] + then + step_r + fi +fi + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/sample_af b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/sample_af new file mode 100755 index 0000000..e327ddf Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/sample_af differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/uqmi b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/uqmi new file mode 100755 index 0000000..5207bde Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/uqmi differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/warmlight b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/warmlight new file mode 100755 index 0000000..2f2546f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/warmlight @@ -0,0 +1,87 @@ +#!/bin/sh + +SLEEP=0.5 +#sleep 25; +#z_up +#z_up +#z_up +#z_up + +ir_inv=$(getenv ircut-inv); + +get_exp() { +exp=1 +exp=$(curl -s http://localhost/metrics | grep ^isp_exptime | cut -d' ' -f2) +bri=`expr $exp / 1000` +echo $bri +} + +get_focus() { +#killall sample_af +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $1}'` +echo $RST +} + +get_focus1() { +#killall sample_af +RES=$(sample_af 0 c & sleep $SLEEP; killall sample_af) +RST=`echo ${RES} | awk '{print $2}'` +echo $RST +} + + +lt_tr_on=$(getenv light-tr-on); +lt_tr_off=$(getenv light-tr-off); +lt_au=$(getenv auto-light); +lt_on=$(getenv always-on); +lt_ltr=$(getenv delay-lt); + +while true; do +clt=$(cat /tmp/lt); +bri=$(get_exp); +echo $bri > /tmp/lexp; +if [[ "$lt_on" == "1" ]] +then + light 1; +else + if [[ "$lt_au" == "1" ]] + then + if [ $bri -gt $lt_tr_on ] + then + if [[ "$clt" == "0" ]] + then + echo "0" > /tmp/lst + if [[ "$clt" == "0" ]] + then + light 1 + fi + fi + fi + if [ $bri -lt $lt_tr_off ] + then + if [[ "$clt" == "1" ]] + then + cst=$(cat /tmp/lst) + if [[ "$cst" == "$lt_ltr" ]] + then + light 0 + echo "0" > /tmp/lst + else + echo "$(expr $cst + 1)" > /tmp/lst + fi + fi + fi + fi +fi + +#------------------------------------------------------------------------------ + +#egat=`sed -n '58p' /etc/network/interfaces | sed -r 's/........//'` +#iif [[ "$egat" != "xxx.xxx.xxx.xxx" ]] +# then +# echo "BINGO $egat" +# ping -c 1 $egat +#fi +done + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-kmotor b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-kmotor new file mode 100755 index 0000000..5e5a0b4 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-kmotor differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-light-fan b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-light-fan new file mode 100755 index 0000000..3790331 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-light-fan differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart new file mode 100755 index 0000000..d88c7d3 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart-motors b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart-motors new file mode 100755 index 0000000..3206f3e Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/xm-uart-motors differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_down b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_down new file mode 100755 index 0000000..64f3888 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_down @@ -0,0 +1,11 @@ +#!/bin/sh +xm-uart-motors 0 - +sleep 0.50; +xm-uart-motors 0 s +sleep 0.05; +#/sdcard/xm-uart-motors 0 + +#sleep 0.03; +#/sdcard/xm-uart-motors 0 s +xm-uart-motors 0 s +xm-uart-motors 0 s +echo "$(date) : z_down" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_up b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_up new file mode 100755 index 0000000..a01206b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/z_up @@ -0,0 +1,8 @@ +#!/bin/sh +xm-uart-motors 0 + +sleep 0.20; +xm-uart-motors 0 s +xm-uart-motors 0 s +sleep 0.05; +xm-uart-motors 0 s +echo "$(date) : z_up" >> /tmp/l_focus diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/zx b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/zx new file mode 100755 index 0000000..337f22b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/usr/bin/zx @@ -0,0 +1,11 @@ +#!/bin/sh + +while [[ -z $cur_fs ]] +do + RST=`echo $(sample_af 0 c & sleep 0.18 && killall sample_af) | awk '{print $2}'` + if [[ ! -z "$RST" ]] + then + echo $RST > /tmp/zx + sleep 0.1; + fi +done diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/.version b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/.version new file mode 100644 index 0000000..774bf5e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/.version @@ -0,0 +1 @@ +dev+f9f06b6, 2022-02-23 diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/401.html b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/401.html new file mode 100644 index 0000000..3b316a3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/401.html @@ -0,0 +1,37 @@ + + + + + + Authentication required - OpenIPC + + + + + + + + +
+
+

Authentication required

+
+

Exhausting, huh?

+

Have you tried to use username "admin" and password "12345"?

+

You can find more useful information in our wiki.

+
+
+
+ + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/403.html b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/403.html new file mode 100644 index 0000000..7e494cc --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/403.html @@ -0,0 +1,37 @@ + + + + + + Access denied - OpenIPC + + + + + + + + +
+
+

403 Forbidden

+
+

Exhausting, huh?

+

Have you tried to use username "admin" and password "12345"?

+

You can find more useful information in our wiki.

+
+
+
+ + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/404.html b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/404.html new file mode 100644 index 0000000..6975293 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/404.html @@ -0,0 +1,37 @@ + + + + + + Resource not found - OpenIPC + + + + + + + + +
+
+

Requested resource not found

+
+

Got lost?

+

Have you tried to start from the very beginning?

+

Also, you can find more useful information in our wiki.

+
+
+
+ + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_common.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_common.cgi new file mode 100755 index 0000000..19fb363 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_common.cgi @@ -0,0 +1,177 @@ +#!/usr/bin/haserl +<% +print2c() { + # printf "%-24s|%16s|\n" "${1}" "${2}" + echo -en "$1$2\n" +} +beats() { + echo -n "@$(echo "$(date -u -d "1970-01-01 $(TZ=UTC-1 date +%T)" +%s) * 10 / 864" | bc)" +} +check_password() { + uri1=/cgi-bin/webui-settings.cgi + uri2=/cgi-bin/webui-settings-update.cgi + [ -z "$REQUEST_URI" ] && return + [ "$REQUEST_URI" = "$uri1" ] && return + [ "$REQUEST_URI" = "$uri2" ] && return + + password=$(awk -F ':' '/cgi-bin/ {print $3}' /etc/httpd.conf) + if [ "12345" = "$password" ]; then + flash_save "danger" "$tMsgSetYourOwnPassword" + redirect_to "$uri1" + fi +} +debug_message() { + # [ "$HTTP_MODE" = "development" ] && + echo "$(date +"%F %T") $1" >> /tmp/webui.log +} +flash_delete() { + :> /tmp/webui-flash.txt +} +flash_read() { + [ ! -f /tmp/webui-flash.txt ] && return + flash=$(cat /tmp/webui-flash.txt) + [ -z "$flash" ] && return + type=$(echo $flash | cut -d ":" -f 1) + message=$(echo $flash | cut -d ":" -f 2) + echo "
${message}
" + flash_delete +} +flash_save() { + xheader="X-ErrorMessage: $2" + echo "$1:$2" > /tmp/webui-flash.txt +} +flash_append() { + echo "$1:$2" >> /tmp/webui-flash.txt +} +get_firmware_info() { + fw_version=$(cat /etc/os-release | grep "OPENIPC_VERSION" | cut -d= -f2 | tr -d /\"/) + fw_variant=$(cat /etc/os-release | grep "BUILD_OPTION" | cut -d= -f2 | tr -d /\"/) + [ -z "$fw_variant" ] && fw_variant="lite" + fw_build=$(cat /etc/os-release | grep "GITHUB_VERSION" | cut -d= -f2 | tr -d /\"/) +} +get_hardware_info() { + flash_size=$(awk '{sum+=sprintf("0x%s", $2);} END{print sum/1048576;}' /proc/mtd) + sensor=$(ipcinfo --long_sensor) + soc=$(ipcinfo --chip_id) + if [ -z "$(ipcinfo | grep -- --family)" ] + then + case "$soc" in + gk7605v100 | gk7205v300 | gk7202v300 | gk7205v200) + soc_family="gk7205v200" + ;; + hi3516dv100 | hi3516av100) + soc_family="hi3516av100" + ;; + hi3516av200 | hi3519v101) + soc_family="hi3519v101" + ;; + hi3518ev100 | hi3516cv100) + soc_family="hi3516cv100" + ;; + hi3518cv200 | hi3518ev200 | hi3518ev201 | hi3516cv200) + soc_family="hi3516cv200" + ;; + hi3516ev100 | hi3516cv300) + soc_family="hi3516cv300" + ;; + hi3516dv300 | hi3516av300 | hi3516cv500) + soc_family="hi3516cv500" + ;; + hi3516ev200 | hi3518ev300 | hi3516dv200 | hi3516ev300) + soc_family="hi3516ev300" + ;; + nt98562 | nt98566) + soc_family="nt9856x" + ;; + ssc337 | ssc335) + soc_family="ssc335" + ;; + xm530 | xm550) + soc_family="xm550" + ;; + *) + soc_family="$soc" + ;; + esac + else + soc_family=$(ipcinfo --family) + fi + soc_temp=$(ipcinfo --temp) +} +get_http_time() { + http_time=$(TZ=GMT date +"%a, %d %b %Y %T %Z") +} +get_software_info() { + mj_bin_file="/usr/bin/majestic" + mj_version=$(${mj_bin_file} -v) + ui_version=$(cat /var/www/.version) +} +get_system_info() { + hostname=$(hostname -s) + interfaces=$(/sbin/ifconfig | grep '^\w' | awk {'print $1'}) + ipaddr=$(printenv | grep HTTP_HOST | cut -d= -f2 | cut -d: -f1) + macaddr=$(ifconfig -a | grep HWaddr | sed s/.*HWaddr// | uniq) + tz_data=$(cat /etc/TZ) + [ -z "$tz_data" ] && tz_data="GMT0" + [ ! -f /etc/tzname ] && $(grep "$tz_data" /var/www/js/tz.js | head -1 | cut -d ":" -f 2 | cut -d "," -f 1 | tr -d "'" > /etc/tzname) + tz_name=$(cat /etc/tzname) + wan_mac=$(cat /sys/class/net/$(ip r | awk '/default/ {print $5}')/address) +} +header_ok() { + get_http_time + echo "HTTP/1.1 200 OK +Content-type: application/json; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache +Date: $http_time +Server: httpd + +{}" +} +html_title() { + [ ! -z "$1" ] && echo -n "$1 - " + echo -n "OpenIPC" +} +redirect_to() { + get_http_time + echo "HTTP/1.1 302 Moved Temporarily +Content-type: text/html; charset=UTF-8 +Cache-Control: no-store +Pragma: no-cache +Date: $http_time +Location: $1 +Server: httpd +Status: 302 Moved Temporarily +$xheader + +" +} +report_error() { + echo "

$tMsgSomethingHappened

$1
" +} +report_info() { + echo "
$1
" +} +report_log() { + echo -e "
$1
" +} +report_warning() { + echo "
$1
" +} +report_command_error() { + echo "

$tMsgSomethingHappened

# $1
$2
" +} +report_command_info() { + echo "
# $1
$2
" +} +report_command_success() { + echo "

$tMsgCommandExecuted

# $1
$2
" +} + +source $PWD/locale/ru.sh +locale=$(cat /etc/web_locale) +[ -z "$locale" ] && locale="en" +[ "$locale" != "en" -a -f "$PWD/locale/$locale.sh" ] && source $PWD/locale/${locale}.sh + +check_password +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_debug.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_debug.cgi new file mode 100755 index 0000000..baebe36 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_debug.cgi @@ -0,0 +1,14 @@ +Content-Type: text/plain; charset=UTF-8 +Pragma: no-cache +Connection: close + +------- REQUEST_* : +<% echo "$(printenv|grep REQUEST_|sort 2>&1)" %> +------- FORM_* : +<% echo "$(printenv|grep FORM_|sort 2>&1)" %> +------- GET_* : +<% echo "$(printenv|grep GET_|sort 2>&1)" %> +------- POST_* : +<% echo "$(printenv|grep POST_|sort 2>&1)" %> + +--------------------------------------------- diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_footer.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_footer.cgi new file mode 100755 index 0000000..a523982 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_footer.cgi @@ -0,0 +1,14 @@ + + +
+
+
+

<%= $(uname -a) %>

+

<%= $tPageGeneratedOn %> <%= $(date) %> (<% beats %>)

+
+

<%= $tPoweredBy %> Microbe Web UI, + <%= $tPartOf %> OpenIPC project.

+
+
+ + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_header.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_header.cgi new file mode 100755 index 0000000..8982ac4 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_header.cgi @@ -0,0 +1,104 @@ +<% http_header_html %> +<% reus=$(printenv REMOTE_USER) %> + + + +<% if [ $reus = "oper" ]; then %><% fi %> + + +<% html_title "$page_title" %> + + + +<% if [ $HTTP_MODE = "development" ]; then %><% fi %> + + + + + + + +
+
diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_joystick.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_joystick.cgi new file mode 100755 index 0000000..36d0b43 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_joystick.cgi @@ -0,0 +1,61 @@ +#!/usr/bin/haserl +<% +get_system_info + +button() { + id=$(echo "${2// /-}" | tr '[:upper:]' '[:lower:]' | tr -cd '[:alnum:]-' ) + echo "\"${2}\"" +} +%> +
<%= $tMsgPtzNotWorking %>
+
+
+<% button "arrow-ul.svg" "Pan up left" %> +<% button "arrow-uc.svg" "Pan up" %> +<% button "arrow-ur.svg" "Pan up right" %> +<% button "arrow-cl.svg" "Pan left" %> +<% button "arrow-cr.svg" "Pan right" %> +<% button "arrow-dl.svg" "Pan down left" %> +<% button "arrow-dc.svg" "Pan down" %> +<% button "arrow-dr.svg" "Pan down right" %> +<% button "speed-slow.svg" "Speed" %> +<% button "zoom-close.svg" "Zoom in" %> +<% button "zoom-far.svg" "Zoom out" %> +<% button "focus-plus.svg" "Focus: plus" %> +<% button "focus-auto.svg" "Focus: auto" %> +<% button "focus-minus.svg" "Focus: minus" %> +<% [ "true" = "$(yaml-cli -g .nightMode.enabled)" ] && button "light-off.svg" "Night mode" %> +<% [ -f /etc/telegram.cfg ] && [ $(cat /etc/telegram.cfg | wc -l) -ge 2 ] && button "telegram.svg" "Send to Telegram" %> +
+ +
+<% button "image-rotate-cw.svg" "Image rotate 90° CW" %> +<% button "image-rotate-ccw.svg" "Image rotate 90° CCW" %> +<% button "image-flip.svg" "Image: flip" %> +<% button "image-mirror.svg" "Image: mirror" %> +
+
+
+
+
+
+
+
+
+<% button "preset-home.svg" "Preset: Home" %> +<% button "preset-save.svg" "Preset: Save" %> +<% button "preset-1.svg" "Preset 1" %> +<% button "preset-2.svg" "Preset 2" %> +<% button "preset-3.svg" "Preset 3" %> +<% button "preset-4.svg" "Preset 4" %> +<% button "preset-5.svg" "Preset 5" %> +<% button "preset-6.svg" "Preset 6" %> +<% button "preset-7.svg" "Preset 7" %> +<% button "preset-8.svg" "Preset 8" %> +<% button "preset-9.svg" "Preset 9" %> +
+
+ + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mheader.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mheader.cgi new file mode 100755 index 0000000..ea80857 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mheader.cgi @@ -0,0 +1,357 @@ +#!/usr/bin/haserl +<% http_header_html %> +<% ipaddr=$(printenv | grep HTTP_HOST | cut -d= -f2 | cut -d: -f1) %> +<% reus=$(printenv REMOTE_USER) %> + + + +<% if [ $reus = "oper" ]; then %><% fi %> + + + +<% html_title "$page_title" %> + + + +<% if [ $HTTP_MODE = "development" ]; then %><% fi %> + + + + + + + + +<% +button() { + id=$(echo "${2// /_}" | tr '[:upper:]' '[:lower:]') + echo "" +} +tbutton() { + id=$(echo "${2// /_}" | tr '[:upper:]' '[:lower:]') + echo "" +} + + +ttbuttonn() { + id=$(echo "${2// /_}" | tr '[:upper:]' '[:lower:]') + echo "" +} + + + +%> + + + + + + + + + +
+
+   +
+
+
+   +
+
+
+   +
+
+
+   +
+
  + <% button "lt-off.svg" "light" %> +
+ +
+
diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mj.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mj.cgi new file mode 100755 index 0000000..eb8775e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/_mj.cgi @@ -0,0 +1,102 @@ +<% +# line format: parameter|label|units|type|o,p,t,i,o,n,s|placeholder|hint +mj=" +.system.logLevel|Строгость логирования||select|ERROR,WARN,INFO,DEBUG,TRACE|TRACE| +.system.staticDir|Домашняя дирректоря||string||/var/www/html| +.system.webPort|Порт для HTTP-доступа||number|1-65535|80| +.system.httpsPort|Порт для HTTPs-доступа||number|1-65535|443| +.system.httpsCertificate|Путь к публичному SSL-сертификату||string||/etc/ssl/certs/www.example.com.crt| +.system.httpsCertificateKey|Путь к приватному SSL-сертификату||string||/etc/ssl/private/www.example.com.key| +.system.updateChannel|Тип обновления||select|testing,beta,stable,none|stable| +.system.buffer|Максимальный размер буфера для клиента|KB|number||1024| +.isp.memMode|Режим памяти||select|normal,reduction|reduction| +.isp.sensorConfig|Путь к файлу конфигурации сенсора||string||/etc/sensors/imx222_1080p_line.ini| +.isp.slowShutter|Выдержка ||select|disabled,low,medium,high|low|Режим autoматического снижения частоты кадров. +.isp.antiFlicker|Антиблик||select|disabled,50Hz,60Hz|disabled|Обычно это частота сети в вашей сети. +.isp.alignWidth|Ширина выравнивания||number||8| +.isp.blkCnt|Количество блоков||number|1-32|4|Используйте 4 для систем с небольшим объемом памяти, 10+ для производительных SoC. +.isp.threadStackSize|Размер стека потоков|KB|number|1-32|16| +.isp.exposure|Время экспозиции датчика|µs|range|auto,1-500000|auto|От 1 до 500000. +.isp.aGain|Аналоговое усиление датчика||number|0.1-1.0|1| +.isp.dGain|Цифровой коэффициент усиления датчика||number|0.1-1.0|1| +.isp.ispGain|ISP Усиление||number|0.1-1.0|1| +.isp.drc|Динамический уровень сжатия (DRC)|:1|number|1-1000|300| +.isp.rawMode|Режим сырой подачи||select|slow,fast,none|slow| +.image.mirror|Перевернуть изображение по горизонтали||boolean|true,false|false| +.image.flip|Отразить изображение по вертикали||boolean|true,false|false| +.image.rotate|Повернуть изображение по часовой стрелке||select|0°,90°,270°|0| +.image.contrast|Контраст изображения|%|range|auto,1-100|auto| +.image.hue|Оттенок изображения|%|range|1-100|50| +.image.saturation|Насыщенность изображения|%|range|1-100|50| +.image.luminance|Яркость изображения|%|range|auto,1-100|auto| +.osd.enabled|Включить экранную информацию (OSD)||boolean|true,false|false| +.osd.font|Путь к файлу шрифта, используемому в OSD||string||/usr/share/fonts/truetype/UbuntuMono-Regular.ttf| +.osd.template|OSD шаблон||string||%a %e %B %Y %H:%M:%S %Z|Поддерживает формат strftime(). +.osd.posX|Горизонтальное положение OSD|px|number|-2000-2000|-100| +.osd.posY|Вертикальное положение OSD|px|number|-2000-2000|-100| +.osd.privacyMasks|Маски приватности|px|string||0x0x234x640,2124x0x468x1300|Координаты маскируемых областей через запятую. +.nightMode.enabled|Включить ночной режим||boolean|true,false|false| +.nightMode.irSensorPin|Контакт GPIO сигнала от ИК-датчика||number|1-100|62| +.nightMode.irSensorPinInvert|Инверсия ИК датчика.||boolean|true,false|false| +.nightMode.irCutPin1|Контакт 1 GPIO сигнала для фильтра IRcut||number|1-100|1| +.nightMode.irCutPin2|Контакт 2 GPIO сигнала для фильтра IRcut||number|1-100|2| +.nightMode.pinSwitchDelayUs|Задержка перед срабатыванием фильтра IRcut||number|0-1000|150| +.nightMode.backlightPin|Контакт GPIO для включения подсветки в ночном режиме||number|1-100|65| +.nightMode.drcOverride|Динамический уровень сжатия (DRC) в ночном режиме||number|1-1000|300| +.records.enabled|Включить сохранение записей||boolean|true,false|false| +.records.path|Шаблон для сохранения видеозаписей||string||/mnt/mmc/%Y/%m/%d/%H.mp4|Поддерживает формат strftime(). +.records.maxUsage|Ограничение использования доступного пространства|%|range|1-100|95| +.video0.enabled|Включить основной видеопоток||boolean|true,false|true| +.video0.codec|Кодек основного видеопотока||select|h264,h265|h264| +.video0.size|Разрешение видео|px|string|1920x1080,1280x720,704x576|1920x1080| +.video0.fps|Частота кадров видео|fps|number|1-60|25| +.video0.bitrate|Битрейт видео|kbps|number|1-4096|4096| +.video0.gopSize|Отправлять опорный кадр каждую 1 секунду||number|1-20|1| +.video0.gopMode|Режим группы изображений (GOP)||select|normal,dual,smart|normal| +.video0.rcMode|RC режим||select|avbr|avbr| +.video0.crop|Обрезать видео по размеру|px|string||0x0x960x540| +.video1.enabled|Включить дополнительный видеопоток||boolean|true,false|false| +.video1.codec|Кодек дополнительного видеопотока||select|h264,h265|h264| +.video1.size|Разрешение видео|px|string|1920x1080,1280x720,704x576|704x576| +.video1.fps|Частота кадров видео|fps|number|1-60|15| +.video1.bitrate|Битрейт видео|kbps|number|1-4096|2048| +.video1.gopSize|Отправлять опорный кадр каждую 1 секунду||number|1-20|1| +.video1.gopMode|Режим группы изображений (GOP)||select|normal,dual,smart|normal| +.video1.rcMode|RC режим||select|avbr|avbr| +.video1.crop|Обрезать видео по размеру|px|string||0x0x960x540| +.jpeg.enabled|Включить поддержку JPEG||boolean|true,false|true| +.jpeg.size|Размер снимка|px|string||1920x1080|| +.jpeg.qfactor|Уровень качества JPEG|%|range|1-100|50| +.jpeg.toProgressive|Прогрессивный JPEG||boolean|true,false|false| +.mjpeg.size|Разрешение видео|px|string||640x360| +.mjpeg.fps|Частота кадров видео|fps|number|1-30|5| +.mjpeg.bitrate|Битрейт видео|kbps|number|1-4096|1024| +.audio.enabled|Включить звук||boolean|true,false|false| +.audio.volume|Уровень громкости звука|%|range|auto,1-100|auto| +.audio.srate|Частота дискретизации звука|kHz|number|1-44100|8000| +.audio.codec|Кодек для кодирования RTSP и MP4||select|mp3,opus,pcm,alaw,ulaw|opus| +.audio.outputEnabled|Аудио карта||string||hw:3| +.rtsp.enabled|Включить вывод||boolean|true,false|true|| +.rtsp.port|Порт для протокола RTSP||number|1-65535|554|rtsp://[ip.add.re.ss]:[port]/stream={0,1} +.hls.enabled|Включить HTTP Live Streaming (HLS)||boolean|true,false|true| +.youtube.enabled|Включить поддержку Youtube||boolean|true,false|false| +.youtube.key|API-ключ ютуба||string||xxxx-xxxx-xxxx-xxxx-xxxx| +.motionDetect.enabled|Включить обнаружение движения||boolean|true,false|false| +.motionDetect.profile|Профиль обнаружения движения||select|outdoor,indoor|outdoor| +.motionDetect.visualize|Визуализация обнаружения движения||boolean|true,false|true| +.motionDetect.debug|Включить отладку||boolean|true,false|true| +.motionDetect.constraints|Области интереса (ROI) для обнаружения движения.|px|string||0x0x1296x760| +.ipeye.enabled|Включить поддержку IP EYE||boolean|true,false|false| +.netip.enabled|Включить поддержку протокола NETIP||boolean|true,false|false| +.netip.user|NETIP-пользователь||string||admin| +.netip.password-plain|NETIP-пароль||string||12345| +.netip.password|Хэш пароля NETIP||hidden||6V0Y4HLF| +.netip.port|NETIP-порт||number|1-65535|34567| +.netip.snapshots|Снимки NETIP ||boolean|true,false|true| +.netip.ignoreSetTime|Игнорировать установленное время||boolean|true,false|false| +.onvif.enabled|Включить поддержку протокола ONVIF||boolean|true,false|false| +.watchdog.enabled|Включить сторожевой таймер||boolean|true,false|true| +.watchdog.timeout|Тайм-аут сторожевого таймера|sec|number|1-1000|10| +.cloud.enabled|Включить облачную поддержку||boolean|true,false|false| +" +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/af.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/af.cgi new file mode 100755 index 0000000..47682ff --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/af.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_baf +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ajaxcmd.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ajaxcmd.cgi new file mode 100755 index 0000000..072d953 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ajaxcmd.cgi @@ -0,0 +1,17 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% +cd /tmp +cmd="$FORM_cmd" +export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin + +echo "[$(whoami)@$(hostname) $PWD]# $cmd" +echo "" + +if [ -n "$cmd" -a "$cmd" != "undefined" ]; then + result=$(eval $cmd 2>&1) +fi + +[ -z "$result" ] && echo "- empty -" || echo "$result" +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/arrec.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/arrec.cgi new file mode 100755 index 0000000..fe490eb --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/arrec.cgi @@ -0,0 +1,14 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% page_title="Camera Preview" +ipaddr=$(printenv | grep HTTP_HOST | cut -d= -f2 | cut -d: -f1) +%> +<%in _header.cgi %> +
+ +
+
+ + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/c_stop.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/c_stop.cgi new file mode 100755 index 0000000..9d1f5c4 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/c_stop.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +sc_stop +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/console.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/console.cgi new file mode 100755 index 0000000..3d0c045 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/console.cgi @@ -0,0 +1,98 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleWebConsole" +cmd=$FORM_cmd +%> +<%in _header.cgi %> +
+
+
~#
+ +
+ +
+
+
+  
+
+ + +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ext-settings-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ext-settings-update.cgi new file mode 100755 index 0000000..8011e84 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ext-settings-update.cgi @@ -0,0 +1,318 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +qauto_focus=0; +qlight_control=0; +qfocus_in=0; +qalways_on=0; +qsim7600=0; +qfocus_port=0; +qfirst_step=0; +qircut_inv=0; +qfocus_control=0; +qec200t=0; +qsave_zf=0; +qfocus_threshold=0; +qauto_light=0; +qlight_port=0; +qlight_tr_on=0; +qlight_tr_off=0; +qdelay_tr=0; +qdelay_lt=0; +qapmode=0; +qbbsw=0; +qapname="00"; +qcmid="0"; +qcmkey="00000000"; +qamkey="00000000"; +qwifif +qcmidf="0"; +qcmkeyf="00000000"; + + +data="$(printenv|grep POST_)" +IFS=$'\n' # make newlines the only separator +for name in $data; do + key="$(echo $name | sed 's/^POST_//' | cut -d= -f1 )" + value="$(echo $name | cut -d= -f2)" +if [ "$value" == "true" ]; then + value="1"; +fi +if [ "$value" == "on" ]; then + value="1"; +fi +if [ "$value" == "false" ]; then + value="0"; +fi +if [ "$key" == "focus-port" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi +if [ "$key" == "first-step" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi +if [ "$key" == "light-port" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi +if [ "$key" == "light-tr-on" ]; then + if [ "$value" == "" ]; then + value="70"; + fi +fi +if [ "$key" == "light-tr-off" ]; then + if [ "$value" == "" ]; then + value="40"; + fi +fi + +if [ "$key" == "focus-threshold" ]; then + if [ "$value" == "" ]; then + value="110"; + fi +fi +if [ "$key" == "apmode" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi +if [ "$key" == "bbsw" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi +if [ "$key" == "apname" ]; then + if [ "$value" == "" ]; then + value="00"; + fi +fi +if [ "$key" == "wifif" ]; then + if [ "$value" == "" ]; then + value="0"; + fi +fi + +if [ "$key" == "cmid" ]; then + if [ "$value" == "" ]; then + value="swit"; + fi +fi +if [ "$key" == "cmkey" ]; then + if [ "$value" == "" ]; then + value="swit.737"; + fi +fi +if [ "$key" == "cmidf" ]; then + if [ "$value" == "" ]; then + value="swit5G"; + fi +fi +if [ "$key" == "cmkeyf" ]; then + if [ "$value" == "" ]; then + value="swit.959"; + fi +fi + + + +if [ "$key" == "amkey" ]; then + if [ "$value" == "" ]; then + value="10923874"; + fi +fi +if [ "$key" == "delay-tr" ]; then + if [ "$value" == "" ]; then + value="6"; + fi +fi +if [ "$key" == "delay-lt" ]; then + if [ "$value" == "" ]; then + value="10"; + fi +fi +if [ "$value" == "" ]; then + value="0"; +fi +if [ "$key" == "auto-focus" ]; then + qauto_focus="$value"; fi +if [ "$key" == "light-control" ]; then + qlight_control="$value"; fi +if [ "$key" == "focus-in" ]; then + qfocus_in="$value"; fi +if [ "$key" == "always-on" ]; then + qalways_on="$value"; fi +if [ "$key" == "sim7600" ]; then + qsim7600="$value"; fi +if [ "$key" == "focus-port" ]; then + qfocus_port="$value"; fi +if [ "$key" == "first-step" ]; then + qfirst_step="$value"; fi +if [ "$key" == "ircut-inv" ]; then + qircut_inv="$value"; fi +if [ "$key" == "focus-control" ]; then + qfocus_control="$value"; fi +if [ "$key" == "ec200t" ]; then + qec200t="$value"; fi +if [ "$key" == "save-zf" ]; then + qsave_zf="$value"; fi +if [ "$key" == "focus-threshold" ]; then + qfocus_threshold="$value"; fi +if [ "$key" == "auto-light" ]; then + qauto_light="$value"; fi +if [ "$key" == "light-port" ]; then + qlight_port="$value"; fi +if [ "$key" == "light-tr-on" ]; then + qlight_tr_on="$value"; fi +if [ "$key" == "light-tr-off" ]; then + qlight_tr_off="$value"; fi +if [ "$key" == "apmode" ]; then + qapmode="$value"; fi +if [ "$key" == "bbsw" ]; then + qbbsw="$value"; fi +if [ "$key" == "apname" ]; then + qapname="$value"; fi +if [ "$key" == "cmid" ]; then + qcmid="$value"; fi +if [ "$key" == "cmkey" ]; then + qcmkey="$value"; fi + +if [ "$key" == "wifif" ]; then + qwifif="$value"; fi +if [ "$key" == "cmidf" ]; then + qcmidf="$value"; fi +if [ "$key" == "cmkeyf" ]; then + qcmkeyf="$value"; fi + +if [ "$key" == "amkey" ]; then + qamkey="$value"; fi +if [ "$key" == "delay-tr" ]; then + qdelay_tr="$value"; fi +if [ "$key" == "delay-lt" ]; then + qdelay_lt="$value"; fi +if [ "$key" == "newdat" ]; then + qnewdat="$value"; fi +done +if [ "$qauto_focus" != "$(getenv auto-focus)" ]; then + fw_setenv auto-focus $qauto_focus; fi +if [ "$qfirst_step" != "$(getenv first-step)" ]; then + fw_setenv first-step $qfirst_step; fi + +if [ "$qlight_control" != "$(getenv light-control)" ]; then + fw_setenv light-control $qlight_control; fi +if [ "$qfocus_in" != "$(getenv focus-in)" ]; then + fw_setenv focus-in $qfocus_in; fi +if [ "$qalways_on" != "$(getenv always-on)" ]; then + fw_setenv always-on $qalways_on; fi + + fw_setenv sim7600 $qsim7600; + if [[ "$qsim7600" == "1" ]] + then + sed -i '27s/manual/auto/' /etc/network/interfaces + else + sed -i '27s/auto/manual/' /etc/network/interfaces + fi + +if [ "$qfocus_port" != "$(getenv focus-port)" ]; then + fw_setenv focus-port $qfocus_port; fi +if [ "$qircut_inv" != "$(getenv ircut-inv)" ]; then + fw_setenv ircut-inv $qircut_inv; fi +if [ "$qfocus_control" != "$(getenv focus-control)" ]; then + fw_setenv focus-control $qfocus_control; fi + + fw_setenv ec200t $qec200t; + if [[ "$qec200t" == "1" ]] + then + sed -i '6s/manual/auto/' /etc/network/interfaces + else + sed -i '6s/auto/manual/' /etc/network/interfaces + fi + +if [ "$qsave_zf" != "$(getenv save-zf)" ]; then + fw_setenv save-zf $qsave_zf; fi +if [ "$qfocus_threshold" != "$(getenv focus-threshold)" ]; then + fw_setenv focus-threshold $qfocus_threshold; fi +if [ "$qauto_light" != "$(getenv auto-light)" ]; then + fw_setenv auto-light $qauto_light; fi +if [ "$qlight_port" != "$(getenv light-port)" ]; then + fw_setenv light-port $qlight_port; fi +if [ "$qlight_tr_on" != "$(getenv light-tr-on)" ]; then + fw_setenv light-tr-on $qlight_tr_on; fi +if [ "$qlight_tr_off" != "$(getenv light-tr-off)" ]; then + fw_setenv light-tr-off $qlight_tr_off; fi +snap=0; +if [ "$qapmode" != "$(getenv apmode)" ]; then + fw_setenv apmode $qapmode; snap=1; +fi + + fw_setenv bbsw $qbbsw; + if [[ "$qbbsw" == "1" ]] + then + sed -i '56s/manual/auto/' /etc/network/interfaces + else + sed -i '56s/auto/manual/' /etc/network/interfaces + fi +if [ "$qapname" != "$(getenv apname)" ]; then + fw_setenv apname $qapname; snap=1; fi +if [ "$qcmid" != "$(getenv cmid)" ]; then + fw_setenv cmid $qcmid; fi +if [ "$qcmkey" != "$(getenv cmkey)" ]; then + fw_setenv cmkey $qcmkey; fi + +if [ "$qwifif" != "$(getenv wifif)" ]; then + fw_setenv wifif $qwifif; fi +if [ "$qcmidf" != "$(getenv cmidf)" ]; then + fw_setenv cmidf $qcmidf; fi +if [ "$qcmkeyf" != "$(getenv cmkeyf)" ]; then + fw_setenv cmkeyf $qcmkeyf; fi + +if [ "$qamkey" != "$(getenv amkey)" ]; then + fw_setenv amkey $qamkey; + npsk="psk=\"$qamkey\""; + + sed -i '8d' /etc/wpa_supplicant.conf + sed -i "8i \\$npsk" /etc/wpa_supplicant.conf +fi +if [ "$qdelay_tr" != "$(getenv delay-tr)" ]; then + fw_setenv delay-tr $qdelay_tr; fi +if [ "$qdelay_lt" != "$(getenv delay-lt)" ]; then + fw_setenv delay-lt $qdelay_lt; fi + +if [ "$snap" == "1" ]; then + cssid="$(getenv soc)-$(gmnum)-$(getenv apname)"; + nssid="ssid=\"$cssid\""; + sed -i '5d' /etc/wpa_supplicant.conf + sed -i "5i \\$nssid" /etc/wpa_supplicant.conf + echo $cssid > /etc/hostname +fi +date -s "$qnewdat" > /dev/null +#hwclock -w > /dev/null +#echo "$qauto_focus
"; +#echo "$qlight_control
"; +#echo "$qfocus_in
"; +#echo "$qalways_on
"; +#echo "$qsim7600
"; +#echo "$qfocus_port
"; +#echo "$qircut_inv
"; +#echo "$qfocus_control
"; +#echo "$qec200t
"; +#echo "$qsave_zf
"; +#echo "$qfocus_threshold
"; +#echo "$qauto_light
"; +#echo "$qlight_port
"; +#echo "$qlight_threshold
"; +#echo "$qnewdat
"; +#echo "---------------------------------------------------"; +#echo "$qap_mode
"; +#echo "$qcmid
"; +#echo "$qcmkey
"; +#echo "$qwifif
"; +#echo "$qcmidf
"; +#echo "$qcmkeyf
"; + +redirect_to "/cgi-bin/fl-settings.cgi" +%> + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_minus.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_minus.cgi new file mode 100755 index 0000000..3466893 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_minus.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_fs_out 1 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_plus.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_plus.cgi new file mode 100755 index 0000000..3467635 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/f_plus.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_fs_in 1 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-reset.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-reset.cgi new file mode 100755 index 0000000..778afcf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-reset.cgi @@ -0,0 +1,17 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleFirmwareReset" +%> +<%in _header.cgi %> +<% +command="/usr/sbin/firstboot -s" +output=$(/usr/sbin/firstboot -s 2>&1) +if [ $? -ne 0 ]; then + report_command_error "$command" "$output" +else + report_command_info "$command" "$output" +%> +<%= $tButtonGoHome %> +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-update.cgi new file mode 100755 index 0000000..35b7c6e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-update.cgi @@ -0,0 +1,26 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleFirmwareUpdate" +%> +<%in _header.cgi %> +<% +if [ -f /tmp/webjob.lock ]; then + report_error "danger" "$tMsgAnotherProcessRunning" +else +%> +
+<%
+  opts=""
+  [ ! -z "$POST_kernel"   ] && opts="${opts} -k"
+  [ ! -z "$POST_rootfs"   ] && opts="${opts} -r"
+  [ ! -z "$POST_reset"    ] && opts="${opts} -n"
+  [ ! -z "$POST_noreboot" ] && opts="${opts} -x"
+  [ ! -z $(sysupgrade | grep force) ] && opts="${opts} --force"
+  echo "sysupgrade ${opts}"
+  sysupgrade ${opts} 2>&1
+%>
+
+<%= $tButtonGoHome %> +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-kernel.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-kernel.cgi new file mode 100755 index 0000000..97bc66d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-kernel.cgi @@ -0,0 +1,37 @@ +#!/usr/bin/haserl --upload-limit=2048 --upload-dir=/tmp +<%in _common.cgi %> +<%in _header.cgi %> +<% +maxsize=2097152 +magicnum="27051956" + +sysupgrade_date=$(ls -lc --full-time /usr/sbin/sysupgrade | xargs | cut -d " " -f 6) +sysupgrade_date=$(date --date="$sysupgrade_date" +"%s") +new_sysupgrade_date=$(date --date="2021-12-07" +"%s") + +error="" +if [ -z "$POST_upfile_name" ]; then + error="No file found! Did you forget to upload?" +elif [ ! -r "$POST_upfile" ]; then + error="Cannot read file \"${POST_upfile_name}\" from \"${POST_upfile}\"!" +elif [ "$(wc -c "$POST_upfile" | awk '{print $1}')" -gt "$maxsize" ]; then + error="File \"${POST_upfile_name}\" is too large! Its size is $(wc -c "$POST_upfile" | awk '{print $1}') bytes, but it should be ${maxsize} bytes or less." +elif [ "$magicnum" -ne "$(xxd -p -l 4 "$POST_upfile")" ]; then + error="File magic number does not match. Did you upload a wrong file? $(xxd -p -l 4 "$POST_upfile") != $magicnum" +elif [ "$sysupgrade_date" -lt "$new_sysupgrade_date" ]; then + error="This feature requires the latest sysupgrade tool. Please upgrade firmware first." +fi + +if [ ! -z "$error" ]; then + report_error "$error" +else +%> +
+<%
+  mv ${POST_upfile} /tmp/${POST_upfile_name}
+  sysupgrade --kernel=/tmp/${POST_upfile_name} --force_ver
+%>
+
+<%= $tButtonGoHome %> +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-rootfs.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-rootfs.cgi new file mode 100755 index 0000000..a866d03 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware-upload-rootfs.cgi @@ -0,0 +1,37 @@ +#!/usr/bin/haserl --upload-limit=8120 --upload-dir=/tmp +<%in _common.cgi %> +<%in _header.cgi %> +<% +maxsize=8242880 +magicnum="68737173" + +sysupgrade_date=$(ls -lc --full-time /usr/sbin/sysupgrade | xargs | cut -d " " -f 6) +sysupgrade_date=$(date --date="$sysupgrade_date" +"%s") +new_sysupgrade_date=$(date --date="2022-02-22" +"%s") + +error="" +if [ -z "$POST_upfile_name" ]; then + error="No file found! Did you forget to upload?" +elif [ ! -r "$POST_upfile" ]; then + error="Cannot read file \"${POST_upfile_name}\" from \"${POST_upfile}\"!" +elif [ "$(wc -c "$POST_upfile" | awk '{print $1}')" -gt "$maxsize" ]; then + error="File \"${POST_upfile_name}\" is too large! Its size is $(wc -c "$POST_upfile" | awk '{print $1}') bytes, but it should be ${maxsize} bytes or less." +elif [ "$magicnum" -ne "$(xxd -p -l 4 "$POST_upfile")" ]; then + error="File magic number does not match. Did you upload a wrong file? $(xxd -p -l 4 "$POST_upfile") != $magicnum" +elif [ "$sysupgrade_date" -lt "$new_sysupgrade_date" ]; then + error="This feature requires the latest sysupgrade tool. Please upgrade firmware first." +fi + +if [ ! -z "$error" ]; then + report_error "$error" +else +%> +
+<%
+  mv ${POST_upfile} /tmp/${POST_upfile_name}
+  sysupgrade --rootfs=/tmp/${POST_upfile_name} --force_ver
+%>
+
+<%= $tButtonGoHome %> +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware.cgi new file mode 100755 index 0000000..1d02154 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/firmware.cgi @@ -0,0 +1,221 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_hardware_info +get_firmware_info +get_software_info + +page_title="$tPageTitleFirmware" +mj_meta_url="http://openipc.s3-eu-west-1.amazonaws.com/majestic.${soc_family}.${fw_variant}.master.tar.meta" +mj_config_diff=$(diff /rom/etc/majestic.yaml /etc/majestic.yaml) +[ -f /overlay/root/${mj_bin_file} ] && mj_filesize_old=$(ls -s ${mj_bin_file} | xargs | cut -d" " -f1) || mj_filesize_old=0 +mj_filesize_new=$(curl -s ${mj_meta_url}) +mj_filesize_new=$(echo $mj_filesize_new / 1024 | bc) +free_space=$(df | grep /overlay | xargs | cut -d" " -f4) +available_space=$(( $free_space + $mj_filesize_old - 1 )) +%> +<%in _header.cgi %> +
+ <%= $tMsgDestructiveActions %> +

<%= $tMsgKnowWhatYouDo %>

+
+
+
+
+
<%= $tHeaderFirmware %>
+
+
+
<%= $tInstalled %>
+
<%= $fw_version %>
+
<%= $tLatest %>
+
+
+
+

<%= $tInstallUpdate %>.

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+

+
+
+
+

<%= $tResetFirmware %>

+

<%= $tResetFirmwareInfo %>

+

<%= $tButtonResetFirmware %>

+
+
+
+
+
+
+
<%= $tHeaderWebui %>
+
+
+
<%= $tInstalled %>
+
<%= $ui_version %>
+
<%= $tStable %>
+
+
<%= $tUnstable %>
+
+
+
+

<%= $tInstallUpdate %>.

+
+ + +
+ + +
+

+
+
+
+
+
+
+
+
Majestic
+
+
+
<%= $tInstalled %>
+
<%= $mj_version %>
+
<%= $tLatest %>
+
+
+
+ <% if [ -f /overlay/root/usr/bin/majestic ]; then %> +

<%= $tMjInOverlay %> (<%= $mj_filesize_old %> KB)

+ <% else %> +

<%= $tMjInBundle %>

+ <% fi %> + <% if [ "$mj_filesize_new" -le "$available_space" ]; then %> +
+

+
+ <% else %> +
<%= $tMjNoSpace %>
+ <% fi %> +
+
+ <% if [ -z "$mj_config_diff" ]; then %> +

<%= $tMjConfigUnchanged %>

+

<%= $tMjConfigEdit %>

+ <% else %> +

<%= $tMjConfigChanged %>

+

<%= $tMjConfigSeeChanges %>

+
+

<%= $tMjConfigReset %>

+

<%= $tMjConfigResetInfo %>

+

+ <%= $tMjConfigBackup %> + <%= $tMjConfigReset %> +

+
+ <% fi %> +
+
+
+
+
+
+
<%= $tHeaderCamera %>
+ +
+
+
+
+
<%= $tHeaderUploadKernel %>
+
+
+
+ +
+ +
+
+ +
+
+
+
+
+
+
<%= $tHeaderUploadRootfs %>
+
+
+
+ +
+ +
+
+ +
+
+
+
+
+ +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/fl-settings.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/fl-settings.cgi new file mode 100755 index 0000000..76a77c0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/fl-settings.cgi @@ -0,0 +1,378 @@ +#!/usr/bin/haserl + +<%in _common.cgi %> +<% page_title="Extended settings" +ipaddr=$(printenv | grep HTTP_HOST | cut -d= -f2 | cut -d: -f1) +button() { + id=$(echo "${2// /_}" | tr '[:upper:]' '[:lower:]') + echo "" +} +%> +<%in _header.cgi %> +

Расширенные настройки

+
+
+
+ +
+
+
Подсветка
+
+
+
+
+ <% if [[ "$(getenv auto-light)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+ <% if [[ "$(getenv always-on)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+
+
+
+ <% if [[ "$(getenv light-control)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+ <% if [[ "$(getenv ircut-inv)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+
+
+
+ +
+
+
Управление фокусировкой
+
+
+
+
+ <% if [[ "$(getenv auto-focus)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+ <% if [[ "$(getenv focus-in)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+
+
+
+
+ <% case "$(getenv focus-control)" in + 0) +echo "
" +echo "
" +echo "
" + ;; + 1) +echo "
" +echo "
" +echo "
" + ;; + 2) +echo "
" +echo "
" +echo "
" + ;; + esac; + %> +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+ +
+
+
Настройки LTE, WiFi и внутренних сетей
+
+
Внимание некорректная настройка может привести к полной потере связи с камерой.
+
+
+
+ <% if [[ "$(getenv sim7600)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + + +
+
+
+
+
+
+ <% if [[ "$(getenv ec200t)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+ +
+
+
+ <% if [[ "$(getenv bbsw)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+ +
+
+
+ <% if [[ "$(getenv apmode)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
Подключение к сети WiFi
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
Wi-Fi 5GHz модуль.
+ +
+
+
+ <% if [[ "$(getenv wifif)" == "1" ]] + then + echo ""; + else + echo ""; + fi; %> + +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+
+ + +
+
+
+ +
+ + +
+
+ +<%in _footer.cgi %> + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/flajax.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/flajax.cgi new file mode 100755 index 0000000..52137e4 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/flajax.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% + +cf=$(gf); + +echo "{ \"gf\": $(gf), \"ld\": $(cat < /tmp/lt), \"lexp\": $(gexp), \"stf\": $(cat < /tmp/st), \"lst\": $(cat < /tmp/lst), \"ff\": $(cat < /tmp/ff) }"; + +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/format.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/format.cgi new file mode 100755 index 0000000..d05d2a3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/format.cgi @@ -0,0 +1,16 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +mkfs.vfat -n WTF /dev/mmcblk0p1 +page_title="Rebooting..." +command="reboot -d 3" +output=$(reboot -d 3) +result=$? +if [ "0" -ne "$result" ]; then %> +<%in _header.cgi %> +<% report_command_error "$command" "output" %> +<%in _footer.cgi %> +<% else + redirect_to "/cgi-bin/progress.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gbtv.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gbtv.cgi new file mode 100755 index 0000000..744fac7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gbtv.cgi @@ -0,0 +1,7 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% +echo "$(pw) $(pwa)"; +%> + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gn.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gn.cgi new file mode 100755 index 0000000..d929da8 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gn.cgi @@ -0,0 +1,8 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% + +hostname + +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gupt.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gupt.cgi new file mode 100755 index 0000000..f69288f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/gupt.cgi @@ -0,0 +1,9 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% + +uptime + +%> + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/guptm.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/guptm.cgi new file mode 100755 index 0000000..623d472 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/guptm.cgi @@ -0,0 +1,8 @@ +#!/usr/bin/haserl +content-type: text/plain + +<% + +uptime + +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-cron.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-cron.cgi new file mode 100755 index 0000000..36e3115 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-cron.cgi @@ -0,0 +1,9 @@ +#!/usr/bin/haserl +<% page_title="cron" %> +<%in _common.cgi %> +<%in _header.cgi %> +# cat /etc/crontabs/root +
+<% cat /etc/crontabs/root %>
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-dmesg.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-dmesg.cgi new file mode 100755 index 0000000..00bb06d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-dmesg.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/haserl +<% page_title="dmesg" %> +<%in _common.cgi %> +<%in _header.cgi %> +# dmesg +
+<%= "$(dmesg)" %>
+
+<%= $tButtonRefresh %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd-config.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd-config.cgi new file mode 100755 index 0000000..3485be3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd-config.cgi @@ -0,0 +1,9 @@ +#!/usr/bin/haserl +<% page_title="httpd.conf" %> +<%in _common.cgi %> +<%in _header.cgi %> +# cat /etc/httpd.conf +
+<% cat /etc/httpd.conf %>
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd.cgi new file mode 100755 index 0000000..bfa5fd7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-httpd.cgi @@ -0,0 +1,9 @@ +#!/usr/bin/haserl +<% page_title="printenv" %> +<%in _common.cgi %> +<%in _header.cgi %> +# printenv +
+<% printenv | sort %>
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-log.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-log.cgi new file mode 100755 index 0000000..8b642ea --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/info-log.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/haserl +<% page_title="logread" %> +<%in _common.cgi %> +<%in _header.cgi %> +# logread +
+<%= "$(logread | tail -100)" %>
+
+<%= $tButtonRefresh %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/light.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/light.cgi new file mode 100755 index 0000000..b6140d8 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/light.cgi @@ -0,0 +1,16 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +ll=""; +while [[ -z "$ll" ]] +do +ll="$(cat /tmp/lt)" +done + +if [[ "$ll" == "1" ]] + then + light 0 + else + light 1 +fi +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/en.sh b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/en.sh new file mode 100755 index 0000000..129706c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/en.sh @@ -0,0 +1,227 @@ +#!/bin/sh +#name:English + +tBuild="Build" +tButtonAddCameraToCloud="Add camera to the cloud" +tButtonAddDevice="Add device" +tButtonDownloadAsPatch="Save as patch" +tButtonDownloadConfig="Download config" +tButtonEnableIpeye="Enable IP EYE support" +tButtonFormSubmit="Save changes" +tButtonGoBackToSettings="Go back to settings" +tButtonGoHome="Go home" +tButtonInstallUpdate="Install update" +tButtonMjBackup="Download config" +tButtonMjChanges="Review changes" +tButtonMjReset="Reset Majestic settings" +tButtonMjRestore="Upload config" +tButtonReboot="Reboot the camera now" +tButtonRefresh="Refresh" +tButtonResetConfig="Reset configuration" +tButtonResetFirmware="Reset firmware" +tButtonResetToDefaults="Reset to defaults" +tButtonRestart="Restart" +tButtonRestoreConfig="Restore original" +tButtonRun="Run" +tButtonSshKeyBackup="Backup SSH keys" +tButtonSshKeyDelete="Delete SSH keys backup" +tButtonSshKeyRestore="Restore SSH keys from backup" +tButtonUploadFile="Upload file" +tEditTimezone="Edit timezone" +tFirmware="Firmware" +tFlash="Flash" +tFormShowPasswordTitle="Show password" +tHardware="Hardware" +tHeaderAddDevice="Add a device" +tHeaderAddFeed="Add a feed" +tHeaderCamera="Camera" +tHeaderDeviceInfo="Device Info" +tHeaderDnsResolver="DNS Resolver" +tHeaderFirmware="Firmware" +tHeaderMjBackup="Backup" +tHeaderMjChanges="Changes" +tHeaderMjReset="Reset" +tHeaderMjRestore="Restore" +tHeaderNetworkAddress="Network Address" +tHeaderNetworkRouting="Network Routing" +tHeaderNetworkStatus="Network Status" +tHeaderNtpConfig="NTP Configuration" +tHeaderNtpServers="NTP Servers" +tHeaderResources="Resources" +tHeaderSettings="Settings" +tHeaderSystemInfo="System Info" +tHeaderTelegramBot="Telegram Bot" +tHeaderTimezone="Timezone" +tHeaderTopProcesses="Top 20 Processes" +tHeaderUploadKernel="Upload kernel" +tHeaderUploadRootfs="Upload rootfs" +tHeaderWebui="Web UI" +tHeaderWebuiSettings="Web Interface" +tHintAccessPin="letters and numbers, no punctuation or special characters" +tHintMakeHostnameUnique="Make hostname unique using MAC address information" +tHintTelegramChatId="Numeric ID of the channel you want the bot to post images to." +tHintTelegramToken="Your Telegram Bot authentication token." +tHostname="Hostname" +tInstallUpdate="Install update" +tInstalled="Installed" +tKernelFile="kernel file" +tLabelAccessPin="Access PIN" +tLabelDeviceName="Device Name" +tLabelDoNotReboot="Do not reboot after upgrade." +tLabelIpAddress="IP Address" +tLabelIpNetmask="IP Netmask" +tLabelIpeyeCameraName="Camera name" +tLabelIpeyeLogin="IP EYE cloud login" +tLabelIpeyePassword="IP EYE cloud password" +tLabelIpeyeRtspFeed="RTSP feed" +tLabelNtpServer="NTP Server" +tLabelResetFirmware="Reset firmware." +tLabelTelegramChatId="Chat ID" +tLabelTelegramToken="Token" +tLabelUpgradeKernel="Upgrade kernel." +tLabelUpgradeRootfs="Upgrade rootfs." +tLabelVtundServer="VTUNd Server" +tLabelZoneData="Zone string" +tLabelZoneName="Zone name" +tLatest="Latest" +tMenuCron="Cron config" +tMenuDmesg="Diagnostic message" +tMenuFirmware="Firmware" +tMenuHttpd="HTTPd config" +tMenuHttpdEnv="HTTPd environment" +tMenuInformation="Information" +tMenuLog="Log read" +tMenuMjInformation="Majestic Information" +tMenuMjMaintenance="Majestic Maintenance" +tMenuMjServices="Majestic Services" +tMenuMjSettings="Majestic Settings" +tMenuNetwork="Network Settings" +tMenuNtp="NTP Settings" +tMenuOverview="Overview" +tMenuPingTrace="Ping & Traceroute" +tMenuPreview="Preview" +tMenuServices="Services" +tMenuSettings="Settings" +tMenuSshKeys="SSH Keys" +tMenuTools="Tools" +tMenuWebConsole="Web Console" +tMenuWebUi="Web UI Settings" +tMjBackupFile="Backup file" +tMjBackupInfo="Download a copy of the actual majestic.yaml file to backup the changes you have done to the default Majestic configuration." +tMjChangesInfo="Compare your recent configuration of Majestic with the original configuration supplied with the firmware." +tMjConfigBackup="Backup settings" +tMjConfigChanged="Majestic uses custom configuration." +tMjConfigEdit="Make changes." +tMjConfigReset="Reset Majestic settings." +tMjConfigResetInfo="Revert Majestic configuration to default setings. All changes will be lost! You might want to backup your recent configuration first" +tMjConfigResetTitle="Restore original configuration" +tMjConfigSeeChanges="See changes." +tMjConfigUnchanged="Majestic uses the original configuration." +tMjInBundle="Bundled version of Majestic is used." +tMjInOverlay="Majestic is installed in the overlay." +tMjNoSpace="Not enough space to update Majestic." +tMjResetInfo="Reset Majestic configuration to its original state, as supplied with the firmware." +tMjRestoreInfo="Restore your custom Majestic configuration from a backup copy of majestic.yaml file." +tMsgAnotherProcessRunning="Another progress is running." +tMsgAttentionErrors="ATTENTION! There were errors!" +tMsgCannotExtractMajestic="Cannot extract Majestic." +tMsgCannotReadUploadedFile="Cannot read uploded file!" +tMsgCannotRetrieveUpdate="Cannot retrieve update from the server." +tMsgChangesSaved="Changes saved." +tMsgCommandExecuted="Command executed." +tMsgDestructiveActions="Attention: Destructive Actions!" +tMsgEmptyTimezoneName="Empty timezone name. Skipping." +tMsgEmptyTimezoneValue="Empty timezone value. Skipping." +tMsgIpeyeIsDisabled="Cannot proceed because IP EYE support is disabled." +tMsgKnowWhatYouDo="Make sure you know what you are doing." +tMsgMajesticIsNotSupported="Majestic is not supported on this system." +tMsgNoChangesFound="No changes found." +tMsgNoSpaceToExtractMajestic="Not enough space to update Majestic." +tMsgNoUploadedFileFound="No file found! Did you forget to upload?" +tMsgPasswordDoesntMatch="Password does not match its confirmation!" +tMsgPasswordHasSpaces="Password cannot have spaces!" +tMsgPasswordIsEmpty="Password is empty. Not changing." +tMsgPasswordIsTooShort="Password cannot be shorter than 6 characters!" +tMsgPasswordNeedsConfirmation="Password requires confirmation!" +tMsgPleaseEnableIpeye="In order to add this camera to the cloud you have to enable IP EYE support first." +tMsgPleaseRestart="Please restart the system!" +tMsgProofOfConcept="Attention! This is only a proof of concept for the prospective subsystem of additional services. No real functionality here." +tMsgPtzNotWorking="Motors not initialized." +tMsgRebooting="Rebooting..." +tMsgRestartNeeded="Restart needed to apply changes." +tMsgSameTimezone="Same timezone. Skipping." +tMsgSameVersion="GitHub version matches the installed one. Nothing to update." +tMsgSetYourOwnPassword="You must set your own secure password!" +tMsgSshKeyBackup="You can back up your existing SSH keys into firmware environment and restore them later, after overlay wiping." +tMsgSshKeyDelete="You can delete saved keys from firmware environment, e.g. to replace them with a new set of keys." +tMsgSshKeyDeleted="key deleted from environment." +tMsgSshKeyExists="key already in backup. You need to delete it before saving a new key." +tMsgSshKeyNotFound="key is not in the environment." +tMsgSshKeyRestore="Restoring previously saved SSH keys from firmware environment will let you keep exsiting client's authenticaion." +tMsgSshKeyRestored="key restored from environment." +tMsgSomethingHappened="Oops. Something happened." +tMsgTelegramCreateChannelHeader="To create a new channel for your Telegram bot:" +tMsgTelegramCreateChannelStep1="Start a chat with" +tMsgTelegramCreateChannelStep2="Enter /start to start a session." +tMsgTelegramCreateChannelStep3="Enter /newbot to create a new bot." +tMsgTelegramCreateChannelStep4="Give your bot channel a name, e.g. cool_cam_bot." +tMsgTelegramCreateChannelStep5="Give your bot a username, e.g. CoolCamBot." +tMsgTelegramCreateChannelStep6="Copy the token assigned to your new bot by the BotFather, and paste it to the form." +tMsgTimezoneNeedsUpdating="\$TZ in system environment needs updating." +tMsgTimezoneUpdated="Timezone updated." +tMgsUnderConstruction="Sorry, some things aren't working yet." +tMsgUploadedFileHasWrongMagic="File magic number does not match. Did you upload a wrong file?" +tMsgUploadedFileIsTooLarge="Uploded file is too large!" +tOverwriteSameVersion="Install even if matches the existing version." +tPageGeneratedOn="Page generated on" +tPageTitleDeviceStatus="Device Status" +tPageTitleFirmware="Firmware Updates" +tPageTitleFirmwareReset="Erasing overlay" +tPageTitleFirmwareUpdate="Upgrading Firmware" +tPageTitleMajesticConfigCompare="Majestic configuration changes" +tPageTitleMajesticGithub="Updating Majestic" +tPageTitleMajesticMaintenance="Majestic Maintenance" +tPageTitleMajesticSettings="Majestic Settings" +tPageTitleMajesticSettingsServices="Majestic Settings: Services" +tPageTitleNetworkAdministration="Network Administration" +tPageTitleNetworkUpdate="Updating Network Settings" +tPageTitleNtpSettings="NTP Settings" +tPageTitlePluginBigbro="BigBro" +tPageTitlePluginBigbroAddDevice="BigBro: Add a device" +tPageTitlePluginIpeye="IP EYE Cloud" +tPageTitlePluginTelegram="Telegram Bot" +tPageTitlePreview="JPEG Preview" +tPageTitlePreviewHelp="Available Endpoints" +tPageTitlePreviewMjpeg="MJPEG Preview" +tPageTitlePreviewVideo="Video Preview" +tPageTitleProgress="Please wait..." +tPageTitleReboot="Rebooting..." +tPageTitleSshKeys="SSH Keys" +tPageTitleTools="Monitoring Tools" +tPageTitleWebConsole="Web Console" +tPageTitleWebuiSettings="Web Interface Access" +tPageTitleWebuiUpdate="Upgrading Web UI" +tPartOf="a part of" +tPoweredBy="Powered by" +tRebootCamera="Reboot camera" +tResetFirmware="Reset firmware." +tResetFirmwareInfo="Revert firmware to its original state by wiping out content of the overlay partition. All custom settings will be lost!" +tResetFirmwareTitle="Wipe overlay partition" +tRootfsFile="rootfs file" +tSensor="Sensor" +tSoC="Processor" +tSoCFamily="Family" +tSoCTemp="Temperature" +tStable="Stable" +tSyncTime="Sync time with an NTP server" +tSystem="System" +tTextAccessPin="Please enter access PIN to add a device." +tUnstable="Unstable" +tUpdateFromBranch="Update from the following branch" +tVersion="Version" +tWanMac="WAN MAC" +tWebConsoleCmdPlaceholder="Type a command and hit Enter" +tWebuiSettingsLanguage="Language" +tWebuiSettingsPassword="Password" +tWebuiSettingsPasswordConfirmation="Confirm Password" +tWebuiSettingsUsername="Username" diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/ru.sh b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/ru.sh new file mode 100755 index 0000000..3842b7d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/locale/ru.sh @@ -0,0 +1,216 @@ +#!/bin/sh +#name:Russian + +tBuild="Сборка" +tButtonAddCameraToCloud="Добавить камеру в облако" +tButtonAddDevice="Добавить устройство" +tButtonDownloadAsPatch="Записать как патч" +tButtonDownloadConfig="Скачать конфиг" +tButtonEnableIpeye="Включить поддержку IP EYE" +tButtonFormSubmit="Записать изменения" +tButtonGoBackToSettings="Вернуться в настройки" +tButtonGoHome="Вернуться в начало" +tButtonInstallUpdate="Установить обновления" +tButtonMjBackup="Скачать настройки" +tButtonMjChanges="Review changes" +tButtonMjReset="Сбросить настройки Majestic" +tButtonMjRestore="Загрузить конфиг" +tButtonReboot="Перезагрузить камеру" +tButtonRefresh="Обновить" +tButtonResetConfig="Сбросить настройки" +tButtonResetFirmware="Сбросить настройки" +tButtonResetToDefaults="Сбросить настройки" +tButtonRestart="Перезагрузить" +tButtonRestoreConfig="Восстановить конфиг" +tButtonRun="Запустить" +tButtonUploadFile="Загрузить файл" +tEditTimezone="Редактировать часовую зону" +tFirmware="Прошивка" +tFlash="Флэш" +tFormShowPasswordTitle="Показать пароль" +tHardware="Оборудование" +tHeaderAddDevice="Добавить устройство" +tHeaderAddFeed="Добавить поток" +tHeaderCamera="Камера" +tHeaderDeviceInfo="Информация об устройстве" +tHeaderDnsResolver="DNS Resolver" +tHeaderFirmware="Прошивка" +tHeaderMjBackup="Архивная копия" +tHeaderMjChanges="Changes" +tHeaderMjReset="Reset" +tHeaderMjRestore="Restore" +tHeaderNetworkAddress="Сетевой адрес" +tHeaderNetworkRouting="Сетевая маршрутизация" +tHeaderNetworkStatus="Состояние сети" +tHeaderNtpConfig="Настройки NTP" +tHeaderNtpServers="Сервера NTP" +tHeaderResources="Файловые ресурсы" +tHeaderSettings="Настройки" +tHeaderSystemInfo="Системная информация" +tHeaderTelegramBot="Бот для Telegram" +tHeaderTimezone="Часовая зона" +tHeaderTopProcesses="20 самых нагружающих задач" +tHeaderUploadKernel="Загрузить ядро" +tHeaderUploadRootfs="Загрузить корневую файловую систему" +tHeaderWebui="Веб-интерфейс" +tHeaderWebuiSettings="Веб-интерфейс" +tHintAccessPin="буквы и цифры, без спецсимволов и знаков препинания" +tHintMakeHostnameUnique="Создайте уникальное имя используя информацию MAC-адреса" +tHintTelegramChatId="Цифровой идентификатор канала для размещения снимков." +tHintTelegramToken="Токен авторизации вашего бота." +tHostname="Имя хоста" +tInstallUpdate="Установка обновлений" +tInstalled="Сейчас" +tKernelFile="kernel file" +tLabelAccessPin="PIN" +tLabelDeviceName="Имя устройства" +tLabelDoNotReboot="Не перезагружать после обновления." +tLabelIpAddress="IP-адрес" +tLabelIpNetmask="Сетевая маска" +tLabelIpeyeCameraName="Имя камеры" +tLabelIpeyeLogin="Логин для облака IP EYE" +tLabelIpeyePassword="Пароль для облака IP EYE" +tLabelIpeyeRtspFeed="RTSP-поток" +tLabelNtpServer="Сервер NTP" +tLabelResetFirmware="Сбросить настройки." +tLabelTelegramChatId="Идентификатор канала" +tLabelTelegramToken="Токен" +tLabelUpgradeKernel="Обновить ядро." +tLabelUpgradeRootfs="Обновить корневую файловую систему." +tLabelVtundServer="Сервер VTUNd" +tLabelZoneData="Конфигурация зоны" +tLabelZoneName="Часовая зона" +tLatest="Доступна" +tMenuCron="Настройки Cron" +tMenuDmesg="Системные сообщения" +tMenuFirmware="Прошивка" +tMenuHttpd="Настройки HTTPd" +tMenuHttpdEnv="Среда HTTPd" +tMenuInformation="Информация" +tMenuLog="Журнал" +tMenuMjInformation="Информация о Majestic" +tMenuMjMaintenance="Операции с Majestic" +tMenuMjServices="Настройки Majestic: Сервисы" +tMenuMjSettings="Настройки Majestic" +tMenuNetwork="Сетевые настройки" +tMenuNtp="Настройки NTP" +tMenuOverview="Обзор" +tMenuPingTrace="Ping и Traceroute" +tMenuPreview="Preview" +tMenuServices="Сервисы" +tMenuSettings="Настройки" +tMenuTools="Утилиты" +tMenuWebConsole="Веб-консоль" +tMenuWebUi="Настройки веб-интерфейса" +tMjBackupFile="Backup file" +tMjBackupInfo="Скачать majestic.yaml, чтобы сохранить изменения в настройках Majestic." +tMjChangesInfo="Сравнить отличия текущих настроек Majestic от конфигурации, поставляемой с прошивкой." +tMjConfigBackup="Сделать бэкап" +tMjConfigChanged="В конфигурации Majestic есть изменения." +tMjConfigEdit="Make changes." +tMjConfigReset="Сбросить конфиг." +tMjConfigResetInfo="Вернуть настройки в исходное состояние. Все изменения будут утеряны! Может стоит сохранить файл текущей конфигурации?" +tMjConfigResetTitle="Восстановить исходную конфигурацию" +tMjConfigSeeChanges="Посмотреть изменения." +tMjConfigUnchanged="Majestic использует исходные настройки." +tMjInBundle="Используется версия Majestic из прошивки." +tMjInOverlay="Majestic установлен в оверлей." +tMjNoSpace="Недостаточно места для установки новой версии Majestic." +tMjResetInfo="Сбросить настройки Majestic в исходное состояние, как поставляется с прошивкой." +tMjRestoreInfo="Восстановить конфигурацию Majestic из сохраненного файла majestic.yaml." +tMsgAnotherProcessRunning="Другой процесс уже работает." +tMsgAttentionErrors="ВНИМАНИЕ! Замечены ошибки!" +tMsgCannotExtractMajestic="Не могу развернуть Majestic." +tMsgCannotReadUploadedFile="Не могу прочитать содержимое загруженного файла!" +tMsgCannotRetrieveUpdate="Не могу скачать обновление с сервера." +tMsgChangesSaved="Изменения записаны." +tMsgCommandExecuted="Команда выполнена." +tMsgDestructiveActions="Внимание: Опасные операции!" +tMsgEmptyTimezoneName="Отсутсвует название часовой зоны." +tMsgEmptyTimezoneValue="Отсутствует конфигурация часовой зоны." +tMsgIpeyeIsDisabled="Для продолжения необходимо включить поддержку IP EYE." +tMsgKnowWhatYouDo="Ты точно знаешь, что ты делаешь?" +tMsgMajesticIsNotSupported="Majestic не поддерживается на этой системе." +tMsgNoChangesFound="Изменения не найдены." +tMsgNoSpaceToExtractMajestic="Недостаточно места для обновления Majestic." +tMsgNoUploadedFileFound="Файл не найден! Вы не забыли загрузить файл?" +tMsgPasswordDoesntMatch="Пароль отличается от подтверждения!" +tMsgPasswordHasSpaces="Пароль не может содержать пробелы!" +tMsgPasswordIsEmpty="Пустой пароль. Пароль не будет изменен." +tMsgPasswordIsTooShort="Пароль не может быть короче 6 символов!" +tMsgPasswordNeedsConfirmation="Пароль требует подтверждения!" +tMsgPleaseEnableIpeye="Для добавления камеры в облако вам надо сначала включить поддержку IP EYE." +tMsgPleaseRestart="Пожалуйста, перезагрузите систему!" +tMsgProofOfConcept="Внимание! Это только пробная версия того, что может развится в механизм для подключения дополнительных сервисов. Пока здесь ничего не работает." +tMsgPtzNotWorking="Двигатели не инициализированы." +tMsgRebooting="Перезагрузка..." +tMsgRestartNeeded="Требуется перезагрузка для применения изменений." +tMsgSameTimezone="Та же часовая зоны." +tMsgSameVersion="Версия на GitHub совпадает с установленной сейчас. Нечего обновлять." +tMsgSetYourOwnPassword="Установите свой собственный пароль!" +tMsgSomethingHappened="Оп-па. Фигня какая-то..." +tMsgTelegramCreateChannelHeader="Чтобы создать новый канал Telegram для вашего бота:" +tMsgTelegramCreateChannelStep1="Начните чат с" +tMsgTelegramCreateChannelStep2="Введите команду /start чтобы начать сессию." +tMsgTelegramCreateChannelStep3="Введите команду /newbot чтобы создать нового бота." +tMsgTelegramCreateChannelStep4="Дайте имя вашему каналу, например cool_cam_bot." +tMsgTelegramCreateChannelStep5="Дайте имя вашему боту, напрмер CoolCamBot." +tMsgTelegramCreateChannelStep6="Скопируйте токен, который BotFather выдал вашему боту, и занесите его в форму." +tMsgTimezoneNeedsUpdating="Необходимо обновить переменную \$TZ в системном окружении." +tMsgTimezoneUpdated="Часовая зона изменена." +tMgsUnderConstruction="Извините, не всё ещё работает." +tMsgUploadedFileHasWrongMagic="Не совпадает заголовок файла. Вы загрузили не тот файл?" +tMsgUploadedFileIsTooLarge="Загруженный файл имеет слишком большой размер!" +tOverwriteSameVersion="Установить, даже если это та же версия." +tPageGeneratedOn="Страница создана" +tPageTitleDeviceStatus="Статус устройства" +tPageTitleFirmware="Обновление прошивки" +tPageTitleFirmwareReset="Стирание оверлея" +tPageTitleFirmwareUpdate="Обновление прошивки" +tPageTitleMajesticConfigCompare="Изменения в настройках Majestic" +tPageTitleMajesticGithub="Обновление Majestic" +tPageTitleMajesticMaintenance="Обслужвание Majestic" +tPageTitleMajesticSettings="Настройки Majestic" +tPageTitleMajesticSettingsServices="Настройки Majestic: Сервисы" +tPageTitleNetworkAdministration="Администрироание сети" +tPageTitleNetworkUpdate="Обновление сетевых настроек" +tPageTitleNtpSettings="Настройки NTP" +tPageTitlePluginBigbro="BigBro" +tPageTitlePluginBigbroAddDevice="BigBro: Добавить устройство" +tPageTitlePluginIpeye="Облачный сервис IP EYE" +tPageTitlePluginTelegram="Бот для Telegram" +tPageTitlePreview="JPEG Preview" +tPageTitlePreviewHelp="Available Endpoints" +tPageTitlePreviewMjpeg="MJPEG Preview" +tPageTitlePreviewVideo="Video Preview" +tPageTitleProgress="Подождите..." +tPageTitleReboot="Перезагрузка..." +tPageTitleTools="Monitoring Tools" +tPageTitleWebConsole="Веб-консоль" +tPageTitleWebuiSettings="Настройки веб-интерфейса" +tPageTitleWebuiUpdate="Обновление веб-интерфейса" +tPartOf="из пакета" +tPoweredBy="Работает на" +tRebootCamera="Перезагрузить камеру" +tResetFirmware="Сбросить настройки." +tResetFirmwareInfo="Вернуть прошивку в её исходное состояние, удалив содержимое раздела с изменениями. Все настройки будут потеряны!" +tResetFirmwareTitle="Стереть оверлей раздел." +tRootfsFile="rootfs file" +tSensor="Сенсор" +tSoC="Процессор" +tSoCFamily="Семейство" +tSoCTemp="Температура" +tStable="Stable" +tSyncTime="Синхронизировать время с NTP-сервером" +tSystem="Система" +tTextAccessPin="Введите PIN для добавления устройства." +tUnstable="Unstable" +tUpdateFromBranch="Загрузить обновления из ветки" +tVersion="Версия" +tWanMac="WAN MAC" +tWebConsoleCmdPlaceholder="Введите команду и нажмите клавишу Enter" +tWebuiSettingsLanguage="Язык интерфейса" +tWebuiSettingsPassword="Пароль" +tWebuiSettingsPasswordConfirmation="Подтверждение пароля" +tWebuiSettingsUsername="Имя пользователся" + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-actions.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-actions.cgi new file mode 100755 index 0000000..c66ed03 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-actions.cgi @@ -0,0 +1,53 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleMajesticMaintenance" +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderMjBackup %>
+
+

<%= $tMjBackupInfo %>

+ <%= $tButtonMjBackup %> +
+
+
+
+
+
<%= $tHeaderMjRestore %>
+
+
+
+

<%= $tMjRestoreInfo %>

+ +
+ +
+
+ +
+
+
+
+
+
+
<%= $tHeaderMjChanges %>
+
+

<%= $tMjChangesInfo %>

+ <%= $tButtonMjChanges %> +
+
+
+
+
+
<%= $tHeaderMjReset %>
+
+

<%= $tMjResetInfo %>

+ <%= $tButtonMjReset %> +
+
+
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-aspatch.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-aspatch.cgi new file mode 100755 index 0000000..ae26173 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-aspatch.cgi @@ -0,0 +1,6 @@ +#!/bin/sh +time=$(date +"%s") +echo "Content-Type: text/plain" +echo "Content-Disposition: attachment; filename=\"majestic.${time}.patch\"" +echo "" +diff /rom/etc/majestic.yaml /etc/majestic.yaml diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-backup.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-backup.cgi new file mode 100755 index 0000000..5a6e340 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-backup.cgi @@ -0,0 +1,8 @@ +#!/bin/sh +file=/etc/majestic.yaml +echo "Content-Type: application/x-yaml" +echo "Content-Length: $(ls -l $file | xargs | cut -d " " -f 5)" +echo "Content-Encoding: gzip" +echo "Content-Disposition: attachment; filename=\"$(basename $file)\"" +echo "" +gzip -c $file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-compare.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-compare.cgi new file mode 100755 index 0000000..8c6e0fd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-compare.cgi @@ -0,0 +1,23 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleMajesticConfigCompare" +command="diff /rom/etc/majestic.yaml /etc/majestic.yaml" +output=$($command 2>&1) +%> +<%in _header.cgi %> +<% +# diff returns 0 on no difference, 1 on difference, 2+ on errors +# checking exit status won't work here +# checking for any output instead +if [ -z "$output" ]; then %> +<% report_info "$tMsgNoChangesFound" %> +<% else %> +<% report_command_info "$command" "$output" %> +<% fi %> +

+<%= $tButtonDownloadConfig %> +<%= $tButtonDownloadAsPatch %> +<%= $tButtonRestoreConfig %> +

+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-reset.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-reset.cgi new file mode 100755 index 0000000..7bc3a34 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-reset.cgi @@ -0,0 +1,13 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +command="cp -f /rom/etc/majestic.yaml /etc/majestic.yaml" +output=$(cp -f /rom/etc/majestic.yaml /etc/majestic.yaml 2>&1) +if [ $? -ne 0 ]; then %> +<%in _header.cgi %> +<% report_command_error "$command" "$output" %> +<%in _footer.cgi %> +<% else + redirect_to "/cgi-bin/majestic-config-compare.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-restore.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-restore.cgi new file mode 100755 index 0000000..0b01c97 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-config-restore.cgi @@ -0,0 +1,25 @@ +#!/usr/bin/haserl --upload-limit=1024 --upload-dir=/tmp +<%in _common.cgi %> +<% +config_file=/etc/majestic.yaml +magicnum="23206d616a6573746963" +error="" +if [ -z "$POST_upfile_name" ]; then + error="$tMsgNoUploadedFileFound" +elif [ ! -r "$POST_upfile" ]; then + error="$tMsgCannotReadUploadedFile" +elif [ "$(wc -c "$POST_upfile" | awk '{print $1}')" -gt "$maxsize" ]; then + error="$tMsgUploadedFileIsTooLarge $(wc -c "$POST_upfile" | awk '{print $1}') > ${maxsize}." +#elif [ "$magicnum" -ne "$(xxd -p -l 10 "$POST_upfile")" ]; then +# error="$tMsgUploadedFileHasWrongMagic $(xxd -p -l 10 "$POST_upfile") != $magicnum" +fi +if [ ! -z "$error" ]; then %> +<%in _header.cgi %> +<% report_error "$error" %> +<%in _footer.cgi %> +<% else +# yaml-cli -i ${POST_upfile} -o /tmp/majestic.yaml # FIXME: sanitize +mv /tmp/majestic.yaml /etc/majestic.yaml +redirect_to "/cgi-bin/majestic-config-compare.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-github.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-github.cgi new file mode 100755 index 0000000..35d752f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-github.cgi @@ -0,0 +1,71 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +check_url() { + status_code=$(curl --silent --head ${mj_bz2_url}) + status_code=$(echo "$status_code" | grep "HTTP/1.1" | cut -d " " -f 2) + [ ${status_code} = "200" ] && return=1 +} + +get_hardware_info +get_firmware_info +get_software_info + +page_title="$tPageTitleMajesticGithub" +mj_bz2_url="http://openipc.s3-eu-west-1.amazonaws.com/majestic.${soc_family}.${fw_variant}.master.tar.bz2" +mj_bz2_file="/tmp/majestic.tar.bz2" +mj_tmp_file="/tmp/majestic" + +if [ ! -f /rom/${mj_bin_file} ]; then + error="$tMsgMajesticIsNotSupported" +elif [ check_url -ne 1 ]; then + error="$tMsgCannotRetrieveUpdate" +else + free_space=$(df | grep /overlay | xargs | cut -d" " -f4) + mj_filesize_old=0 + [ -f /overlay/root/${mj_bin_file} ] && mj_filesize_old=$(ls -s ${mj_bin_file} | xargs | cut -d " " -f 1) + available_space=$(( $free_space + $mj_filesize_old - 1 )) + + log="curl -s -k -L -o ${mj_bz2_file} ${mj_bz2_url}\n" + log="${log}$(curl -s -k -L -o ${mj_bz2_file} ${mj_bz2_url} 2>&1)" + log="${log}bunzip2 -c ${mj_bz2_file} | tar -x -C /tmp/ ./majestic\n" + log="${log}$(bunzip2 -c ${mj_bz2_file} | tar -x -C /tmp/ ./majestic 2>&1)" + if [ $? -ne 0 ]; then + error="$tMsgCannotExtractMajestic" + log="${log}rm -f ${mj_bz2_file}\n" + log="${log}$(rm -f ${mj_bz2_file} 2>&1)" + log="${log}rm -f ${mj_tmp_file}\n" + log="${log}$(rm -f ${mj_tmp_file} 2>&1)" + else +# mj_filesize_new=$(curl https://openipc.s3-eu-west-1.amazonaws.com/majestic.${soc_family}.master.tar.meta) + mj_filesize_new=$(ls -s ${mj_tmp_file} | xargs | cut -d " " -f 1) + if [ $mj_filesize_new -gt $available_space ]; then + error="$tMsgNoSpaceToExtractMajestic ${mj_filesize_new} KB > ${available_space} KB." + log="${log}rm -f ${mj_tmp_file}\n" + log="${log}$(rm -f ${mj_tmp_file} 2>&1)" + fi + fi + log="${log}rm -f ${mj_bz2_file}\n" + log="${log}$(rm -f ${mj_bz2_file} 2>&1)" +fi +%> +<%in _header.cgi %> +<% +if [ ! -z "$error" ]; then + report_error "$error" + report_log "$log" +else +%> +
+<%
+  echo -e "$log"
+  echo "killall majestic"
+  echo "$(killall majestic 2>&1)"
+  echo "mv -f ${mj_tmp_file} ${mj_bin_file}"
+  echo "$(mv -f ${mj_tmp_file} ${mj_bin_file} 2>&1)"
+  echo "$tMsgRebooting"
+  echo "$(reboot)"
+fi
+%>
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-common.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-common.cgi new file mode 100755 index 0000000..bcf110e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-common.cgi @@ -0,0 +1,121 @@ +<%in _common.cgi %> +<% get_system_info %> +<%in _mj.cgi %> +<%in _header.cgi %> +
+
+<% +mj=$(echo "$mj" | sed "s/ /_/g" | grep -E $only) +for line in $mj; do + param=${line%%|*}; name=${param#.}; domain=${name%.*}; name=${name//./-}; line=${line#*|} + label=${line%%|*}; line=${line#*|} + units=${line%%|*}; line=${line#*|} + type=${line%%|*}; line=${line#*|} + options=${line%%|*}; line=${line#*|} + placeholder=${line%%|*}; line=${line#*|} + hint=${line%%|*}; line=${line#*|} + value=$(yaml-cli -g "$param") + + if [ "$olddomain" != "$domain" ]; then + [ -n "$olddomain" ] && echo -n '
' + olddomain="$domain" + echo "
${domain}
" + fi + + echo -n "
" + case "$type" in + boolean) + echo -n "
" + [ "true" = "$value" ] && checked=" checked" || checked="" + echo -n "
" + [ -n "$hint" ] && echo -n "

${hint//_/ }

" + echo -n "
" + ;; + hidden) + echo -n "" + ;; + number) + echo -n "
" + [ -n "$units" ] && echo -n "${units}" + echo -n "
" + [ -n "$hint" ] && echo -n "

${hint//_/ }

" + ;; + range) + echo -n "
" + if [ ! -z $(echo "${options}" | grep -E auto) ]; then + [ "auto" = "$value" ] && checked=" checked" || checked="" + echo -n "" + fi + [ "auto" = "$value" ] && readonly=" readonly" || readonly="" + echo -n "" + [ -n "$units" ] && echo -n "${units}" + echo -n "
" + [ -n "$hint" ] && echo -n "

${hint//_/ }

" + ;; + select) + echo -n "
" + [ -n "$units" ] && echo -n "${units}" + echo -n "
" + [ -n "$hint" ] && echo -n "

${hint//_/ }

" + ;; + string) + [ "$name" != "isp-sensorConfig" ] && placeholder=${placeholder//_/ } + echo -n "
" + [ -n "$units" ] && echo -n "${units}" + echo -n "
" + [ -n "$hint" ] && echo -n "

${hint//_/ }

" + echo -n "
" + ;; + *) + ;; + esac + echo "" +done +%> + + + + + + +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-general.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-general.cgi new file mode 100755 index 0000000..f613f77 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-general.cgi @@ -0,0 +1,7 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +only='(audio|image|isp|jpeg|mjpeg|motionDetect|nightMode|osd|raw|system|video0|video1|watchdog)' +page_title="$tPageTitleMajesticSettings" +%> +<%in majestic-settings-common.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-services.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-services.cgi new file mode 100755 index 0000000..270e47c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-services.cgi @@ -0,0 +1,7 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +only='(cloud|hls|ipeye|netip|onvif|records|rtsp|youtube)' +page_title="$tPageTitleMajesticSettingsServices" +%> +<%in majestic-settings-common.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-update.cgi new file mode 100755 index 0000000..73fe7df --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/majestic-settings-update.cgi @@ -0,0 +1,71 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +mj_conf=/etc/majestic.yaml +orig_yaml=/tmp/majestic.yaml.original +temp_yaml=/tmp/majestic.yaml + +if [ ! -z "$DEBUG" ]; then %> +<%in _debug.cgi %> +<% + cp -f ${mj_conf} ${orig_yaml} +fi + +cp -f ${mj_conf} ${temp_yaml} +debug_message "cp -f ${mj_conf} ${temp_yaml}" + +data="$(printenv|grep POST_)" +IFS=$'\n' # make newlines the only separator +for name in $data; do + key=".$(echo $name | sed 's/^POST_//' | cut -d= -f1 | sed 's/-/./g')" + value="$(echo $name | cut -d= -f2)" + + # validation and normalization + [ "$key" = ".go.to" ] && goto=${value} && continue + [ "$key" = ".track" ] && continue + [ "$key" = ".reset" ] && continue + [ "$key" = ".netip.password.plain" ] && continue + if [ "$key" = ".image.rotate" ]; then + if [ "$value" = "0°" ]; then + value="none" + else + value=${value//°/} + fi + fi + + oldvalue=$(yaml-cli -g "$key" -i ${temp_yaml}) + if [ -z "$value" ]; then + if [ ! -z "$oldvalue" ]; then + yaml-cli -d $key -i ${temp_yaml} -o ${temp_yaml} + debug_message "yaml-cli -d $key -i ${temp_yaml} -o ${temp_yaml}" + fi + else + if [ "$oldvalue" != "$value" ]; then + yaml-cli -s $key "$value" -i ${temp_yaml} -o ${temp_yaml} + debug_message "yaml-cli -s $key "$value" -i ${temp_yaml} -o ${temp_yaml}" + fi + fi +done + +if [ ! -z $(diff -q ${temp_yaml} ${mj_conf}) ]; then + cp -f ${temp_yaml} ${mj_conf} + debug_message "cp -f ${temp_yaml} ${mj_conf}" +fi + +rm ${temp_yaml} +debug_message "rm ${temp_yaml}" + +if [ -z "$DEBUG" ]; then + killall -1 majestic + if [ -n "$goto" ]; then + redirect_to ${goto} + else + redirect_to "/cgi-bin/majestic-config-compare.cgi" + fi +else + debug_message "diff ${orig_yaml} ${mj_conf}" + diff ${orig_yaml} ${mj_conf} +# rm ${orig_yaml} + debug_message "done." +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/mpreview.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/mpreview.cgi new file mode 100755 index 0000000..934c102 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/mpreview.cgi @@ -0,0 +1,31 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% page_title="Camera Preview" +ipaddr=$(printenv | grep HTTP_HOST | cut -d= -f2 | cut -d: -f1) +%> +<%in _mheader.cgi %> +
+
+ +
+
+
+ + + + + + + + +
  + <% tbutton "focus-plus.svg" "Focus pluss" %>
+ <% tbutton "focus-auto.svg" "Focus auto" %>
+ <% tbutton "focus-minus.svg" "Focus minuss" %>
  + <% tbutton "zoom-in.svg" "Zoom ins" %>

+ <% tbutton "zoom-out.svg" "Zoom outs" %>
 
+ + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-reset.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-reset.cgi new file mode 100755 index 0000000..c7cb2cd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-reset.cgi @@ -0,0 +1,13 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +command="cp /rom/etc/ntp.conf /etc/ntp.conf" +output=$(cp /rom/etc/ntp.conf /etc/ntp.conf 2>&1) +if [ $? -ne 0 ]; then %> +<%in _header.cgi %> +<% report_command_error "$command" "$output" %> +<%in _footer.cgi %> +<% else + redirect_to "/cgi-bin/network-ntp.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-update.cgi new file mode 100755 index 0000000..473f9f0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp-update.cgi @@ -0,0 +1,12 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +truncate -s 0 /tmp/ntp.conf +for i in $(printenv | grep POST_ | sort 2>&1); do + s=$(echo $i | cut -d= -f2); + [ ! -z "$s" ] && echo "server $s iburst" >> /tmp/ntp.conf +done +mv /tmp/ntp.conf /etc/ntp.conf +flash_save "success" "NTP servers updated." +redirect_to "/cgi-bin/network-ntp.cgi" +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp.cgi new file mode 100755 index 0000000..ad1c675 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-ntp.cgi @@ -0,0 +1,122 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info + +page_title="$tPageTitleNtpSettings" + +check_env_tz() { + if [ "$(cat /etc/TZ)" != "$TZ" ]; then + echo "
" \ + "

$tMsgTimezoneNeedsUpdating $tMsgPleaseRestart

" \ + "$tButtonRestart" \ + "
" + fi +} +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderTimezone %>
+
+
+
+ +
+ + +
+
+
+ +
+ +
+
+ +
+
+
+ # cat /etc/TZ +
<% cat /etc/TZ %>
+ # echo $TZ +
<% echo $TZ %>
+ # date +
<% date %>
+ <% check_env_tz %> +
+
+
+
+
+
<%= $tHeaderNtpServers %>
+
+
+ <% + for i in 0 1 2 3; do + x=$(expr $i + 1) + ip=$(sed -n ${x}p /etc/ntp.conf | cut -d " " -f 2) + echo "
" + echo "" + echo "
" + echo "" + echo "
" + echo "
" + done + %> + + <%= $tButtonResetToDefaults %> +
+
+
+ # cat /etc/ntp.conf +
<% cat /etc/ntp.conf %>
+
+
+
+
+ + +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-tz-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-tz-update.cgi new file mode 100755 index 0000000..c401018 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-tz-update.cgi @@ -0,0 +1,16 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +if [ -z "$POST_tz_name" ]; then + flash_save "warning" "$tMsgEmptyTimezoneName" +elif [ -z "$POST_tz_data" ]; then + flash_save "warning" "$tMsgEmptyTimezoneValue" +elif [ "$(cat /etc/TZ)" = "$POST_tz_data" ]; then + flash_save "warning" "$tMsgSameTimezone" +else + echo "${POST_tz_data}" > /etc/TZ + echo "${POST_tz_name}" > /etc/tzname + flash_save "success" "$tMsgTimezoneUpdated" +fi +redirect_to "/cgi-bin/network-ntp.cgi" +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-update.cgi new file mode 100755 index 0000000..52ea8e9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network-update.cgi @@ -0,0 +1,57 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleNetworkUpdate" + +if [ -z "$POST_dhcp" ]; then + [ -z "$POST_ipaddr" ] && error="IP address cannot be empty." + [ -z "$POST_netmask" ] && error="Networking mask cannot be empty." + [ -z "$POST_gateway" ] && error="Gateway IP address cannot be empty." + [ -z "$POST_dns1" ] && error="Nameserver address cannot be empty." + [ -z "$POST_dns2" ] && error="Nameserver address cannot be empty." +fi + +if [ -n "$error" ]; then + flash_save "danger" "$error" + redirect_to "/cgi-bin/network.cgi" +fi + +tmp_file=/tmp/interfaces + +if [ -n "$POST_hostname" ]; then + oldhostname=$(cat /etc/hostname) + if [ "$POST_hostname" != "$oldhostname" ]; then + echo ${POST_hostname} > /etc/hostname + hostname ${POST_hostname} + sed -i 's/127.0.1.1.*${oldhostname}/127.0.1.1\t${POST_hostname}/g' /etc/hosts + killall udhcpc + udhcpc -x hostname:${POST_hostname} -T 1 -t 5 -R -b -O search + fi +fi + +cat /etc/network/interfaces > ${tmp_file} +sed -i '/^auto eth0$/,/^$/d' ${tmp_file} +if [ ! -z "$POST_dhcp" ]; then + echo "auto eth0 +iface eth0 inet dhcp + hwaddress ether \$(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF) +" >> ${tmp_file} +else + echo "auto eth0 +iface eth0 inet static + hwaddress ether \$(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF) + address ${POST_ipaddr} + netmask ${POST_netmask} + gateway ${POST_gateway} + pre-up echo -e \"nameserver ${POST_dns1}\nnameserver ${POST_dns2}\n\" >/tmp/resolv.conf +" >> ${tmp_file} +fi +mv ${tmp_file} /etc/network/interfaces +%> +<%in _header.cgi %> +
+

<%= $tMsgRestartNeeded %>

+

<%= $tButtonReboot %>

+
+

<%= $tButtonGoBackToSettings %>

+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network.cgi new file mode 100755 index 0000000..949b876 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/network.cgi @@ -0,0 +1,145 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +page_title="$tPageTitleNetworkAdministration" +dhcp=$(cat /etc/network/interfaces | grep "eth0 inet" | grep dhcp) +ipaddr=$(ifconfig eth0 | grep "inet " | tr ':' ' ' | awk '{print $3}') +netmask=$(ifconfig eth0 | grep "inet " | cut -d: -f4) +gateway=$(ip r | grep default | cut -d' ' -f3) +dns1=$(cat /etc/resolv.conf | grep nameserver | sed -n 1p | cut -d' ' -f2) +dns2=$(cat /etc/resolv.conf | grep nameserver | sed -n 2p | cut -d' ' -f2) + +checked() { + [ -n "$dhcp" ] && echo -n " checked" +} +disabled() { + [ -n "$dhcp" ] && echo -n " disabled" +} +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderSettings %>
+
+
+ +
+ +
+ +
+ <%= $tHintMakeHostnameUnique %> (<%= $macaddr %>). +
+
+ +
+
+ > +
+
+ > + +
+
+
+
+
+
+ +
+ > +
+
+
+ +
+ > +
+
+
+ +
+ > +
+
+
+ +
+ > +
+
+ +
+
+
+
+
+ +
+
+
+
+ # cat /etc/network/interfaces +
<% cat /etc/network/interfaces %>
+
+
+
+ +
+
+
<%= $tHeaderNetworkAddress %>
+
+ # ip address +
<% ip address | sed "s//\>/g" %>
+
+
+
+
+
+
<%= $tHeaderNetworkRouting %>
+
+ # ip route list +
<% ip route list %>
+
+
+
+
+
+
<%= $tHeaderNetworkStatus %>
+
+ # netstat -tulpan +
<% netstat -tulpan %>
+
+
+
+
+
+
<%= $tHeaderDnsResolver %>
+
+ # cat /etc/resolv.conf +
<% cat /etc/resolv.conf 2>&1 %>
+
+
+
+
+
+
<%= $tHeaderNtpConfig %>
+
+ # cat /etc/ntp.conf +
<% cat /etc/ntp.conf 2>&1 %>
+
+
+
+
+ +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/night.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/night.cgi new file mode 100755 index 0000000..dcad8fd --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/night.cgi @@ -0,0 +1,22 @@ +#!/usr/bin/haserl +<% +case "$POST_mode" in + on) + curl http://admin:@127.0.0.1/night/on + ;; + off) + curl http://admin:@127.0.0.1/night/off + ;; + toggle) + curl http://admin:@127.0.0.1/night/toggle + ;; + *) + ;; +esac +echo "HTTP/1.1 200 OK" +echo "Date: $(TZ=GMT date +"%a, %d %b %Y %T %Z")" +echo "Content-Type: text/plain; charset=utf-8" +echo "Server: httpd" +echo "" +echo "200 OK" +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ntp-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ntp-update.cgi new file mode 100755 index 0000000..0b60c1d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ntp-update.cgi @@ -0,0 +1,13 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +command="/usr/sbin/ntpd -q -d -n" +output=$(/usr/sbin/ntpd -q -d -n 2>&1) +if [ $? -ne 0 ]; then %> +<%in _header.cgi %> +<% report_command_error "$command" "$output" %> +<%in _footer.cgi %> +<% else + redirect_to "/cgi-bin/status.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-bigbro.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-bigbro.cgi new file mode 100755 index 0000000..599c471 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-bigbro.cgi @@ -0,0 +1,61 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +plugin="bigbro" +page_title="$tPageTitlePluginBigbro" +config_file="/etc/${plugin}.cfg" +[ ! -f "$config_file" ] && touch ${config_file} + +if [ -n "$POST_pin" ]; then + pin="$POST_pin" + signature=$(echo -ne "$pin" | md5sum | awk '{print $1}') + sed -d /^${pin}:/ ${config_file} + echo "${pin}:${signature}" >> ${config_file} + redirect_to "?pin=${pin}" +fi +%> +<%in _header.cgi %> +
<%= $tMsgProofOfConcept %>
+<% +if [ -n "$GET_new" ]; then + page_title="$tPageTitlePluginBigbroAddDevice" +%> +
+
+
+
<%= $tHeaderAddDevice %>
+
+
+
+

<%= $tTextAccessPin %>

+ +
+ +
<%= $tHintAccessPin %>
+
+
+ +
+
+
+
+
+<% +elif [ -n "$GET_pin" ]; then + pin="$GET_pin" + signature=$(grep "^${pin}" ${config_file} | cut -d: -f2) +%> +

<%= ${pin} %>

+

<%= ${signature} %>

+

List of devices

+<% else %> +

List of devices

+

add a device

+
+<% for device in $(cat ${config_file}); do %> +
<%= ${device%:*} %>
+
<%= ${device##*:} %>
+<% done %> +
+<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-ipeye.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-ipeye.cgi new file mode 100755 index 0000000..52792c1 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-ipeye.cgi @@ -0,0 +1,70 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +plugin="ipeye" +page_title="$tPageTitlePluginIpeye" +%> +<%in _header.cgi %> +
<%= $tMsgProofOfConcept %>
+<% if [ "$(yaml-cli -g .ipeye.enabled)" != "true" ]; then %> +
+

<%= $tMsgIpeyeIsDisabled %>

+

<%= $tMsgPleaseEnableIpeye %>

+
+ + + +
+
+<% else %> +
+
+
+
<%= tHeaderAddFeed %>
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+
+

IP EYE Logo

+

www.ipeye.ru

+

Don't have an account? Sign-up here

+
+
+ +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-telegram.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-telegram.cgi new file mode 100755 index 0000000..46a1843 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-telegram.cgi @@ -0,0 +1,77 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +plugin="telegram" +page_title="$tPageTitlePluginTelegram" +config_file="/etc/${plugin}.cfg" +[ ! -f "$config_file" ] && touch ${config_file} + +if [ -n "$POST_action" ] && [ "$POST_action" = "reset" ]; then + mv ${config_file} ${config_file}.backup + redirect_to "/cgi-bin/plugin-telegram.cgi" +fi + +if [ -n "$POST_token" ]; then + token="$POST_token" + channel="$POST_channel" + echo "${token}" > ${config_file} + echo "${channel}" >> ${config_file} + redirect_to "/cgi-bin/plugin-telegram.cgi" +fi + +token=$(sed -n 1p ${config_file}) +channel=$(sed -n 2p ${config_file}) +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderTelegramBot %>
+
+
+
+
+ +
+
+ > +
+
+ <%= $tHintTelegramToken %> +
+
+
+
+ +
+
+ > +
+
+ <%= $tHintTelegramChatId %> +
+
+ <% if [ $(cat /etc/telegram.cfg | wc -l) -ge 2 ]; then %> + + <% else %> + + <% fi %> +
+
+
+
+<% if [ -z "$token" ]; then %> +
+
<%= $tMsgTelegramCreateChannelHeader %>
+
    +
  1. <%= $tMsgTelegramCreateChannelStep1 %> BotFather.
  2. +
  3. <%= $tMsgTelegramCreateChannelStep2 %>
  4. +
  5. <%= $tMsgTelegramCreateChannelStep3 %>
  6. +
  7. <%= $tMsgTelegramCreateChannelStep4 %>
  8. +
  9. <%= $tMsgTelegramCreateChannelStep5 %>
  10. +
  11. <%= $tMsgTelegramCreateChannelStep6 %>
  12. +
+
+<% fi %> +
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-vtun.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-vtun.cgi new file mode 100755 index 0000000..6fbeb98 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/plugin-vtun.cgi @@ -0,0 +1,52 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +plugin="vtun" +page_title="$tPageTitlePluginVtun" +service_file=/etc/init.d/S98vtun + +if [ -n "$POST_action" ] && [ "$POST_action" = "reset" ]; then + killall tunnel + killall vtund + rm ${service_file} + redirect_to "/cgi-bin/plugin-vtun.cgi" +fi + +if [ -n "$POST_server" ]; then + echo -e "#!/bin/sh\n\ntunnel $POST_server" > ${service_file} + chmod +x ${service_file} + ${service_file} + redirect_to "/cgi-bin/plugin-vtun.cgi" +fi +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderVtun %>
+
+
+ <% if [ -f "$service_file" ]; then %> + <%= $service_file %> +
<% echo "$(cat $service_file)" %>
+ + <% else %> +
+
+ +
+
+ > +
+
+ <%= $tHintVtunServer %> +
+
+ + <% fi %> +
+
+
+
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-help.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-help.cgi new file mode 100755 index 0000000..db966bf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-help.cgi @@ -0,0 +1,116 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +page_title="$tPageTitlePreviewHelp" +%> +<%in _header.cgi %> +

Доступна подробная информацияin the wiki.

+
+
+
+
Веб-страница
+
+
+
http://<%= $ipaddr %>/
+
Прямая трансляция HLS — в веб-браузер.
+
http://<%= $ipaddr %>/mjpeg.html
+
MJPEG & MP3 — в веб-браузер.
+
+
+
+
+
+
+
Видеопотоки
+
+
+
http://<%= $ipaddr %>/mjpeg
+
MJPEG Видеопоток
+
http://<%= $ipaddr %>/video.mp4
+
fMP4 Видеопоток
+
rtsp://<%= $ipaddr %>/stream=0
+
RTSP основной Видеопоток ("video0").
+
rtsp://<%= $ipaddr %>/stream=1
+
RTSP вторичный Видеопоток ("video1").
+
+
+
+
+
+
+
Кадры
+
+
+
http://<%= $ipaddr %>/image.jpg
+
Снимок в формате JPEG.
+ Дополнительные параметры: +
    +
  • width, height - размер результирующего изображения
  • +
  • qfactor - JPEG фактор качества (1-99)
  • +
  • color2gray - преобразовать в оттенки серого
  • +
  • crop - обрезать полученное изображение как 16x16x320x320
  • +
+
+
http://<%= $ipaddr %>/image.heif
+
Снимок в формате HEIF.
+
http://<%= $ipaddr %>/image.yuv
+
Снимок в формате YUV420.
+
http://<%= $ipaddr %>/image.dng
+
Снимок в формате Adobe DNG (raw)
+ (только для v>=2 процессоров HiSilicon).
+
+
+
+
+
+
+
Аудиопотоки
+
+
+
http://<%= $ipaddr %>/audio.opus
+
Opus аудиопоток.
+
http://<%= $ipaddr %>/audio.pcm
+
Raw PCM аудиопоток.
+
http://<%= $ipaddr %>/audio.m4a
+
AAC аудиопоток.
+
http://<%= $ipaddr %>/audio.mp3
+
MP3 аудиопоток.
+
http://<%= $ipaddr %>/audio.alaw
+
A-law сжатый аудиопоток.
+
http://<%= $ipaddr %>/audio.ulaw
+
μ-law сжатый аудиопоток.
+
http://<%= $ipaddr %>/audio.g711a
+
G.711 A-law аудиопоток.
+
+
+
+
+
+
+
Ночной API
+
+
+
http://<%= $ipaddr %>/night/on
+
Включить ночной режим..
+
http://<%= $ipaddr %>/night/off
+
Выключить ночной режим.
+
http://<%= $ipaddr %>/night/toggle
+
Переключить текущий ночной режим.
+
+
+
+
+
+
+
Мониторинг
+
+
+
http://<%= $ipaddr %>/metrics
+
Совместимость со стандартным экспортером Node и специфичные для приложения метрики для Prometheus.
+
+
+
+
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-mjpeg.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-mjpeg.cgi new file mode 100755 index 0000000..75284bb --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-mjpeg.cgi @@ -0,0 +1,77 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +page_title="$tPageTitlePreviewMjpeg" +size=$(yaml-cli -g .mjpeg.size) +[ -z "$size" ] && size="640x480" +size_w=${size%x*}; size_h=${size#*x} %> +<%in _header.cgi %> +
+
+MJPEG Preview +
+
+<%in _joystick.cgi %> + +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-video.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-video.cgi new file mode 100755 index 0000000..2903573 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview-video.cgi @@ -0,0 +1,20 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +page_title="$tPageTitlePreviewVideo" +%> +<%in _header.cgi %> +
+
+
+ +
+
+
+<%in _joystick.cgi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview.cgi new file mode 100755 index 0000000..c4bea45 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/preview.cgi @@ -0,0 +1,30 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitlePreview" +%> +<%in _header.cgi %> +
+
+ +
+
+<%in _joystick.cgi %> + +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/progress.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/progress.cgi new file mode 100755 index 0000000..28da033 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/progress.cgi @@ -0,0 +1,24 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +if [ -f /tmp/webjob.lock ]; then + page_title="$tPageTitleProgress" +%> +<%in _header.cgi %> + + +<%in _footer.cgi %> +<% else +redirect_to "/cgi-bin/firmware.cgi" +fi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/reboot.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/reboot.cgi new file mode 100755 index 0000000..7d502ac --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/reboot.cgi @@ -0,0 +1,14 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleReboot" +command="reboot -d 3" +output=$(reboot -d 3) +if [ $? -ne 0 ]; then %> +<%in _header.cgi %> +<% report_command_error "$command" "output" %> +<%in _footer.cgi %> +<% else + redirect_to "/cgi-bin/progress.cgi" +fi +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_minus.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_minus.cgi new file mode 100755 index 0000000..3466893 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_minus.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_fs_out 1 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_plus.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_plus.cgi new file mode 100755 index 0000000..3467635 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sf_plus.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_fs_in 1 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ssh-keys.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ssh-keys.cgi new file mode 100755 index 0000000..70ed7a2 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/ssh-keys.cgi @@ -0,0 +1,93 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleSshKeys" + +function saveKey() { + if [ -n "$(fw_printenv key_${1})" ]; then + flash_save "warning" "${1} $tMsgSshKeyExists" + else + fw_setenv key_${1} $(dropbearconvert dropbear openssh /etc/dropbear/dropbear_${1}_host_key - 2>/dev/null | base64 | tr -d '\n') + fi +} + +function restoreKey() { + if [ -z "$(fw_printenv key_${1})" ]; then + flash_save "danger" "${1} $tMsgSshKeyNotFound" + else + fw_printenv key_${1} | sed s/^key_${1}=// | base64 -d | dropbearconvert openssh dropbear - /etc/dropbear/dropbear_${1}_host_key + flash_save "success" "${1} $tMsgSshKeyRestored" + fi +} + +function deleteKey() { + if [ -z "$(fw_printenv key_${1})" ]; then + flash_save "danger" "${1} $tMsgSshKeyNotFound" + else + fw_setenv key_${1} + flash_save "success" "${1} $tMsgSshKeyDeleted" + fi +} + +case "$POST_action" in + backup) + saveKey "ecdsa" + saveKey "rsa" + redirect_to "/cgi-bin/ssh-keys.cgi" + ;; + restore) + restoreKey "ecdsa" + restoreKey "rsa" + redirect_to "/cgi-bin/ssh-keys.cgi" + ;; + delete) + deleteKey "ecdsa" + deleteKey "rsa" + redirect_to "/cgi-bin/ssh-keys.cgi" + ;; + *) +%> +<%in _header.cgi %> +
+
+
+
+
+

<%= $tMsgSshKeyBackup %>

+ +
+
+
+
+
+
+
+

<%= $tMsgSshKeyRestore %>

+
+ +
+
+
+
+
+
+
+

<%= $tMsgSshKeyDelete %>

+
+ +
+
+
+
+
+ +
+<% fw_printenv key_ecdsa %> +
+ +
+<% fw_printenv key_rsa %> +
+ +<%in _footer.cgi %> +<% esac %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/status.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/status.cgi new file mode 100755 index 0000000..455ce24 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/status.cgi @@ -0,0 +1,73 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_hardware_info +get_firmware_info +get_system_info +page_title="$tPageTitleDeviceStatus" +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderDeviceInfo %>
+
+ <%= $tHardware %> +
<%
+        print2c "${tSoC}:" "${soc}"
+        print2c "${tSoCFamily}:" "${soc_family}"
+        print2c "${tSensor}:" "${sensor}"
+        print2c "${tFlash}:" "${flash_size} MB"
+        [ -n "$soc_temp" ] && print2c "${tSoCTemp}:" "${soc_temp}°C"
+        %>
+ <%= $tFirmware %> +
<%
+        print2c "${tVersion}:" "${fw_version}-${fw_variant}"
+        print2c "${tBuild}:" "${fw_build}"
+        %>
+ <%= $tSystem %> +
<%
+        print2c "${tHostname}:" "${hostname}"
+        print2c "${tWanMac}:" "${wan_mac}"
+        %>
+
+
+
+
+
+
<%= $tHeaderSystemInfo %>
+
+ # date +
<% date %>
+

+ <%= $tEditTimezone %> | + <%= $tSyncTime %> +

+ # uptime +
<% /usr/bin/uptime %>
+ # cat /proc/meminfo | grep Mem +
<% cat /proc/meminfo | grep Mem %>
+
+
+
+
+
+
<%= $tHeaderResources %>
+
+ # df +
<% df %>
+
+
+
+
+
+
+
+
<%= $tHeaderTopProcesses %>
+
+
<%= "$(ps aux | sort -nrk 3,3 | head -n 20)" %>
+
+
+
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sw_settings.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sw_settings.cgi new file mode 100755 index 0000000..270e47c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sw_settings.cgi @@ -0,0 +1,7 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +only='(cloud|hls|ipeye|netip|onvif|records|rtsp|youtube)' +page_title="$tPageTitleMajesticSettingsServices" +%> +<%in majestic-settings-common.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_in.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_in.cgi new file mode 100755 index 0000000..ad31748 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_in.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_z_up 3 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_out.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_out.cgi new file mode 100755 index 0000000..f26ffea --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/sz_out.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_z_down 3 +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/telegram-bot-send.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/telegram-bot-send.cgi new file mode 100755 index 0000000..f12898f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/telegram-bot-send.cgi @@ -0,0 +1,6 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +/usr/sbin/send2telegram.sh +header_ok +%> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools-do.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools-do.cgi new file mode 100755 index 0000000..bcdff14 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools-do.cgi @@ -0,0 +1,35 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +opts="" +case $POST_action in + ping) + title="Ping Quality" + [ -n "$POST_size" ] && opts="${opts} -s ${POST_size}" + [ -n "$POST_duration" ] && opts="${opts} -c ${POST_duration}" + [ "auto" != "$POST_iface" ] && opts="${opts} -I ${POST_iface}" + opts="${opts} ${POST_target}" + command="ping ${opts}" + output=$(ping ${opts} 2>&1) + ;; + trace) + title="Traceroute Quality" + [ "auto" != "$POST_iface" ] opts="${opts]} -i ${POST_iface}" + [ -n "$POST_duration" ] && opts="${opts} -q ${POST_duration}" + opts="${opts} ${POST_target}" + [ -n "$POST_size" ] && opts="${opts} ${POST_size}" + command="traceroute ${opts}" + output=$(traceroute ${opts} 2>&1) + ;; +esac +%> +<%in _header.cgi %> +<% +if [ $? -eq 0 ]; then + report_command_success "$command" "$output" +else + report_command_error "$command" "$output" +fi +%> +

Go back to monitoring tools

+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools.cgi new file mode 100755 index 0000000..f02e647 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/tools.cgi @@ -0,0 +1,60 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +get_system_info +page_title="$tPageTitleTools" +%> +<%in _header.cgi %> +
+
+
+
Качество пинга
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + + + +
+
+
+
+ +
+ +
+
+ +
+
+
+
+
+<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings-update.cgi new file mode 100755 index 0000000..91ee83e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings-update.cgi @@ -0,0 +1,43 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +if [ -z "$POST_language" ]; then + language="en" +else + language="$POST_language" +fi +echo $language > /etc/web_locale + +if [ -z "$POST_password" ] && [ "12345" != "$password" ]; then + flash_save "success" "$tMsgChangesSaved" + redirect_to "/cgi-bin/webui-settings.cgi" + exit +elif [[ ! -z "$(echo "$POST_password" | grep " ")" ]]; then + flash_save "danger" "$tMsgPasswordHasSpaces" + redirect_to "/cgi-bin/webui-settings.cgi" + exit +elif [ "5" -ge "${#POST_password}" ]; then + flash_save "danger" "$tMsgPasswordIsTooShort" + redirect_to "/cgi-bin/webui-settings.cgi" + exit +elif [ -z "$POST_passwordconfirmation" ]; then + flash_save "danger" "$tMsgPasswordNeedsConfirmation" + redirect_to "/cgi-bin/webui-settings.cgi" + exit +elif [ "$POST_password" != "$POST_passwordconfirmation" ]; then + flash_save "danger" "$tMsgPasswordDosntMatch" + redirect_to "/cgi-bin/webui-settings.cgi" + exit +fi + +result=$(sed -i s/:admin:.*/:admin:${POST_password}/ /etc/httpd.conf 2>&1) +if [ $? -eq 0 ]; then + flash_delete + flash_save "success" "$tMsgChangesSaved" + redirect_to "/cgi-bin/status.cgi" +else +%> +<%in _header.cgi %> +<% report_command_info "$command" "$result" %> +<%in _footer.cgi %> +<% fi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings.cgi new file mode 100755 index 0000000..9844cfb --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-settings.cgi @@ -0,0 +1,61 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleWebuiSettings" +%> +<%in _header.cgi %> +
+
+
+
<%= $tHeaderWebuiSettings %>
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+ +
+
+
+
+
+ +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-update.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-update.cgi new file mode 100755 index 0000000..7919614 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/webui-update.cgi @@ -0,0 +1,79 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +page_title="$tPageTitleWebuiUpdate" + +url="https://github.com/OpenIPC/microbe-web/archive/refs/heads/${POST_version}.zip" +tmp_file=/tmp/microbe.zip +etag_file=/root/.ui.etag + +opts="-skL --etag-save ${etag_file}" +[ -z "$POST_enforce" -a -f "$etag_file" ] && opts="${opts} --etag-compare ${etag_file}" + +output="curl ${opts} -o ${tmp_file} ${url}" +output="${output}
$(curl $opts -o $tmp_file $url 2>&1)" +if [ $? -ne 0 ]; then + error="$output" +elif [ ! -f "$tmp_file" ]; then + error="$tMsgSameVersion" +fi +%> +<%in _header.cgi %> +<% +if [ ! -z "$error" ]; then + report_error "$error" +else +%> +
+<%
+  commit=$(tail -c 40 $tmp_file | cut -b1-7)
+  timestamp=$(unzip -l $tmp_file | head -5 | tail -1 | xargs | cut -d" " -f2 | sed 's/\(\d\d\)-\(\d\d\)-\(\d\d\d\d\)/\3-\1-\2/')
+
+  unzip_dir="/tmp/microbe-web-${POST_version}"
+  [ -d "$unzip_dir" ] && rm -rf ${unzip_dir} 2>&1
+  unzip -o -d /tmp $tmp_file -x microbe-web-dev/README.md microbe-web-dev/.git* microbe-web-dev/LICENSE microbe-web-dev/docs/* microbe-web-dev/wirebox/* 2>&1
+
+  upd_dir="${unzip_dir}/files"
+  # copy newer files to web directory
+  for upd_file in $(find "${upd_dir}" -type f -or -type l); do
+    ovl_file=${upd_file#/tmp/microbe-web-${POST_version}/files}
+    diff ${ovl_file} ${upd_file} > /dev/null
+    if [ 0 -ne $? ]; then
+      [ ! -d "${ovl_file%/*}" ] && mkdir -p "${ovl_file%/*}" 2>&1
+      echo "cp -f ${upd_file} ${ovl_file}"
+      cp -f ${upd_file} ${ovl_file} 2>&1
+      [ $? -ne 0 ] && error=1
+    fi
+  done
+
+  # remove absent files from overlay
+  for file in $(diff -qr "/var/www" "${upd_dir}/var/www" | grep "Only in /var/www:" | cut -d ":" -f 2 | tr -d "^ "); do
+    if [ "$file" != "$etag_file" ]; then
+      echo "rm -f /var/www/${file}"
+      rm -f "/var/www/${file}" 2>&1
+      [ $? -ne 0 ] && error=1
+    fi
+  done
+
+  # clean up
+  echo "rm -f ${tmp_file}"
+  rm -f ${tmp_file} 2>&1
+  [ $? -ne 0 ] && error=1
+
+  echo "rm -fr /tmp/microbe-web-${POST_version}"
+  rm -fr /tmp/microbe-web-${POST_version} 2>&1
+  [ $? -ne 0 ] && error=1
+
+  if [ -z "$error" ]; then
+    echo "echo \"${POST_version}+${commit}, ${timestamp}\" > /var/www/.version"
+    echo "${POST_version}+${commit}, ${timestamp}" > /var/www/.version
+  else
+    rm ${etag_file}
+    echo ""
+    echo "$tMsgAttentionErrors"
+  fi
+%>
+
+<%= $tButtonGoHome %> +<% fi %> +<%in _footer.cgi %> diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_in.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_in.cgi new file mode 100755 index 0000000..725c9b8 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_in.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_z_up +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_out.cgi b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_out.cgi new file mode 100755 index 0000000..3103a74 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/cgi-bin/z_out.cgi @@ -0,0 +1,5 @@ +#!/usr/bin/haserl +<%in _common.cgi %> +<% +s_z_down +%> \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.min.css b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.min.css new file mode 100644 index 0000000..b361286 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important;max-width: 100% !important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.override.css b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.override.css new file mode 100644 index 0000000..b4eecf7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/bootstrap.override.css @@ -0,0 +1,89 @@ +@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans:wght@400;700&display=swap'); + +:root { + --bs-font-monospace: "IBM Plex Mono", monospace; + --bs-body-font-family: "IBM Plex Sans", sans-serif; + --bs-blue: #4c60d8; +} + +body > nav.navbar {background: var(--bs-blue);color: #ffffff;} +body > header {background: var(--bs-blue);} +body > main > .container > h2 {font-weight: 700;color: var(--bs-blue);margin: 1rem 0 1.5rem;} +body > footer > .container {border-top: solid 1px #d3d3d3;font-size: 0.8rem;padding-top: 1rem;} + +.card-header {border-bottom: solid 1px var(--bs-blue);color: var(--bs-blue);font-weight: 700;text-align: right;text-transform: uppercase;} +.card:not(.danger) .card-body {background: #4c60d811;} +.card-body > div.row {padding: 0.5rem 0 0} +.card-body pre {background: #4c60d812;margin: 0.5rem 0 1rem;padding: 0.5rem 1rem;} +.card-body pre span.title {display:inline-block;width:8rem;} +.card dl dd, .card dl dt {border-bottom: solid 1px #ffffff;margin-bottom: 0;} +pre, .pre {white-space: pre;font-size: 1rem; } + +form label {font-weight: 400;} +form .row:not(:first-of-type) {border-top: solid 1px #ffffff;padding-top: 0.5rem;} +form .input-group-text {min-width: 4rem;} +form .form-control::placeholder {color: #c2c2d9;} +form .hint {font-size: 0.82rem;margin-top: 0.2rem;margin-bottom: 0;} +form .range-value {text-align: right;} +input[type=range][orient=vertical] {height: 175px;padding: 0 5px;-webkit-appearance: slider-vertical;width: 8px;writing-mode: bt-lr;} + +.console p {display: flex;gap: 0.5rem;} +.console p b {flex: 2rem;text-align: right} +.console p input {flex: 100%;} +.console p button {flex: 2rem; text-align: right;} + +#refresh {cursor: pointer;flex-grow: 1;font-size: .8rem;padding: 0.5rem 1rem;text-align: right;} + +.navbar-brand {position: relative;} +.dropdown-item {font-size: 0.9rem;} + +#beta {font-size: 0.82rem;font-weight: 700;left: 8rem;position: absolute;top: 1.25rem;transform: rotate(-105deg);} +#beta span {background: gold;color: black;display: block;line-height: 3em;text-align: center;transform: rotate(22.5deg);width: 3em;} + +.log-scroll {max-height: 40rem;min-height: 100%;overflow: auto;} + +.control-board {} +.control {display: grid;gap: 1rem;margin: 2rem auto;} +.control img {cursor: pointer;height: 2.5rem;width: 2.5rem; filter: sepia(50%) hue-rotate(231deg) saturate(800%) invert(75%) brightness(100%) contrast(100%); } +.control img:hover {filter: sepia(0%) hue-rotate(0deg) saturate(800%) invert(50%) brightness(50%) contrast(50%); } +.control img:active {filter: none;} + +.contr img {cursor: pointer; filter: none;height: 2.5rem;width: 2.5rem;} +.contr img:hover {filter: sepia(50%) hue-rotate(231deg) saturate(800%) invert(75%) brightness(100%) contrast(100%); } +.contr img:active {cursor: pointer; filter: sepia(0%) hue-rotate(0deg) saturate(800%) invert(50%) brightness(50%) contrast(50%);} + +.control #focus-plus {grid-column-start: 1;grid-column-end: 1;grid-row-start: 1;grid-row-end: 1;} +.control #focus-auto {grid-column-start: 1;grid-column-end: 1;grid-row-start: 2;grid-row-end: 2;} +.control #focus-minus {grid-column-start: 1;grid-column-end: 1;grid-row-start: 3;grid-row-end: 3;} +.control #pan-up-left {grid-column-start: 3;grid-column-end: 3;grid-row-start: 1;grid-row-end: 1;} +.control #pan-up {grid-column-start: 4;grid-column-end: 4;grid-row-start: 1;grid-row-end: 1;} +.control #pan-up-right {grid-column-start: 5;grid-column-end: 5;grid-row-start: 1;grid-row-end: 1;} +.control #pan-left {grid-column-start: 3;grid-column-end: 3;grid-row-start: 2;grid-row-end: 2;} +.control #speed {grid-column-start: 4;grid-column-end: 4;grid-row-start: 2;grid-row-end: 2;} +.control #pan-right {grid-column-start: 5;grid-column-end: 5;grid-row-start: 2;grid-row-end: 2;} +.control #pan-down-left {grid-column-start: 3;grid-column-end: 3;grid-row-start: 3;grid-row-end: 3;} +.control #pan-down {grid-column-start: 4;grid-column-end: 4;grid-row-start: 3;grid-row-end: 3;} +.control #pan-down-right {grid-column-start: 5;grid-column-end: 5;grid-row-start: 3;grid-row-end: 3;} +.control #speed-fast {grid-column-start: 3;grid-column-end: 3;grid-row-start: 5;grid-row-end: 5;} +.control #speed-slow {grid-column-start: 5;grid-column-end: 5;grid-row-start: 5;grid-row-end: 5;} +.control #zoom-in {grid-column-start: 7;grid-column-end: 7;grid-row-start: 1;grid-row-end: 1;} +.control #zoom-out {grid-column-start: 7;grid-column-end: 7;grid-row-start: 3;grid-row-end: 3;} +.control #night-mode {grid-column-start: 7;grid-column-end: 7;grid-row-start: 2;grid-row-end: 2;} +.control #send-to-telegram {grid-column-start: 8;grid-column-end: 8;grid-row-start: 2;grid-row-end: 2;} + +.control #preset-home {grid-column-start: 1;grid-column-end: 1;grid-row-start: 1;grid-row-end: 1;} +.control #preset-1 {grid-column-start: 2;grid-column-end: 2;grid-row-start: 1;grid-row-end: 1;} +.control #preset-2 {grid-column-start: 3;grid-column-end: 3;grid-row-start: 1;grid-row-end: 1;} +.control #preset-3 {grid-column-start: 4;grid-column-end: 4;grid-row-start: 1;grid-row-end: 1;} +.control #preset-4 {grid-column-start: 2;grid-column-end: 2;grid-row-start: 2;grid-row-end: 2;} +.control #preset-5 {grid-column-start: 3;grid-column-end: 3;grid-row-start: 2;grid-row-end: 2;} +.control #preset-6 {grid-column-start: 4;grid-column-end: 4;grid-row-start: 2;grid-row-end: 2;} +.control #preset-7 {grid-column-start: 2;grid-column-end: 2;grid-row-start: 3;grid-row-end: 3;} +.control #preset-8 {grid-column-start: 3;grid-column-end: 3;grid-row-start: 3;grid-row-end: 3;} +.control #preset-9 {grid-column-start: 4;grid-column-end: 4;grid-row-start: 3;grid-row-end: 3;} +.control #preset-save {grid-column-start: 5;grid-column-end: 5;grid-row-start: 1;grid-row-end: 1;} + +.control #image-rotate-90-ccw {grid-column-start: 1;grid-column-end: 1;grid-row-start: 1;grid-row-end: 1;} +.control #image-rotate-90-cw {grid-column-start: 2;grid-column-end: 2;grid-row-start: 1;grid-row-end: 1;} +.control #image-flip {grid-column-start: 1;grid-column-end: 1;grid-row-start: 2;grid-row-end: 2;} +.control #image-mirror {grid-column-start: 2;grid-column-end: 2;grid-row-start: 2;grid-row-end: 2;} diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/debug.css b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/debug.css new file mode 100644 index 0000000..0ed9b9d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/debug.css @@ -0,0 +1,3 @@ +:root { + --bs-blue: #990000; +} diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/image.jpg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/image.jpg new file mode 100644 index 0000000..10e8504 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/css/image.jpg differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/favicon.ico b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/favicon.png b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/favicon.png new file mode 100644 index 0000000..ad27e44 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/favicon.png differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cl.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cl.svg new file mode 100644 index 0000000..4db19b3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cl.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cr.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cr.svg new file mode 100644 index 0000000..7209ead --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-cr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dc.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dc.svg new file mode 100644 index 0000000..633671f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dl.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dl.svg new file mode 100644 index 0000000..08e0028 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dl.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dr.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dr.svg new file mode 100644 index 0000000..5019b26 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-dr.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-uc.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-uc.svg new file mode 100644 index 0000000..d21f03e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-uc.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ul.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ul.svg new file mode 100644 index 0000000..9d3767f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ul.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ur.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ur.svg new file mode 100644 index 0000000..9754423 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/arrow-ur.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/1-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/1-square.svg new file mode 100644 index 0000000..582123c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/1-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/2-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/2-square.svg new file mode 100644 index 0000000..fde64f3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/2-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/3-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/3-square.svg new file mode 100644 index 0000000..1d1dae6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/3-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/4-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/4-square.svg new file mode 100644 index 0000000..86bbb99 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/4-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/5-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/5-square.svg new file mode 100644 index 0000000..e585d58 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/5-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/6-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/6-square.svg new file mode 100644 index 0000000..b3f662c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/6-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/7-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/7-square.svg new file mode 100644 index 0000000..eddd073 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/7-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/8-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/8-square.svg new file mode 100644 index 0000000..9364bb5 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/8-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/9-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/9-square.svg new file mode 100644 index 0000000..a9a354d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/9-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/focus-auto.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/focus-auto.svg new file mode 100644 index 0000000..afc68bf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/focus-auto.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-close.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-close.svg new file mode 100644 index 0000000..a435b8f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-far.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-far.svg new file mode 100644 index 0000000..007211b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap-extra/zoom-far.svg @@ -0,0 +1,3 @@ + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-clockwise.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-clockwise.svg new file mode 100644 index 0000000..b072eb0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-clockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-counterclockwise.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-counterclockwise.svg new file mode 100644 index 0000000..b0b23b9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-counterclockwise.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-left-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-left-square.svg new file mode 100644 index 0000000..08e0028 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-right-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-right-square.svg new file mode 100644 index 0000000..5019b26 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-square.svg new file mode 100644 index 0000000..633671f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-up.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-up.svg new file mode 100644 index 0000000..a128d9b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-down-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-right.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-right.svg new file mode 100644 index 0000000..8aabd7b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-square.svg new file mode 100644 index 0000000..4db19b3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-right-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-right-square.svg new file mode 100644 index 0000000..7209ead --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-left-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-left-square.svg new file mode 100644 index 0000000..9d3767f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-left-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-right-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-right-square.svg new file mode 100644 index 0000000..9754423 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-right-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-square.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-square.svg new file mode 100644 index 0000000..d21f03e --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/arrow-up-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-down.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-down.svg new file mode 100644 index 0000000..6dbffa1 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-down.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-up.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-up.svg new file mode 100644 index 0000000..f979272 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-compact-up.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-double-right.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-double-right.svg new file mode 100644 index 0000000..73e1b35 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-double-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-right.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-right.svg new file mode 100644 index 0000000..d621289 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/house.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/house.svg new file mode 100644 index 0000000..7baa23d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/house.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb-off.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb-off.svg new file mode 100644 index 0000000..5675e9c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb.svg new file mode 100644 index 0000000..c13f627 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/lightbulb.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/save.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/save.svg new file mode 100644 index 0000000..26b8aed --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/save.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/telegram.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/telegram.svg new file mode 100644 index 0000000..139af07 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/telegram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/trash.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/trash.svg new file mode 100644 index 0000000..0ba7218 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/bootstrap/trash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/camera.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/camera.svg new file mode 100644 index 0000000..fb337fe --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/camera.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/favicon.png b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/favicon.png new file mode 100644 index 0000000..ad27e44 Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/favicon.png differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-auto.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-auto.svg new file mode 100644 index 0000000..afc68bf --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-auto.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-minus.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-minus.svg new file mode 100644 index 0000000..6dbffa1 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-minus.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-plus.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-plus.svg new file mode 100644 index 0000000..f979272 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/focus-plus.svg @@ -0,0 +1,45 @@ + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-flip.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-flip.svg new file mode 100644 index 0000000..a128d9b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-flip.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-mirror.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-mirror.svg new file mode 100644 index 0000000..8aabd7b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-mirror.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-ccw.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-ccw.svg new file mode 100644 index 0000000..b0b23b9 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-ccw.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-cw.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-cw.svg new file mode 100644 index 0000000..b072eb0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/image-rotate-cw.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-off.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-off.svg new file mode 100644 index 0000000..5675e9c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-on.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-on.svg new file mode 100644 index 0000000..c13f627 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/light-on.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo-ipeye.png b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo-ipeye.png new file mode 100644 index 0000000..42ea7eb Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo-ipeye.png differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo.svg new file mode 100644 index 0000000..75f07e0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/logo.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-off.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-off.svg new file mode 100644 index 0000000..71020f0 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-off.svg @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-on.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-on.svg new file mode 100644 index 0000000..eab9c4d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/lt-on.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/mycam.jpg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/mycam.jpg new file mode 100644 index 0000000..9cd598e Binary files /dev/null and b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/mycam.jpg differ diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-1.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-1.svg new file mode 100644 index 0000000..582123c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-2.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-2.svg new file mode 100644 index 0000000..fde64f3 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-3.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-3.svg new file mode 100644 index 0000000..1d1dae6 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-3.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-4.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-4.svg new file mode 100644 index 0000000..86bbb99 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-5.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-5.svg new file mode 100644 index 0000000..e585d58 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-5.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-6.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-6.svg new file mode 100644 index 0000000..b3f662c --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-6.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-7.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-7.svg new file mode 100644 index 0000000..eddd073 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-7.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-8.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-8.svg new file mode 100644 index 0000000..9364bb5 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-8.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-9.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-9.svg new file mode 100644 index 0000000..a9a354d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-9.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-home.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-home.svg new file mode 100644 index 0000000..7baa23d --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-home.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-save.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-save.svg new file mode 100644 index 0000000..26b8aed --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/preset-save.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-fast.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-fast.svg new file mode 100644 index 0000000..73e1b35 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-fast.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-slow.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-slow.svg new file mode 100644 index 0000000..d621289 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/speed-slow.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/telegram.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/telegram.svg new file mode 100644 index 0000000..139af07 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/telegram.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/trash.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/trash.svg new file mode 100644 index 0000000..0ba7218 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/trash.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-close.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-close.svg new file mode 100644 index 0000000..a435b8f --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-far.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-far.svg new file mode 100644 index 0000000..007211b --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-far.svg @@ -0,0 +1,3 @@ + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-in.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-in.svg new file mode 100644 index 0000000..001c746 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-in.svg @@ -0,0 +1,52 @@ + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-out.svg b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-out.svg new file mode 100644 index 0000000..d00ab94 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/img/zoom-out.svg @@ -0,0 +1,52 @@ + + + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/index.html b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/index.html new file mode 100644 index 0000000..6d044fc --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/index.html @@ -0,0 +1,13 @@ + + + + + +OpenICP + + + + + + + diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/bootstrap.bundle.min.js b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/bootstrap.bundle.min.js new file mode 100644 index 0000000..dbfe712 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/bootstrap.bundle.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Rt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var fe={passive:!0};const pe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;ij.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;ie+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}})); diff --git a/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/jquery.js b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/jquery.js new file mode 100644 index 0000000..d467083 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/overlay/var/www/js/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 + + + + + OpenIPC + + + + + + + +
+
+

+ +

+
+
+
+
+
+

+

+

+

+

+
+
+
+ + + diff --git a/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox-initramfs.config b/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox-initramfs.config new file mode 100644 index 0000000..90200c7 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox-initramfs.config @@ -0,0 +1,1154 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.31.1 +# Thu Dec 30 21:29:59 2021 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG=y +CONFIG_PLATFORM_LINUX=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=999 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_HWIB=y + +# +# Applets +# + +# +# Archival Utilities +# +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +# CONFIG_FEATURE_SEAMLESS_GZ is not set +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +# CONFIG_ZCAT is not set +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZCAT is not set +# CONFIG_UNLZMA is not set +# CONFIG_LZCAT is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZCAT is not set +# CONFIG_XZ is not set +# CONFIG_BZIP2 is not set +# CONFIG_FEATURE_BZIP2_DECOMPRESS is not set +# CONFIG_CPIO is not set +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y +# CONFIG_LZOP is not set +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +# CONFIG_FEATURE_TAR_AUTODETECT is not set +CONFIG_FEATURE_TAR_FROM=y +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +CONFIG_CKSUM=y +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_EXPAND is not set +# CONFIG_UNEXPAND is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y +CONFIG_FALSE=y +CONFIG_FOLD=y +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_HOSTID=y +CONFIG_ID=y +# CONFIG_GROUPS is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +# CONFIG_MD5SUM is not set +# CONFIG_SHA1SUM is not set +# CONFIG_SHA256SUM is not set +# CONFIG_SHA512SUM is not set +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +CONFIG_NICE=y +CONFIG_NL=y +CONFIG_NOHUP=y +CONFIG_NPROC=y +CONFIG_OD=y +CONFIG_PASTE=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +CONFIG_SHRED=y +# CONFIG_SHUF is not set +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_FEATURE_FLOAT_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +# CONFIG_STAT is not set +# CONFIG_FEATURE_STAT_FORMAT is not set +# CONFIG_FEATURE_STAT_FILESYSTEM is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_FEATURE_SYNC_FANCY is not set +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_NODEREF is not set +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +CONFIG_USLEEP=y +# CONFIG_UUDECODE is not set +# CONFIG_BASE64 is not set +# CONFIG_UUENCODE is not set +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHOAMI=y +CONFIG_WHO=y +CONFIG_W=y +# CONFIG_USERS is not set +CONFIG_YES=y + +# +# Common options +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +# CONFIG_FGCONSOLE is not set +# CONFIG_KBD_MODE is not set +# CONFIG_LOADFONT is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +# CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set +# CONFIG_LOADKMAP is not set +# CONFIG_OPENVT is not set +# CONFIG_RESET is not set +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +CONFIG_PIPE_PROGRESS=y +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +# CONFIG_VI is not set +# CONFIG_FEATURE_VI_MAX_LEN=4096 +# CONFIG_FEATURE_VI_8BIT is not set +# CONFIG_FEATURE_VI_COLON is not set +# CONFIG_FEATURE_VI_YANKMARK is not set +# CONFIG_FEATURE_VI_SEARCH is not set +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +# CONFIG_FEATURE_VI_USE_SIGNALS is not set +# CONFIG_FEATURE_VI_DOT_CMD is not set +# CONFIG_FEATURE_VI_READONLY is not set +# CONFIG_FEATURE_VI_SETOPTS is not set +# CONFIG_FEATURE_VI_SET is not set +# CONFIG_FEATURE_VI_WIN_RESIZE is not set +# CONFIG_FEATURE_VI_ASK_TERMINAL is not set +# CONFIG_FEATURE_VI_UNDO is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +# CONFIG_FEATURE_FIND_INUM is not set +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +# CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_FEATURE_GREP_CONTEXT is not set +CONFIG_XARGS=y +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +# CONFIG_HALT is not set +# CONFIG_POWEROFF is not set +CONFIG_REBOOT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +CONFIG_LINUXRC=y +CONFIG_FEATURE_USE_INITTAB=y +CONFIG_FEATURE_KILL_REMOVED=y +CONFIG_FEATURE_KILL_DELAY=0 +CONFIG_FEATURE_INIT_SCTTY=y +CONFIG_FEATURE_INIT_SYSLOG=y +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="md5" +# CONFIG_CRYPTPW is not set +# CONFIG_MKPASSWD is not set +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +# CONFIG_SULOGIN is not set +CONFIG_VLOCK=y + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_DEPMOD is not set +# CONFIG_INSMOD is not set +# CONFIG_LSMOD is not set +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_RMMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +# CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +# CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKDISCARD is not set +CONFIG_BLKID=y +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +CONFIG_CHRT=y +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_EJECT=y +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +# CONFIG_FATATTR is not set +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +# CONFIG_FEATURE_FDISK_WRITABLE is not set +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +CONFIG_FLOCK=y +CONFIG_FDFLUSH=y +CONFIG_FREERAMDISK=y +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +# CONFIG_HEXDUMP is not set +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +# CONFIG_HD is not set +CONFIG_XXD=y +CONFIG_HWCLOCK=y +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +# CONFIG_IONICE is not set +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LAST=y +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +# CONFIG_LSUSB is not set +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +CONFIG_FEATURE_MDEV_EXEC=y +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +CONFIG_FEATURE_MDEV_DAEMON=y +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +# CONFIG_MORE is not set +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +# CONFIG_FEATURE_MOUNT_LABEL is not set +# CONFIG_FEATURE_MOUNT_NFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_MOUNTPOINT=y +# CONFIG_NSENTER is not set +CONFIG_PIVOT_ROOT=y +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +CONFIG_READPROFILE=y +# CONFIG_RENICE is not set +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +CONFIG_SETARCH=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +CONFIG_SETSID=y +CONFIG_SWAPON=y +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWAPOFF is not set +# CONFIG_FEATURE_SWAPONOFF_LABEL is not set +CONFIG_SWITCH_ROOT=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_UEVENT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +# CONFIG_UNSHARE is not set +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +# CONFIG_VOLUMEID is not set + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_F2FS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +# CONFIG_BEEP is not set +# CONFIG_FEATURE_BEEP_FREQ=0 +# CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set +# CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +# CONFIG_CRONTAB is not set +# CONFIG_DC is not set +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +# CONFIG_FBSPLASH is not set +CONFIG_FLASHCP=y +CONFIG_FLASH_ERASEALL=y +# CONFIG_FLASH_LOCK is not set +CONFIG_FLASH_UNLOCK=y +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +# CONFIG_HEXEDIT is not set +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CDETECT is not set +# CONFIG_INOTIFYD is not set +# CONFIG_LESS is not set +# CONFIG_FEATURE_LESS_MAXLINES=9999999 +# CONFIG_FEATURE_LESS_BRACKETS is not set +# CONFIG_FEATURE_LESS_FLAGS is not set +# CONFIG_FEATURE_LESS_TRUNCATE is not set +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_LSSCSI is not set +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +CONFIG_MT=y +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RNGD is not set +# CONFIG_FEATURE_RNGD_LONG_OPTIONS is not set +CONFIG_RUNLEVEL=y +# CONFIG_RX is not set +CONFIG_SETFATTR=y +CONFIG_SETSERIAL=y +CONFIG_STRINGS=y +CONFIG_TIME=y +# CONFIG_TTYSIZE is not set +# CONFIG_UBIRENAME is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_VOLNAME is not set +CONFIG_WATCHDOG=y + +# +# Networking Utilities +# +# CONFIG_FEATURE_IPV6 is not set +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +CONFIG_IFUP=y +CONFIG_IFDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPNEIGH is not set +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +# CONFIG_FEATURE_IP_TUNNEL is not set +# CONFIG_FEATURE_IP_RULE is not set +# CONFIG_FEATURE_IP_NEIGH is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +CONFIG_NAMEIF=y +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +# CONFIG_NC is not set +# CONFIG_NETCAT is not set +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set +# CONFIG_NETSTAT is not set +# CONFIG_FEATURE_NETSTAT_WIDE is not set +# CONFIG_FEATURE_NETSTAT_PRG is not set +# CONFIG_NSLOOKUP is not set +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +CONFIG_PING=y +# CONFIG_PING6 is not set +# CONFIG_FEATURE_FANCY_PING is not set +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set +# CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set +# CONFIG_TELNET is not set +# CONFIG_FEATURE_TELNET_TTYPE is not set +# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set +# CONFIG_FEATURE_TELNET_WIDTH is not set +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +# CONFIG_TFTP is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +# CONFIG_FEATURE_TFTP_GET is not set +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TLS is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +CONFIG_TUNCTL=y +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +# CONFIG_FEATURE_WGET_STATUSBAR is not set +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_FEATURE_WGET_HTTPS is not set +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +# CONFIG_UDHCPD is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +# CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set + +# +# Common options for DHCP applets +# +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-x hostname:$(hostname) -T 1 -t 5 -R -b -O search" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" + +# +# Process Utilities +# +CONFIG_FREE=y +# CONFIG_FUSER is not set +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_LSOF=y +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +# CONFIG_PGREP is not set +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +CONFIG_BB_SYSCTL=y +# CONFIG_TOP is not set +CONFIG_FEATURE_TOP_INTERACTIVE=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +# CONFIG_UPTIME is not set +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set +# CONFIG_FEATURE_SHOW_THREADS is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +CONFIG_SVC=y +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +# CONFIG_CTTYHACK is not set +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +# CONFIG_FEATURE_SH_HISTFILESIZE is not set + +# +# System Logging Utilities +# +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +CONFIG_LOGGER=y +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +# CONFIG_FEATURE_IPC_SYSLOG is not set +# CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 +# CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox.config b/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox.config new file mode 100644 index 0000000..cae4796 --- /dev/null +++ b/projects/gk7205v300_ultimate_oko2/general/package/busybox/busybox.config @@ -0,0 +1,1185 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.31.1 +# Mon May 16 08:59:19 2022 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y +CONFIG_PLATFORM_LINUX=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=999 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +CONFIG_UNICODE_USING_LOCALE=y +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_HWIB=y + +# +# Applets +# + +# +# Archival Utilities +# +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +# CONFIG_FEATURE_SEAMLESS_GZ is not set +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +CONFIG_BUNZIP2=y +CONFIG_BZCAT=y +CONFIG_UNLZMA=y +CONFIG_LZCAT=y +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZCAT=y +CONFIG_XZ=y +# CONFIG_BZIP2 is not set +CONFIG_BZIP2_SMALL=0 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +# CONFIG_CPIO is not set +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y +# CONFIG_LZOP is not set +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +# CONFIG_FEATURE_TAR_AUTODETECT is not set +CONFIG_FEATURE_TAR_FROM=y +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +# CONFIG_FEATURE_CP_REFLINK is not set +CONFIG_CUT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_EXPAND is not set +# CONFIG_UNEXPAND is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +# CONFIG_FACTOR is not set +CONFIG_FALSE=y +CONFIG_FOLD=y +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_HOSTID=y +CONFIG_ID=y +# CONFIG_GROUPS is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LINK=y +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +# CONFIG_SHA512SUM is not set +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +CONFIG_NICE=y +CONFIG_NL=y +CONFIG_NOHUP=y +CONFIG_NPROC=y +CONFIG_OD=y +CONFIG_PASTE=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +CONFIG_SHRED=y +# CONFIG_SHUF is not set +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +# CONFIG_FEATURE_STAT_FILESYSTEM is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_FEATURE_SYNC_FANCY is not set +# CONFIG_FSYNC is not set +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_NODEREF is not set +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +CONFIG_USLEEP=y +# CONFIG_UUDECODE is not set +CONFIG_BASE64=y +# CONFIG_UUENCODE is not set +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHOAMI=y +CONFIG_WHO=y +CONFIG_W=y +# CONFIG_USERS is not set +CONFIG_YES=y + +# +# Common options +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +# CONFIG_FGCONSOLE is not set +# CONFIG_KBD_MODE is not set +# CONFIG_LOADFONT is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +CONFIG_PIPE_PROGRESS=y +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +# CONFIG_NUKE is not set +# CONFIG_RESUME is not set +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_UNDO=y +CONFIG_FEATURE_VI_UNDO_QUEUE=y +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_EXECUTABLE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +# CONFIG_FEATURE_FIND_INUM is not set +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_QUIT=y +# CONFIG_FEATURE_FIND_DELETE is not set +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +CONFIG_EGREP=y +CONFIG_FGREP=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +CONFIG_LINUXRC=y +CONFIG_FEATURE_USE_INITTAB=y +CONFIG_FEATURE_KILL_REMOVED=y +CONFIG_FEATURE_KILL_DELAY=2 +CONFIG_FEATURE_INIT_SCTTY=y +CONFIG_FEATURE_INIT_SYSLOG=y +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_ADDUSER=y +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +CONFIG_CHPASSWD=y +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="md5" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +CONFIG_SULOGIN=y +CONFIG_VLOCK=y + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +CONFIG_FSCK=y +CONFIG_LSATTR=y +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_DEPMOD is not set +CONFIG_INSMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +# CONFIG_MODINFO is not set +CONFIG_MODPROBE=y +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +CONFIG_RMMOD=y + +# +# Options common to multiple modutils +# +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKDISCARD is not set +CONFIG_BLKID=y +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +CONFIG_CHRT=y +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +# CONFIG_FATATTR is not set +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +# CONFIG_FINDFS is not set +CONFIG_FLOCK=y +# CONFIG_FDFLUSH is not set +CONFIG_FREERAMDISK=y +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +# CONFIG_HD is not set +CONFIG_XXD=y +CONFIG_HWCLOCK=y +CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y +# CONFIG_IONICE is not set +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LAST=y +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +CONFIG_FEATURE_MDEV_DAEMON=y +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +CONFIG_MKFS_VFAT=y +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +CONFIG_MORE=y +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +# CONFIG_FEATURE_MOUNT_LABEL is not set +# CONFIG_FEATURE_MOUNT_NFS is not set +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +# CONFIG_NSENTER is not set +CONFIG_PIVOT_ROOT=y +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +CONFIG_RENICE=y +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +CONFIG_SETARCH=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +CONFIG_SETSID=y +# CONFIG_SWAPON is not set +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWAPOFF is not set +# CONFIG_FEATURE_SWAPONOFF_LABEL is not set +CONFIG_SWITCH_ROOT=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_UEVENT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +# CONFIG_UNSHARE is not set +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +CONFIG_FEATURE_VOLUMEID_EXFAT=y +# CONFIG_FEATURE_VOLUMEID_EXT is not set +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +CONFIG_FEATURE_VOLUMEID_UBIFS=y +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +# CONFIG_DC is not set +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +CONFIG_CROND=y +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_SPECIAL_TIMES=y +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +CONFIG_CRONTAB=y +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +# CONFIG_FBSPLASH is not set +CONFIG_FLASHCP=y +CONFIG_FLASH_ERASEALL=y +# CONFIG_FLASH_LOCK is not set +CONFIG_FLASH_UNLOCK=y +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +CONFIG_FEATURE_LESS_REGEXP=y +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_LSSCSI=y +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +# CONFIG_MAN is not set +CONFIG_MICROCOM=y +CONFIG_MT=y +CONFIG_NANDWRITE=y +CONFIG_NANDDUMP=y +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +CONFIG_RNGD=y +# CONFIG_FEATURE_RNGD_LONG_OPTIONS is not set +CONFIG_RUNLEVEL=y +CONFIG_RX=y +CONFIG_SETFATTR=y +CONFIG_SETSERIAL=y +CONFIG_STRINGS=y +CONFIG_TIME=y +CONFIG_TS=y +# CONFIG_TTYSIZE is not set +CONFIG_UBIRENAME=y +CONFIG_UBIATTACH=y +CONFIG_UBIDETACH=y +CONFIG_UBIMKVOL=y +CONFIG_UBIRMVOL=y +CONFIG_UBIRSVOL=y +CONFIG_UBIUPDATEVOL=y +# CONFIG_VOLNAME is not set +CONFIG_WATCHDOG=y + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_TLS_SHA1 is not set +CONFIG_ARP=y +CONFIG_ARPING=y +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +# CONFIG_DNSD is not set +CONFIG_ETHER_WAKE=y +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y +CONFIG_HTTPD=y +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y +CONFIG_FEATURE_HTTPD_AUTH_MD5=y +CONFIG_FEATURE_HTTPD_CGI=y +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y +CONFIG_FEATURE_HTTPD_PROXY=y +CONFIG_FEATURE_HTTPD_GZIP=y +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +CONFIG_IFUP=y +CONFIG_IFDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +CONFIG_NAMEIF=y +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +# CONFIG_FEATURE_NETSTAT_WIDE is not set +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +CONFIG_NTPD=y +# CONFIG_FEATURE_NTPD_SERVER is not set +CONFIG_FEATURE_NTPD_CONF=y +CONFIG_FEATURE_NTP_AUTH=y +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set +# CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +CONFIG_FEATURE_TFTP_PROGRESS_BAR=y +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +# CONFIG_TFTPD is not set +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +CONFIG_FEATURE_TFTP_BLOCKSIZE=y +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TLS is not set +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +CONFIG_TUNCTL=y +# CONFIG_FEATURE_TUNCTL_UG is not set +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_FEATURE_WGET_HTTPS is not set +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +CONFIG_UDHCPD=y +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6=y +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-x hostname:$(hostname) -T 1 -t 5 -R -b -O search" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" + +# +# Process Utilities +# +CONFIG_FREE=y +CONFIG_FUSER=y +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_LSOF=y +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +# CONFIG_PGREP is not set +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +CONFIG_PSTREE=y +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +CONFIG_BB_SYSCTL=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +CONFIG_WATCH=y +# CONFIG_FEATURE_SHOW_THREADS is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +CONFIG_SVC=y +CONFIG_SVOK=y +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +# CONFIG_CTTYHACK is not set +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +# CONFIG_FEATURE_SH_HISTFILESIZE is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +CONFIG_KLOGD=y +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y +CONFIG_LOGREAD=y +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 +# CONFIG_FEATURE_KMSG_SYSLOG is not set