mirror of
https://repository.entgra.net/community/community-product.git
synced 2025-09-16 23:42:18 +00:00
added iot-core distcribution creation part
This commit is contained in:
parent
b0e8b7bfa1
commit
3bbd7b8b2e
71
modules/distribution/pom.xml
Normal file
71
modules/distribution/pom.xml
Normal file
@ -0,0 +1,71 @@
|
||||
<?org.wso2.uesxml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>io.entgra.iot</groupId>
|
||||
<artifactId>entgra-iot-server-parent</artifactId>
|
||||
<version>4.1.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>entgra-iot</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Entgra IoT - Distribution</name>
|
||||
<description>Entgra IoT Distribution</description>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>2-dist</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<appendAssemblyId>false</appendAssemblyId>
|
||||
<encoding>UTF-8</encoding>
|
||||
<filters>
|
||||
<filter>${basedir}/src/assembly/filter.properties</filter>
|
||||
</filters>
|
||||
<escapeString>\</escapeString>
|
||||
<descriptors>
|
||||
<descriptor>${basedir}/src/assembly/bin.xml</descriptor>
|
||||
</descriptors>
|
||||
<archiverConfig>
|
||||
<defaultDirectoryMode>0775</defaultDirectoryMode>
|
||||
<directoryMode>0775</directoryMode>
|
||||
<defaultFileMode>0644</defaultFileMode>
|
||||
<fileMode>0644</fileMode>
|
||||
</archiverConfig>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
87
modules/distribution/src/assembly/bin.xml
Normal file
87
modules/distribution/src/assembly/bin.xml
Normal file
@ -0,0 +1,87 @@
|
||||
<!--
|
||||
~ Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<!DOCTYPE assembly [
|
||||
<!ELEMENT assembly (id|formats|includeBaseDirectory|fileSets|dependencySets|files)*>
|
||||
<!ELEMENT id (#PCDATA)>
|
||||
<!ELEMENT formats (format)*>
|
||||
<!ELEMENT format (#PCDATA)>
|
||||
<!ELEMENT includeBaseDirectory (#PCDATA)>
|
||||
<!ELEMENT fileSets (fileSet)*>
|
||||
<!ELEMENT fileSet (directory|outputDirectory|excludes|includes|fileMode|filtered)*>
|
||||
<!ELEMENT directory (#PCDATA)>
|
||||
<!ELEMENT outputDirectory (#PCDATA)>
|
||||
<!ELEMENT excludes (exclude)*>
|
||||
<!ELEMENT exclude (#PCDATA)>
|
||||
<!ELEMENT includes (include)*>
|
||||
<!ELEMENT include (#PCDATA)>
|
||||
<!ELEMENT fileMode (#PCDATA)>
|
||||
<!ELEMENT filtered (#PCDATA)>
|
||||
<!ELEMENT dependencySets (dependencySet)*>
|
||||
<!ELEMENT dependencySet (outputDirectory|includes)*>
|
||||
<!ELEMENT files (file)*>
|
||||
<!ELEMENT file (source|outputDirectory|fileMode|filtered|destName)*>
|
||||
<!ELEMENT source (#PCDATA)>
|
||||
<!ELEMENT destName (#PCDATA)>
|
||||
]>
|
||||
<assembly>
|
||||
<id>bin</id>
|
||||
<formats>
|
||||
<format>zip</format>
|
||||
</formats>
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<directory>../p2-profile/iot-core-profile/target/${wso2am}</directory>
|
||||
<outputDirectory>${entgra-iot}</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>**/repository/conf/tomcat/context.xml</exclude>
|
||||
<exclude>**/repository/conf/deployment.toml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>src/core/synapse-configs/default/api</directory>
|
||||
<outputDirectory>${entgra-iot}/repository/deployment/server/synapse-configs/default/api</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>src/core/conf/tomcat</directory>
|
||||
<outputDirectory>${entgra-iot}/repository/conf/tomcat</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>src/core/bin</directory>
|
||||
<outputDirectory>${entgra-iot}/bin</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>src/core/resources</directory>
|
||||
<outputDirectory>${entgra-iot}/repository/deployment/server/webapps/authenticationendpoint</outputDirectory>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<directory>src/core/resources</directory>
|
||||
<outputDirectory>${entgra-iot}/repository/deployment/server/webapps/accountrecoveryendpoint</outputDirectory>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<files>
|
||||
<file>
|
||||
<source>src/core/conf/deployment.toml</source>
|
||||
<outputDirectory>${entgra-iot}/repository/conf/</outputDirectory>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
</assembly>
|
||||
0
modules/distribution/src/assembly/filter.propeties
Normal file
0
modules/distribution/src/assembly/filter.propeties
Normal file
232
modules/distribution/src/core/bin/iot-server.bat
Executable file
232
modules/distribution/src/core/bin/iot-server.bat
Executable file
@ -0,0 +1,232 @@
|
||||
@echo off
|
||||
REM ---------------------------------------------------------------------------
|
||||
REM Copyright 2005-2009 WSO2, Inc. http://www.wso2.org
|
||||
REM
|
||||
REM Licensed under the Apache License, Version 2.0 (the "License");
|
||||
REM you may not use this file except in compliance with the License.
|
||||
REM You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
|
||||
rem ---------------------------------------------------------------------------
|
||||
rem Main Script for WSO2 Carbon
|
||||
rem
|
||||
rem Environment Variable Prequisites
|
||||
rem
|
||||
rem CARBON_HOME Home of CARBON installation. If not set I will try
|
||||
rem to figure it out.
|
||||
rem
|
||||
rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||
rem
|
||||
rem JAVA_OPTS (Optional) Java runtime options used when the commands
|
||||
rem is executed.
|
||||
rem ---------------------------------------------------------------------------
|
||||
|
||||
rem ----- if JAVA_HOME is not set we're not happy ------------------------------
|
||||
:checkJava
|
||||
|
||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||
goto checkServer
|
||||
|
||||
:noJavaHome
|
||||
echo "You must set the JAVA_HOME variable before running CARBON."
|
||||
goto end
|
||||
|
||||
rem ----- Only set CARBON_HOME if not already set ----------------------------
|
||||
:checkServer
|
||||
setlocal enabledelayedexpansion
|
||||
rem %~sdp0 is expanded pathname of the current script under NT with spaces in the path removed
|
||||
if "%CARBON_HOME%"=="" set CARBON_HOME=%~sdp0..
|
||||
SET curDrive=%cd:~0,1%
|
||||
SET wsasDrive=%CARBON_HOME:~0,1%
|
||||
if not "%curDrive%" == "%wsasDrive%" %wsasDrive%:
|
||||
|
||||
rem find CARBON_HOME if it does not exist due to either an invalid value passed
|
||||
rem by the user or the %0 problem on Windows 9x
|
||||
if not exist "%CARBON_HOME%\bin\version.txt" goto noServerHome
|
||||
|
||||
set AXIS2_HOME=%CARBON_HOME%
|
||||
goto updateClasspath
|
||||
|
||||
:noServerHome
|
||||
echo CARBON_HOME is set incorrectly or CARBON could not be located. Please set CARBON_HOME.
|
||||
goto end
|
||||
|
||||
rem ----- update classpath -----------------------------------------------------
|
||||
:updateClasspath
|
||||
cd %CARBON_HOME%
|
||||
set CARBON_CLASSPATH=
|
||||
FOR %%C in ("%CARBON_HOME%\bin\*.jar") DO set CARBON_CLASSPATH=!CARBON_CLASSPATH!;".\bin\%%~nC%%~xC"
|
||||
|
||||
set CARBON_CLASSPATH="%JAVA_HOME%\lib\tools.jar";%CARBON_CLASSPATH%;
|
||||
|
||||
FOR %%D in ("%CARBON_HOME%\lib\commons-lang*.jar") DO set CARBON_CLASSPATH=!CARBON_CLASSPATH!;".\lib\%%~nD%%~xD"
|
||||
|
||||
rem ----- Process the input command -------------------------------------------
|
||||
|
||||
rem Slurp the command line arguments. This loop allows for an unlimited number
|
||||
rem of arguments (up to the command line limit, anyway).
|
||||
set originalArgs=%*
|
||||
|
||||
:setupArgs
|
||||
if ""%1""=="""" goto doneStart
|
||||
|
||||
if ""%1""==""-run"" goto commandLifecycle
|
||||
if ""%1""==""--run"" goto commandLifecycle
|
||||
if ""%1""==""run"" goto commandLifecycle
|
||||
|
||||
if ""%1""==""-restart"" goto commandLifecycle
|
||||
if ""%1""==""--restart"" goto commandLifecycle
|
||||
if ""%1""==""restart"" goto commandLifecycle
|
||||
|
||||
if ""%1""==""debug"" goto commandDebug
|
||||
if ""%1""==""-debug"" goto commandDebug
|
||||
if ""%1""==""--debug"" goto commandDebug
|
||||
|
||||
if ""%1""==""version"" goto commandVersion
|
||||
if ""%1""==""-version"" goto commandVersion
|
||||
if ""%1""==""--version"" goto commandVersion
|
||||
|
||||
if ""%1""==""optimize"" goto profileOptimizer
|
||||
if ""%1""==""-optimize"" goto profileOptimizer
|
||||
if ""%1""==""--optimize"" goto profileOptimizer
|
||||
|
||||
shift
|
||||
goto setupArgs
|
||||
|
||||
rem ----- commandVersion -------------------------------------------------------
|
||||
:commandVersion
|
||||
shift
|
||||
type "%CARBON_HOME%\bin\version.txt"
|
||||
type "%CARBON_HOME%\bin\wso2carbon-version.txt"
|
||||
goto end
|
||||
|
||||
rem ----- commandDebug ---------------------------------------------------------
|
||||
:commandDebug
|
||||
shift
|
||||
set DEBUG_PORT=%1
|
||||
if "%DEBUG_PORT%"=="" goto noDebugPort
|
||||
if not "%JAVA_OPTS%"=="" echo Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option.
|
||||
set JAVA_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=%DEBUG_PORT%
|
||||
echo Please start the remote debugging client to continue...
|
||||
goto findJdk
|
||||
|
||||
:noDebugPort
|
||||
echo Please specify the debug port after the --debug option
|
||||
goto end
|
||||
|
||||
rem ----- commandLifecycle -----------------------------------------------------
|
||||
:commandLifecycle
|
||||
goto findJdk
|
||||
|
||||
rem ----- profile optimization then start the server---------------------------------
|
||||
:profileOptimizer
|
||||
setlocal enableDelayedExpansion
|
||||
set found=false
|
||||
for %%a in (!originalArgs!) do (
|
||||
if !found!==true (
|
||||
set profile=-Dprofile=%%a
|
||||
set found=false
|
||||
)
|
||||
if %%a==-Dprofile ( set found=true
|
||||
)
|
||||
)
|
||||
|
||||
for %%a in (!originalArgs!) do (
|
||||
if %%a==--skipConfigOptimization (
|
||||
set skipConfigOptimizationOption=%%a
|
||||
goto runProfileSetup
|
||||
)
|
||||
if %%a==-skipConfigOptimization (
|
||||
set skipConfigOptimizationOption=%%a
|
||||
goto runProfileSetup
|
||||
)
|
||||
if %%a==skipConfigOptimization (
|
||||
set skipConfigOptimizationOption=%%a
|
||||
goto runProfileSetup
|
||||
)
|
||||
)
|
||||
|
||||
:runProfileSetup
|
||||
call bin\profileSetup.bat %profile% %skipConfigOptimizationOption%
|
||||
endlocal
|
||||
goto findJdk
|
||||
|
||||
:doneStart
|
||||
if "%OS%"=="Windows_NT" @setlocal
|
||||
if "%OS%"=="WINNT" @setlocal
|
||||
|
||||
rem ---------- Handle the SSL Issue with proper JDK version --------------------
|
||||
rem find the version of the jdk
|
||||
:findJdk
|
||||
|
||||
set CMD=RUN %*
|
||||
|
||||
:checkJdk17
|
||||
PATH %PATH%;%JAVA_HOME%\bin\
|
||||
for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "JAVA_VERSION=%%j%%k"
|
||||
if %JAVA_VERSION% LSS 17 goto unknownJdk
|
||||
if %JAVA_VERSION% GTR 110 goto unknownJdk
|
||||
goto jdk17
|
||||
|
||||
:unknownJdk
|
||||
echo Starting WSO2 Carbon (in unsupported JDK)
|
||||
echo [ERROR] CARBON is supported only on JDK 1.7, 1.8, 9, 10 and 11
|
||||
goto jdk17
|
||||
|
||||
:jdk17
|
||||
goto runServer
|
||||
|
||||
rem ----------------- Execute The Requested Command ----------------------------
|
||||
|
||||
:runServer
|
||||
cd %CARBON_HOME%
|
||||
|
||||
rem ------------------ Remove tmp folder on startup -----------------------------
|
||||
set TMP_DIR=%CARBON_HOME%\tmp
|
||||
cd "%TMP_DIR%"
|
||||
del *.* /s /q > nul
|
||||
FOR /d %%G in ("*.*") DO rmdir %%G /s /q
|
||||
cd ..
|
||||
|
||||
rem ---------- Add jars to classpath ----------------
|
||||
|
||||
set CARBON_CLASSPATH=".\lib\*";%CARBON_CLASSPATH%
|
||||
|
||||
if %JAVA_VERSION% GEQ 110 set CARBON_CLASSPATH=".\lib\endorsed\*";%CARBON_CLASSPATH%
|
||||
|
||||
if %JAVA_VERSION% LEQ 18 set JAVA_VER_BASED_OPTS=-Djava.endorsed.dirs=".\lib\endorsed";"%JAVA_HOME%\jre\lib\endorsed";"%JAVA_HOME%\lib\endorsed"
|
||||
if %JAVA_VERSION% GEQ 110 set JAVA_VER_BASED_OPTS=--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED
|
||||
|
||||
set CMD_LINE_ARGS=-Xbootclasspath/a:%CARBON_XBOOTCLASSPATH% -Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="%CARBON_HOME%\repository\logs\heap-dump.hprof"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcom.sun.management.jmxremote -classpath %CARBON_CLASSPATH% %JAVA_OPTS% %JAVA_VER_BASED_OPTS%
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcarbon.registry.root=/ -Dcarbon.home="%CARBON_HOME%" -Dinstance.log="" -Dwso2.server.standalone=true -Djava.command="%JAVA_HOME%\bin\java"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Djava.opts="%JAVA_OPTS%" -Djava.io.tmpdir="%CARBON_HOME%\tmp" -Dcatalina.base="%CARBON_HOME%\lib\tomcat" -Dwso2.carbon.xml=%CARBON_HOME%\repository\conf\carbon.xml
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dwso2.registry.xml="%CARBON_HOME%\repository\conf\registry.xml" -Dwso2.user.mgt.xml="%CARBON_HOME%\repository\conf\user-mgt.xml"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dwso2.transports.xml="%CARBON_HOME%\repository\conf\mgt-transports.xml" -Djava.util.logging.config.file="%CARBON_HOME%\repository\conf\etc\logging-bridge.properties"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcarbon.config.dir.path="%CARBON_HOME%\repository\conf"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcomponents.repo="%CARBON_HOME%\repository\components" -Dconf.location="%CARBON_HOME%\repository\conf" -Dcom.atomikos.icatch.file="%CARBON_HOME%\lib\transactions.properties"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dcom.atomikos.icatch.hide_init_file_path="true" -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dcom.sun.jndi.ldap.connect.pool.authentication=simple -Dcom.sun.jndi.ldap.connect.pool.timeout=3000
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcarbon.classpath=%CARBON_CLASSPATH% -Dfile.encoding=UTF8 -DworkerNode=false -Dcarbon.new.config.dir.path="%CARBON_HOME%\repository\resources\conf"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Djava.endorsed.dirs=%JAVA_ENDORSED% -Dorg.opensaml.httpclient.https.disableHostnameVerification=true -Dhttpclient.hostnameVerifier="DefaultAndLocalhost"
|
||||
set CMD_LINE_ARGS=%CMD_LINE_ARGS% -Diot.core.host="localhost" -Diot.core.https.port="9443" -Diot.core.http.port="9763" -Diot.gateway.host="localhost" -Diot.gateway.https.port="8243" -Diot.gateway.http.port="8280" -Diot.gateway.carbon.https.port="9443" -Diot.gateway.carbon.http.port="9763"
|
||||
|
||||
:runJava
|
||||
echo JAVA_HOME environment variable is set to %JAVA_HOME%
|
||||
echo CARBON_HOME environment variable is set to %CARBON_HOME%
|
||||
"%JAVA_HOME%\bin\java" %CMD_LINE_ARGS% org.wso2.carbon.bootstrap.Bootstrap %CMD%
|
||||
if "%ERRORLEVEL%"=="121" goto runJava
|
||||
:end
|
||||
goto endlocal
|
||||
|
||||
:endlocal
|
||||
|
||||
:END
|
||||
366
modules/distribution/src/core/bin/iot-server.sh
Executable file
366
modules/distribution/src/core/bin/iot-server.sh
Executable file
@ -0,0 +1,366 @@
|
||||
#!/bin/sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright 2005-2012 WSO2, Inc. http://www.wso2.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Main Script for the WSO2 Carbon Server
|
||||
#
|
||||
# Environment Variable Prequisites
|
||||
#
|
||||
# CARBON_HOME Home of WSO2 Carbon installation. If not set I will try
|
||||
# to figure it out.
|
||||
#
|
||||
# JAVA_HOME Must point at your Java Development Kit installation.
|
||||
#
|
||||
# JAVA_OPTS (Optional) Java runtime options used when the commands
|
||||
# is executed.
|
||||
#
|
||||
# NOTE: Borrowed generously from Apache Tomcat startup scripts.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# OS specific support. $var _must_ be set to either true or false.
|
||||
#ulimit -n 100000
|
||||
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
os400=false;
|
||||
mingw=false;
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true;;
|
||||
MINGW*) mingw=true;;
|
||||
OS400*) os400=true;;
|
||||
Darwin*) darwin=true
|
||||
if [ -z "$JAVA_VERSION" ] ; then
|
||||
JAVA_VERSION="CurrentJDK"
|
||||
else
|
||||
echo "Using Java version: $JAVA_VERSION"
|
||||
fi
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# resolve links - $0 may be a softlink
|
||||
PRG="$0"
|
||||
|
||||
while [ -h "$PRG" ]; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`/"$link"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get standard environment variables
|
||||
PRGDIR=`dirname "$PRG"`
|
||||
|
||||
# Only set CARBON_HOME if not already set
|
||||
[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||
|
||||
# Set AXIS2_HOME. Needed for One Click JAR Download
|
||||
AXIS2_HOME="$CARBON_HOME"
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
|
||||
[ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
|
||||
fi
|
||||
|
||||
# For OS400
|
||||
if $os400; then
|
||||
# Set job priority to standard for interactive (interactive - 6) by using
|
||||
# the interactive priority - 6, the helper threads that respond to requests
|
||||
# will be running at the same priority as interactive jobs.
|
||||
COMMAND='chgjob job('$JOBNAME') runpty(6)'
|
||||
system $COMMAND
|
||||
|
||||
# Enable multi threading
|
||||
QIBM_MULTI_THREADED=Y
|
||||
export QIBM_MULTI_THREADED
|
||||
fi
|
||||
|
||||
# For Migwn, ensure paths are in UNIX format before anything is touched
|
||||
if $mingw ; then
|
||||
[ -n "$CARBON_HOME" ] &&
|
||||
CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
|
||||
[ -n "$AXIS2_HOME" ] &&
|
||||
CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
|
||||
# TODO classpath?
|
||||
fi
|
||||
|
||||
if [ -z "$JAVACMD" ] ; then
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
echo "Error: JAVA_HOME is not defined correctly."
|
||||
echo " CARBON cannot execute $JAVACMD"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# if JAVA_HOME is not set we're not happy
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
echo "You must set the JAVA_HOME variable before running CARBON."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
|
||||
PID=`cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
fi
|
||||
|
||||
# ----- Process the input command ----------------------------------------------
|
||||
args=""
|
||||
for c in $*
|
||||
do
|
||||
if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then
|
||||
CMD="--debug"
|
||||
continue
|
||||
elif [ "$CMD" = "--debug" ]; then
|
||||
if [ -z "$PORT" ]; then
|
||||
PORT=$c
|
||||
fi
|
||||
elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then
|
||||
CMD="stop"
|
||||
elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then
|
||||
CMD="start"
|
||||
elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then
|
||||
CMD="version"
|
||||
elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then
|
||||
CMD="restart"
|
||||
elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then
|
||||
CMD="test"
|
||||
elif [ "$c" = "--optimize" ] || [ "$c" = "-optimize" ] || [ "$c" = "optimize" ]; then
|
||||
for option in $*; do
|
||||
if [ "$option" = "--skipConfigOptimization" ] || [ "$option" = "-skipConfigOptimization" ] ||
|
||||
[ "$option" = "skipConfigOptimization" ]; then
|
||||
passedSkipConfigOptimizationOption=true
|
||||
echo "Passed skipConfigOptimization Option: $passedSkipConfigOptimizationOption"
|
||||
fi
|
||||
done
|
||||
|
||||
for profile in $*; do
|
||||
case "$profile" in
|
||||
*Dprofile=*)
|
||||
cd $(dirname "$0")
|
||||
if [ "$passedSkipConfigOptimizationOption" = true ]; then
|
||||
sh profileSetup.sh $profile --skipConfigOptimization
|
||||
else
|
||||
sh profileSetup.sh $profile
|
||||
fi
|
||||
echo "Starting the server..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
args="$args $c"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$CMD" = "--debug" ]; then
|
||||
if [ "$PORT" = "" ]; then
|
||||
echo " Please specify the debug port after the --debug option"
|
||||
exit 1
|
||||
fi
|
||||
if [ -n "$JAVA_OPTS" ]; then
|
||||
echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option."
|
||||
fi
|
||||
CMD="RUN"
|
||||
JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT"
|
||||
echo "Please start the remote debugging client to continue..."
|
||||
elif [ "$CMD" = "start" ]; then
|
||||
if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
|
||||
if ps -p $PID > /dev/null ; then
|
||||
echo "Process is already running"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
# using nohup sh to avoid erros in solaris OS.TODO
|
||||
nohup sh "$CARBON_HOME"/bin/iot-server.sh $args > /dev/null 2>&1 &
|
||||
exit 0
|
||||
elif [ "$CMD" = "stop" ]; then
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
kill -term `cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
exit 0
|
||||
elif [ "$CMD" = "restart" ]; then
|
||||
export CARBON_HOME="$CARBON_HOME"
|
||||
kill -term `cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
process_status=0
|
||||
pid=`cat "$CARBON_HOME"/wso2carbon.pid`
|
||||
while [ "$process_status" -eq "0" ]
|
||||
do
|
||||
sleep 1;
|
||||
ps -p$pid 2>&1 > /dev/null
|
||||
process_status=$?
|
||||
done
|
||||
|
||||
# using nohup sh to avoid erros in solaris OS.TODO
|
||||
nohup sh "$CARBON_HOME"/bin/iot-server.sh $args > /dev/null 2>&1 &
|
||||
exit 0
|
||||
elif [ "$CMD" = "test" ]; then
|
||||
JAVACMD="exec "$JAVACMD""
|
||||
elif [ "$CMD" = "version" ]; then
|
||||
cat "$CARBON_HOME"/bin/version.txt
|
||||
cat "$CARBON_HOME"/bin/wso2carbon-version.txt
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ---------- Handle the SSL Issue with proper JDK version --------------------
|
||||
java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}')
|
||||
java_version_formatted=$(echo "$java_version" | awk -F. '{printf("%02d%02d",$1,$2);}')
|
||||
if [ $java_version_formatted -lt 0107 ] || [ $java_version_formatted -gt 1100 ]; then
|
||||
echo " Starting WSO2 Carbon (in unsupported JDK)"
|
||||
echo " [ERROR] CARBON is supported only on JDK 1.7, 1.8, 9, 10 and 11"
|
||||
fi
|
||||
|
||||
CARBON_XBOOTCLASSPATH=""
|
||||
for f in "$CARBON_HOME"/lib/xboot/*.jar
|
||||
do
|
||||
if [ "$f" != "$CARBON_HOME/lib/xboot/*.jar" ];then
|
||||
CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
CARBON_CLASSPATH=""
|
||||
if [ -e "$JAVA_HOME/lib/tools.jar" ]; then
|
||||
CARBON_CLASSPATH="$JAVA_HOME/lib/tools.jar"
|
||||
fi
|
||||
for f in "$CARBON_HOME"/bin/*.jar
|
||||
do
|
||||
if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then
|
||||
CARBON_CLASSPATH="$CARBON_CLASSPATH":$f
|
||||
fi
|
||||
done
|
||||
for t in "$CARBON_HOME"/lib/*.jar
|
||||
do
|
||||
CARBON_CLASSPATH="$CARBON_CLASSPATH":$t
|
||||
done
|
||||
for t in "$CARBON_HOME"/lib/endorsed/*.jar
|
||||
do
|
||||
CARBON_CLASSPATH="$CARBON_CLASSPATH":$t
|
||||
done
|
||||
|
||||
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
|
||||
CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
|
||||
AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
|
||||
CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"`
|
||||
CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"`
|
||||
fi
|
||||
|
||||
# ----- Execute The Requested Command -----------------------------------------
|
||||
|
||||
echo JAVA_HOME environment variable is set to $JAVA_HOME
|
||||
echo CARBON_HOME environment variable is set to "$CARBON_HOME"
|
||||
|
||||
cd "$CARBON_HOME"
|
||||
|
||||
TMP_DIR="$CARBON_HOME"/tmp
|
||||
if [ -d "$TMP_DIR" ]; then
|
||||
rm -rf "$TMP_DIR"/*
|
||||
fi
|
||||
|
||||
START_EXIT_STATUS=121
|
||||
status=$START_EXIT_STATUS
|
||||
|
||||
if [ -z "$JVM_MEM_OPTS" ]; then
|
||||
java_version=$("$JAVACMD" -version 2>&1 | awk -F '"' '/version/ {print $2}')
|
||||
JVM_MEM_OPTS="-Xms256m -Xmx1024m"
|
||||
if [ "$java_version" \< "1.8" ]; then
|
||||
JVM_MEM_OPTS="$JVM_MEM_OPTS -XX:MaxPermSize=256m"
|
||||
fi
|
||||
fi
|
||||
echo "Using Java memory options: $JVM_MEM_OPTS"
|
||||
|
||||
#To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property.
|
||||
# -Djava.rmi.server.hostname="your.IP.goes.here"
|
||||
|
||||
JAVA_VER_BASED_OPTS=""
|
||||
|
||||
|
||||
if [ $java_version_formatted -ge 1100 ]; then
|
||||
JAVA_VER_BASED_OPTS="--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED"
|
||||
fi
|
||||
|
||||
while [ "$status" = "$START_EXIT_STATUS" ]
|
||||
do
|
||||
$JAVACMD \
|
||||
-Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \
|
||||
$JVM_MEM_OPTS \
|
||||
-XX:+HeapDumpOnOutOfMemoryError \
|
||||
-XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" \
|
||||
$JAVA_OPTS \
|
||||
-Dcom.sun.management.jmxremote \
|
||||
-classpath "$CARBON_CLASSPATH" \
|
||||
$JAVA_VER_BASED_OPTS \
|
||||
-Djava.io.tmpdir="$CARBON_HOME/tmp" \
|
||||
-Dcatalina.base="$CARBON_HOME/lib/tomcat" \
|
||||
-Dwso2.server.standalone=true \
|
||||
-Dcarbon.registry.root=/ \
|
||||
-Djava.command="$JAVACMD" \
|
||||
-Dcarbon.home="$CARBON_HOME" \
|
||||
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
|
||||
-Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \
|
||||
-Djava.util.logging.config.file="$CARBON_HOME/repository/conf/etc/logging-bridge.properties" \
|
||||
-Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \
|
||||
-Dconf.location="$CARBON_HOME/repository/conf"\
|
||||
-Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \
|
||||
-Dcom.atomikos.icatch.hide_init_file_path=true \
|
||||
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \
|
||||
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true \
|
||||
-Dcom.sun.jndi.ldap.connect.pool.authentication=simple \
|
||||
-Dcom.sun.jndi.ldap.connect.pool.timeout=3000 \
|
||||
-Dorg.terracotta.quartz.skipUpdateCheck=true \
|
||||
-Djava.security.egd=file:/dev/./urandom \
|
||||
-Dfile.encoding=UTF8 \
|
||||
-Djava.net.preferIPv4Stack=true \
|
||||
-Dcom.ibm.cacheLocalHost=true \
|
||||
-Dorg.opensaml.httpclient.https.disableHostnameVerification=true \
|
||||
-Dhttpclient.hostnameVerifier=AllowAll \
|
||||
-DworkerNode=false \
|
||||
-DenableCorrelationLogs=false \
|
||||
-Dcarbon.new.config.dir.path="$CARBON_HOME/repository/resources/conf" \
|
||||
-Djavax.xml.xpath.XPathFactory:http://java.sun.com/jaxp/xpath/dom=net.sf.saxon.xpath.XPathFactoryImpl \
|
||||
-Diot.core.host="localhost" \
|
||||
-Diot.core.https.port="9443" \
|
||||
-Diot.core.http.port="9763" \
|
||||
-Diot.gateway.host="localhost" \
|
||||
-Diot.gateway.https.port="8243" \
|
||||
-Diot.gateway.http.port="8280" \
|
||||
-Diot.gateway.carbon.https.port="9443" \
|
||||
-Diot.gateway.carbon.http.port="9763" \
|
||||
org.wso2.carbon.bootstrap.Bootstrap $*
|
||||
status=$?
|
||||
done
|
||||
319
modules/distribution/src/core/conf/deployment.toml
Normal file
319
modules/distribution/src/core/conf/deployment.toml
Normal file
@ -0,0 +1,319 @@
|
||||
[server]
|
||||
hostname = "localhost"
|
||||
#offset=0
|
||||
base_path = "${carbon.protocol}://${carbon.host}:${carbon.management.port}"
|
||||
#discard_empty_caches = false
|
||||
server_role = "default"
|
||||
|
||||
[database_configuration]
|
||||
enable_h2_console = "true"
|
||||
|
||||
[super_admin]
|
||||
username = "admin"
|
||||
password = "admin"
|
||||
create_admin_account = true
|
||||
|
||||
[user_store]
|
||||
type = "database_unique_id"
|
||||
|
||||
[database.apim_db]
|
||||
type = "h2"
|
||||
url = "jdbc:h2:./repository/database/WSO2AM_DB;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE"
|
||||
username = "wso2carbon"
|
||||
password = "wso2carbon"
|
||||
|
||||
[database.shared_db]
|
||||
type = "h2"
|
||||
url = "jdbc:h2:./repository/database/WSO2SHARED_DB;DB_CLOSE_ON_EXIT=FALSE"
|
||||
username = "wso2carbon"
|
||||
password = "wso2carbon"
|
||||
|
||||
[keystore.tls]
|
||||
file_name = "wso2carbon.jks"
|
||||
type = "JKS"
|
||||
password = "wso2carbon"
|
||||
alias = "wso2carbon"
|
||||
key_password = "wso2carbon"
|
||||
|
||||
#[keystore.primary]
|
||||
#file_name = "wso2carbon.jks"
|
||||
#type = "JKS"
|
||||
#password = "wso2carbon"
|
||||
#alias = "wso2carbon"
|
||||
#key_password = "wso2carbon"
|
||||
|
||||
#[keystore.internal]
|
||||
#file_name = "wso2carbon.jks"
|
||||
#type = "JKS"
|
||||
#password = "wso2carbon"
|
||||
#alias = "wso2carbon"
|
||||
#key_password = "wso2carbon"
|
||||
|
||||
[[apim.gateway.environment]]
|
||||
name = "Default"
|
||||
type = "hybrid"
|
||||
display_in_api_console = true
|
||||
description = "This is a hybrid gateway that handles both production and sandbox token traffic."
|
||||
show_as_token_endpoint_url = true
|
||||
service_url = "https://localhost:${mgt.transport.https.port}/services/"
|
||||
username= "${admin.username}"
|
||||
password= "${admin.password}"
|
||||
ws_endpoint = "ws://localhost:9099"
|
||||
wss_endpoint = "wss://localhost:8099"
|
||||
http_endpoint = "http://localhost:${http.nio.port}"
|
||||
https_endpoint = "https://localhost:${https.nio.port}"
|
||||
websub_event_receiver_http_endpoint = "http://localhost:9021"
|
||||
websub_event_receiver_https_endpoint = "https://localhost:8021"
|
||||
|
||||
[apim.sync_runtime_artifacts.gateway]
|
||||
gateway_labels =["Default"]
|
||||
|
||||
#[apim.cache.gateway_token]
|
||||
#enable = true
|
||||
#expiry_time = "900s"
|
||||
|
||||
#[apim.cache.resource]
|
||||
#enable = true
|
||||
#expiry_time = "900s"
|
||||
|
||||
#[apim.cache.km_token]
|
||||
#enable = false
|
||||
#expiry_time = "15m"
|
||||
|
||||
#[apim.cache.recent_apis]
|
||||
#enable = false
|
||||
|
||||
#[apim.cache.scopes]
|
||||
#enable = true
|
||||
|
||||
#[apim.cache.publisher_roles]
|
||||
#enable = true
|
||||
|
||||
#[apim.cache.jwt_claim]
|
||||
#enable = true
|
||||
#expiry_time = "15m"
|
||||
|
||||
#[apim.cache.tags]
|
||||
#expiry_time = "2m"
|
||||
|
||||
[apim.analytics]
|
||||
enable = false
|
||||
config_endpoint = "https://localhost:8080/auth/v1"
|
||||
auth_token = ""
|
||||
|
||||
#[apim.key_manager]
|
||||
#service_url = "https://localhost:${mgt.transport.https.port}/services/"
|
||||
#username = "$ref{super_admin.username}"
|
||||
#password = "$ref{super_admin.password}"
|
||||
#pool.init_idle_capacity = 50
|
||||
#pool.max_idle = 100
|
||||
#key_validation_handler_type = "default"
|
||||
#key_validation_handler_type = "custom"
|
||||
#key_validation_handler_impl = "org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler"
|
||||
|
||||
#[apim.idp]
|
||||
#server_url = "https://localhost:${mgt.transport.https.port}"
|
||||
#authorize_endpoint = "https://localhost:${mgt.transport.https.port}/oauth2/authorize"
|
||||
#oidc_logout_endpoint = "https://localhost:${mgt.transport.https.port}/oidc/logout"
|
||||
#oidc_check_session_endpoint = "https://localhost:${mgt.transport.https.port}/oidc/checksession"
|
||||
|
||||
#[apim.jwt]
|
||||
#enable = true
|
||||
#encoding = "base64" # base64,base64url
|
||||
#generator_impl = "org.wso2.carbon.apimgt.keymgt.token.JWTGenerator"
|
||||
#claim_dialect = "http://wso2.org/claims"
|
||||
#convert_dialect = false
|
||||
#header = "X-JWT-Assertion"
|
||||
#signing_algorithm = "SHA256withRSA"
|
||||
#enable_user_claims = true
|
||||
#claims_extractor_impl = "org.wso2.carbon.apimgt.impl.token.ExtendedDefaultClaimsRetriever"
|
||||
|
||||
[apim.oauth_config]
|
||||
# ------------------Enabled for IOT ---------------------------
|
||||
enable_outbound_auth_header = true
|
||||
#auth_header = "Authorization"
|
||||
#revoke_endpoint = "https://localhost:${https.nio.port}/revoke"
|
||||
#enable_token_encryption = false
|
||||
#enable_token_hashing = false
|
||||
|
||||
#[apim.devportal]
|
||||
#url = "https://localhost:${mgt.transport.https.port}/devportal"
|
||||
#enable_application_sharing = false
|
||||
#if application_sharing_type, application_sharing_impl both defined priority goes to application_sharing_impl
|
||||
#application_sharing_type = "default" #changed type, saml, default #todo: check the new config for rest api
|
||||
#application_sharing_impl = "org.wso2.carbon.apimgt.impl.SAMLGroupIDExtractorImpl"
|
||||
#display_multiple_versions = false
|
||||
#display_deprecated_apis = false
|
||||
#enable_comments = true
|
||||
#enable_ratings = true
|
||||
#enable_forum = true
|
||||
#enable_anonymous_mode=true
|
||||
#enable_cross_tenant_subscriptions = true
|
||||
#default_reserved_username = "apim_reserved_user"
|
||||
|
||||
[apim.cors]
|
||||
allow_origins = "*"
|
||||
allow_methods = ["GET","PUT","POST","DELETE","PATCH","OPTIONS"]
|
||||
allow_headers = ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction","apikey","Internal-Key"]
|
||||
allow_credentials = false
|
||||
|
||||
#[apim.throttling]
|
||||
#enable_data_publishing = true
|
||||
#enable_policy_deploy = true
|
||||
#enable_blacklist_condition = true
|
||||
#enable_persistence = true
|
||||
#throttle_decision_endpoints = ["tcp://localhost:5672","tcp://localhost:5672"]
|
||||
|
||||
#[apim.throttling.blacklist_condition]
|
||||
#start_delay = "5m"
|
||||
#period = "1h"
|
||||
|
||||
#[apim.throttling.jms]
|
||||
#start_delay = "5m"
|
||||
|
||||
#[apim.throttling.event_sync]
|
||||
#hostName = "0.0.0.0"
|
||||
#port = 11224
|
||||
|
||||
#[apim.throttling.event_management]
|
||||
#hostName = "0.0.0.0"
|
||||
#port = 10005
|
||||
|
||||
#[[apim.throttling.url_group]]
|
||||
#traffic_manager_urls = ["tcp://localhost:9611","tcp://localhost:9611"]
|
||||
#traffic_manager_auth_urls = ["ssl://localhost:9711","ssl://localhost:9711"]
|
||||
#type = "loadbalance"
|
||||
|
||||
#[[apim.throttling.url_group]]
|
||||
#traffic_manager_urls = ["tcp://localhost:9611","tcp://localhost:9611"]
|
||||
#traffic_manager_auth_urls = ["ssl://localhost:9711","ssl://localhost:9711"]
|
||||
#type = "failover"
|
||||
|
||||
#[apim.workflow]
|
||||
#enable = false
|
||||
#service_url = "https://localhost:9445/bpmn"
|
||||
#username = "$ref{super_admin.username}"
|
||||
#password = "$ref{super_admin.password}"
|
||||
#callback_endpoint = "https://localhost:${mgt.transport.https.port}/api/am/admin/v0.17/workflows/update-workflow-status"
|
||||
#token_endpoint = "https://localhost:${https.nio.port}/token"
|
||||
#client_registration_endpoint = "https://localhost:${mgt.transport.https.port}/client-registration/v0.17/register"
|
||||
#client_registration_username = "$ref{super_admin.username}"
|
||||
#client_registration_password = "$ref{super_admin.password}"
|
||||
|
||||
#data bridge config
|
||||
#[transport.receiver]
|
||||
#type = "binary"
|
||||
#worker_threads = 10
|
||||
#session_timeout = "30m"
|
||||
#keystore.file_name = "$ref{keystore.tls.file_name}"
|
||||
#keystore.password = "$ref{keystore.tls.password}"
|
||||
#tcp_port = 9611
|
||||
#ssl_port = 9711
|
||||
#ssl_receiver_thread_pool_size = 100
|
||||
#tcp_receiver_thread_pool_size = 100
|
||||
#ssl_enabled_protocols = ["TLSv1","TLSv1.1","TLSv1.2"]
|
||||
#ciphers = ["SSL_RSA_WITH_RC4_128_MD5","SSL_RSA_WITH_RC4_128_SHA"]
|
||||
|
||||
#[apim.notification]
|
||||
#from_address = "APIM.com"
|
||||
#username = "APIM"
|
||||
#password = "APIM+123"
|
||||
#hostname = "localhost"
|
||||
#port = 3025
|
||||
#enable_start_tls = false
|
||||
#enable_authentication = true
|
||||
|
||||
#[apim.token.revocation]
|
||||
#notifier_impl = "org.wso2.carbon.apimgt.keymgt.events.TokenRevocationNotifierImpl"
|
||||
#enable_realtime_notifier = true
|
||||
#realtime_notifier.ttl = 5000
|
||||
#enable_persistent_notifier = true
|
||||
#persistent_notifier.hostname = "https://localhost:2379/v2/keys/jti/"
|
||||
#persistent_notifier.ttl = 5000
|
||||
#persistent_notifier.username = "root"
|
||||
#persistent_notifier.password = "root"
|
||||
|
||||
[[event_handler]]
|
||||
name="userPostSelfRegistration"
|
||||
subscriptions=["POST_ADD_USER"]
|
||||
|
||||
[service_provider]
|
||||
sp_name_regex = "^[\\sa-zA-Z0-9._-]*$"
|
||||
|
||||
[database.local]
|
||||
url = "jdbc:h2:./repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE"
|
||||
|
||||
[[event_listener]]
|
||||
id = "token_revocation"
|
||||
type = "org.wso2.carbon.identity.core.handler.AbstractIdentityHandler"
|
||||
name = "org.wso2.is.notification.ApimOauthEventInterceptor"
|
||||
order = 1
|
||||
[event_listener.properties]
|
||||
notification_endpoint = "https://localhost:${mgt.transport.https.port}/internal/data/v1/notify"
|
||||
username = "${admin.username}"
|
||||
password = "${admin.password}"
|
||||
'header.X-WSO2-KEY-MANAGER' = "default"
|
||||
|
||||
# ----------------Additionally added IOT-----------------------
|
||||
[[resource.access_control]]
|
||||
context="(.*)/api/device-mgt/v1.0/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/api-application-registration/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/api/device-mgt/android/v1.0/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/api/device-mgt/windows/v1.0/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/api/device-mgt/ios/v1.0/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)//api/application-mgt-publisher/v1.0/(.*)"
|
||||
secure="true"
|
||||
http_method="all"
|
||||
|
||||
#---- below configurations coming from APIM----
|
||||
[[resource.access_control]]
|
||||
context="(.*)/keymanager-operations/user-info/claims(.*)"
|
||||
secure="true"
|
||||
http_method="GET"
|
||||
permissions="/permission/admin/manage/identity/usermgt/list"
|
||||
scopes="internal_user_mgt_list"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/keymanager-operations/user-info/claims/generate"
|
||||
secure="true"
|
||||
http_method="POST"
|
||||
permissions="/permission/admin/manage/identity/usermgt/list"
|
||||
scopes="internal_user_mgt_list"
|
||||
|
||||
[[resource.access_control]]
|
||||
context="(.*)/keymanager-operations/dcr/register"
|
||||
secure="true"
|
||||
http_method="POST"
|
||||
permissions="/permission/admin/manage/identity/applicationmgt/create"
|
||||
scopes="internal_application_mgt_create"
|
||||
|
||||
[apim.sync_runtime_artifacts.gateway.skip_list]
|
||||
apis = ["_TokenAPI_.xml", "_API_Application_Registration_.xml", "health-check.xml", "admin--Android-Mutual-SSL-Configuration-Management.xml", "admin--Android-Mutual-SSL-Device-Management.xml", "admin--Android-Mutual-SSL-Event-Receiver.xml", "admin--IOS-Enrollment.xml", "admin--IOS-Enrollment-Authenticate-Agent.xml", "admin--IOS-Enrollment-Profile.xml", "admin--IOS-Enrollment-Profile-DEP.xml", "admin--IOS-Enrollment-Scep.xml", "admin--Windows_8.1_Device_Management_Service.xml", "admin--Windows_8.1_Device_Management_Service_v1.0.0.xml", "admin--Windows_8.1_Enrollment_Service.xml", "admin--Windows_8.1_Enrollment_Service_v1.0.0.xml", "admin--Windows_10_Device_management.xml", "admin--Windows_10_Device_management_v1.0.0.xml", "admin--Windows_10_Enrollment_Service.xml", "admin--Windows_10_Enrollment_Service_v1.0.0.xml", "admin--Windows_Discovery_Service.xml", "admin--Windows_Discovery_Service_v1.0.0.xml", "admin--Windows_Enrollment_policy_Service.xml", "admin--Windows_Enrollment_policy_Service_v1.0.0.xml"]
|
||||
sequences = ["_api_registration_fault_.xml"]
|
||||
|
||||
[transport.https.properties]
|
||||
maxHttpHeaderSize="16384"
|
||||
|
||||
[transport.http.properties]
|
||||
maxHttpHeaderSize="16384"
|
||||
|
||||
75
modules/distribution/src/core/conf/tomcat/context.xml
Normal file
75
modules/distribution/src/core/conf/tomcat/context.xml
Normal file
@ -0,0 +1,75 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- The contents of this file will be loaded for each web application -->
|
||||
<Context useHttpOnly="true" useRelativeRedirects="false">
|
||||
|
||||
<!-- Default set of monitored resources -->
|
||||
|
||||
<Loader className="org.wso2.carbon.webapp.mgt.loader.CarbonWebappLoader"
|
||||
loaderClass="org.wso2.carbon.webapp.mgt.loader.CarbonWebappClassLoader"/>
|
||||
|
||||
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
|
||||
<Manager className="org.wso2.carbon.webapp.mgt.CarbonTomcatSessionManager">
|
||||
<SessionIdGenerator sessionIdLength="128"/>
|
||||
</Manager>
|
||||
|
||||
<!-- Uncomment this to enable Comet connection tacking (provides events
|
||||
on session expiration as well as webapp lifecycle) -->
|
||||
<!--
|
||||
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
|
||||
-->
|
||||
<!-- Listener for WS-Discovery -->
|
||||
<!--<Listener className="org.wso2.carbon.discovery.cxf.listeners.TomcatCxfDiscoveryListener" />-->
|
||||
|
||||
<!-- APIPublisherLifecycleListener listens to webapp deployment events and publish JAX-RS services packaged into each of the aforesaid
|
||||
web applications that are configured to be made available as 'Managed APIs'. Given below are the parameters that need to be congigured
|
||||
in the form of 'context-param's in web.xml of each applicable web application.
|
||||
|
||||
'managed-api-enabled' - Indicates that the web application being processed needs to be published as a 'Managed API'.
|
||||
'managed-api-context' - Context of the 'Managed API'.
|
||||
'managed-api-version' - Version of the 'Managed API'.
|
||||
'managed-api-owner' - Owner of the 'Managed API'.
|
||||
'managed-api-isSecured' - Indicates if the 'Managed API' needs to be exposed over a secured channel.
|
||||
'managed-api-transports' - Transports through which the 'Managed API' is exposed.
|
||||
-->
|
||||
<Listener className="org.wso2.carbon.apimgt.webapp.publisher.lifecycle.listener.APIPublisherLifecycleListener"/>
|
||||
|
||||
<!-- WebAppDeploymentLifecycleListener listens to webapp deployment events and adds the custom permissions defined in webapps'
|
||||
META-INF/permissions.xml to the permissions/admin section of registry. Given below is a sample of permissions.xml file.
|
||||
|
||||
<PermissionConfiguration>
|
||||
<Permission>
|
||||
<name>Device Management</name>
|
||||
<path>/device-mgt</path>
|
||||
</Permission>
|
||||
<Permission>
|
||||
<name>Administrator</name>
|
||||
<path>/device-mgt/admin</path>
|
||||
</Permission>
|
||||
<Permission>
|
||||
<name>Dashboard</name>
|
||||
<path>/device-mgt/admin/dashboard</path>
|
||||
</Permission>
|
||||
<Permission>
|
||||
<name>Lock</name>
|
||||
<path>/device-mgt/admin/operation/lock</path>
|
||||
</Permission>
|
||||
</PermissionConfiguration>
|
||||
-->
|
||||
<Listener className="org.wso2.carbon.device.mgt.core.config.permission.lifecycle.WebAppDeploymentLifecycleListener"/>
|
||||
</Context>
|
||||
@ -0,0 +1,155 @@
|
||||
<%--
|
||||
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
--%>
|
||||
|
||||
<!-- page content -->
|
||||
<div class="ui grid">
|
||||
<div class="two column row"></div>
|
||||
<div class="four wide computer four wide tablet column">
|
||||
<div id="toc" class="ui segment toc"></div>
|
||||
</div>
|
||||
<div class="twelve wide computer twelve wide tablet column">
|
||||
<!-- content -->
|
||||
<div>
|
||||
<div>
|
||||
<h1>
|
||||
Entgra IoT Server - Cookie Policy
|
||||
</h1>
|
||||
</div>
|
||||
<div>
|
||||
<%-- Customizable content. Due to this nature, i18n is not implemented for this section --%>
|
||||
<div id="cookiePolicy">
|
||||
<h4><a href="https://wso2.com/iot/"><strong>About Entgra IoT Server</strong></a></h4>
|
||||
<p>Entgra IoT Server is a complete solution that enables device manufacturers and enterprises to connect and manage their devices, build apps, manage events, secure devices and data, and visualize sensor data in a scalable manner.
|
||||
|
||||
<p>It also offers a complete and secure enterprise mobility management (EMM/MDM) solution that aims to address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows devices, it helps organizations deal with both corporate owned, personally enabled (COPE) and employee-owned devices with the bring your own device (BYOD) concept.</p>
|
||||
|
||||
<p>Entgra IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and geo-fencing information of devices including details of those in motion and stationary state.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="cookie-policy"><strong>Cookie Policy</strong></h2>
|
||||
<p>IoT Server uses cookies to provide you with the best user experience, and to securely identify you. You might not be able to access some of the services if you disable cookies.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="what-is-a-cookie">What is a cookie ?</h2>
|
||||
<p>A browser cookie is a small piece of data that is stored on your device to help websites and mobile apps remember things about you. Other technologies, including Web storage and identifiers associated with your device, may be used for similar purposes. In this policy, we use the term “cookies” to discuss all of these technologies.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="how-iot-process-cookies">How does IoT Sever process cookies ?</h2>
|
||||
<p>IoT Server uses cookies to store and retrieve information on your browser. This information is used to provide a better user experience. Some cookies have the primary purpose of allowing logging in to the system, maintaining sessions, and keeping track of activities you do within the login session.</p>
|
||||
<p>Some cookies used in IoT Server are used to identify you personally. However, the cookie lifetime will end when you log-out ending your session or when your session expires.</p>
|
||||
<p>Some cookies are simply used to give you a more personalised web experience, and these cannot be used to identify you or your activities personally.</p>
|
||||
<p>This Cookie Policy is part of the IoT Server Privacy Policy.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="what-iot-use-cookies-for">What does IoT use cookies for ?</h2>
|
||||
<p>Cookies are used for two purposes in IoT server</p>
|
||||
<ol>
|
||||
<li>Security.</li>
|
||||
<li>Providing a better user experience.</li>
|
||||
</ol>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="iot-uses-cookies-for-the-following-purposes">IoT Server uses cookies for the following purposes</h3>
|
||||
<h4>Preferences</h4>
|
||||
<p>IoT Server uses cookies to remember your settings and preferences and to auto-fill the fields to make your interactions with the site easier.</p>
|
||||
<ul>
|
||||
<li>These cannot be used to identify you personally.</li>
|
||||
</ul>
|
||||
<h4>Security</h4>
|
||||
<p>IoT Server uses selected cookies to identify and prevent security risks.</p>
|
||||
<p>For example, IoT Server may use cookies to store your session information to prevent others from changing your password without your username and password.</p>
|
||||
<p>IoT Server uses session cookie to maintain your active session.</p>
|
||||
<p>IoT Server may use a temporary cookie when performing multi-factor authentication and federated authentication.</p>
|
||||
<p>IoT Server may use permanent cookies to detect the devices you have logged in previously. This is to to calculate the <strong>risk level</strong> associated with your current login attempt. Using these cookies protects you and your account from possible attacks.</p>
|
||||
<h4>Performance</h4>
|
||||
<p>IoT Server may use cookies to allow “Remember Me” functionalities.</p>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="analytics">Analytics</h3>
|
||||
<p>IoT Server as a product does not use cookies for analytical purposes.</p>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="third-party-cookies">Third party cookies</h3>
|
||||
<p>Using IoT Server may cause some third-party cookie being set to your browser. IoT Server has no control over the operation of these cookies. The third-party cookies which maybe set include,</p>
|
||||
<ul>
|
||||
<li>Any of the social login sites, when IoT Server is configured to use “Social” or “Federated” login, and you opt to do login with your “Social Account”</li>
|
||||
<li>Any third party federated login</li>
|
||||
</ul>
|
||||
<p>We strongly advise you to refer the respective cookie policies of such sites carefully as IoT Server has no knowledge or use on these cookies.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="what-type-of-cookies-iot-use">What type of cookies does IoT Server use ?</h2>
|
||||
<p>IoT Server uses persistent cookies and session cookies. A persistent cookie helps IoT Server to recognize you as an existing user, so you can easily return to WSO2 or interact with IoT Server without signing in again. After you sign in, a persistent cookie stays in your browser and will be read by IoT Server when you return.</p>
|
||||
<p>A session cookie is erased when the user closes the Web browser. It is stored in temporarily and is not retained after the browser is closed. Session cookies do not collect information from the user’s computer.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="how-do-i-control-my-cookies">How do I control my cookies ?</h2>
|
||||
<p>Most browsers allow you to control cookies through settings. However, if you limit the ability of websites to set cookies, you may worsen your overall user experience, since it will no longer be personalized to you. It may also stop you from saving customized settings like login information. Disabling cookies might make you unable to use Authentication and Authorization functionalities offered by IoT Server.</p>
|
||||
<p>If you have any questions or concerns regarding the use of cookies, please contact the Data Protection Officer of the organization running this IoT Server instance.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="what-are-the-cookies-used">What are the cookies used ?</h2>
|
||||
<table class="table table-bordered">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p><strong>Cookie Name</strong></p>
|
||||
</td>
|
||||
<td>
|
||||
<p><strong>Purpose</strong></p>
|
||||
</td>
|
||||
<td>
|
||||
<p><strong>Retention</strong></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>JSESSIONID</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Keeps track of the user session data when you are logged in for providing a better user experience.</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Session</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>commonAuthId</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Used for authentication the logged in session.</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Session</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>samlssoTokenId</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Used for mapping the logged in users with the SAML token. </p>
|
||||
</td>
|
||||
<td>
|
||||
<p>Request</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="disclaimer">Disclaimer</h2>
|
||||
<p>This cookie policy is only for illustrative purposes of the IoT Server product. The content in this policy is technically correct at the time of product shipment. The organization which runs this IoT Server instance has the full authority and responsibility of the effective Cookie Policy.</p>
|
||||
</div>
|
||||
<%-- /Customizable content --%>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /content -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,798 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 232 81" style="enable-background:new 0 0 232 81;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{clip-path:url(#SVGID_2_);fill:#308BD6;}
|
||||
.st2{clip-path:url(#SVGID_2_);fill:#318CD6;}
|
||||
.st3{clip-path:url(#SVGID_2_);fill:#328DD7;}
|
||||
.st4{clip-path:url(#SVGID_2_);fill:#338ED7;}
|
||||
.st5{clip-path:url(#SVGID_2_);fill:#348FD8;}
|
||||
.st6{clip-path:url(#SVGID_2_);fill:#3590D8;}
|
||||
.st7{clip-path:url(#SVGID_2_);fill:#3691D9;}
|
||||
.st8{clip-path:url(#SVGID_2_);fill:#3792D9;}
|
||||
.st9{clip-path:url(#SVGID_2_);fill:#3893DA;}
|
||||
.st10{clip-path:url(#SVGID_2_);fill:#3994DA;}
|
||||
.st11{clip-path:url(#SVGID_2_);fill:#3A95DA;}
|
||||
.st12{clip-path:url(#SVGID_2_);fill:#3B96DB;}
|
||||
.st13{clip-path:url(#SVGID_2_);fill:#3C97DB;}
|
||||
.st14{clip-path:url(#SVGID_2_);fill:#3D98DC;}
|
||||
.st15{clip-path:url(#SVGID_2_);fill:#3E99DC;}
|
||||
.st16{clip-path:url(#SVGID_2_);fill:#3F9ADD;}
|
||||
.st17{clip-path:url(#SVGID_2_);fill:#409BDD;}
|
||||
.st18{clip-path:url(#SVGID_2_);fill:#419CDE;}
|
||||
.st19{clip-path:url(#SVGID_2_);fill:#429DDE;}
|
||||
.st20{clip-path:url(#SVGID_2_);fill:#439EDE;}
|
||||
.st21{clip-path:url(#SVGID_2_);fill:#449FDF;}
|
||||
.st22{clip-path:url(#SVGID_2_);fill:#45A0DF;}
|
||||
.st23{clip-path:url(#SVGID_2_);fill:#46A1E0;}
|
||||
.st24{clip-path:url(#SVGID_2_);fill:#47A2E0;}
|
||||
.st25{clip-path:url(#SVGID_2_);fill:#48A4E1;}
|
||||
.st26{clip-path:url(#SVGID_2_);fill:#49A5E1;}
|
||||
.st27{clip-path:url(#SVGID_2_);fill:#4AA6E2;}
|
||||
.st28{clip-path:url(#SVGID_2_);fill:#4BA7E2;}
|
||||
.st29{clip-path:url(#SVGID_2_);fill:#4CA8E3;}
|
||||
.st30{clip-path:url(#SVGID_2_);fill:#4DA9E3;}
|
||||
.st31{clip-path:url(#SVGID_2_);fill:#4EAAE3;}
|
||||
.st32{clip-path:url(#SVGID_2_);fill:#4FABE4;}
|
||||
.st33{clip-path:url(#SVGID_2_);fill:#50ACE4;}
|
||||
.st34{clip-path:url(#SVGID_2_);fill:#51ADE5;}
|
||||
.st35{clip-path:url(#SVGID_2_);fill:#52AEE5;}
|
||||
.st36{clip-path:url(#SVGID_2_);fill:#53AFE6;}
|
||||
.st37{clip-path:url(#SVGID_2_);fill:#54B0E6;}
|
||||
.st38{clip-path:url(#SVGID_2_);fill:#55B1E7;}
|
||||
.st39{clip-path:url(#SVGID_2_);fill:#56B2E7;}
|
||||
.st40{clip-path:url(#SVGID_2_);fill:#57B3E7;}
|
||||
.st41{clip-path:url(#SVGID_2_);fill:#58B4E8;}
|
||||
.st42{clip-path:url(#SVGID_2_);fill:#59B5E8;}
|
||||
.st43{clip-path:url(#SVGID_2_);fill:#5AB6E9;}
|
||||
.st44{clip-path:url(#SVGID_2_);fill:#5BB7E9;}
|
||||
.st45{clip-path:url(#SVGID_2_);fill:#5CB8EA;}
|
||||
.st46{clip-path:url(#SVGID_2_);fill:#5DB9EA;}
|
||||
.st47{clip-path:url(#SVGID_2_);fill:#5EBAEB;}
|
||||
.st48{clip-path:url(#SVGID_2_);fill:#5FBBEB;}
|
||||
.st49{clip-path:url(#SVGID_4_);fill:#2E5E87;}
|
||||
.st50{clip-path:url(#SVGID_4_);fill:#2E5F88;}
|
||||
.st51{clip-path:url(#SVGID_4_);fill:#2F5F89;}
|
||||
.st52{clip-path:url(#SVGID_4_);fill:#2F608A;}
|
||||
.st53{clip-path:url(#SVGID_4_);fill:#30618B;}
|
||||
.st54{clip-path:url(#SVGID_4_);fill:#30628C;}
|
||||
.st55{clip-path:url(#SVGID_4_);fill:#31628D;}
|
||||
.st56{clip-path:url(#SVGID_4_);fill:#31638E;}
|
||||
.st57{clip-path:url(#SVGID_4_);fill:#31648F;}
|
||||
.st58{clip-path:url(#SVGID_4_);fill:#326590;}
|
||||
.st59{clip-path:url(#SVGID_4_);fill:#326591;}
|
||||
.st60{clip-path:url(#SVGID_4_);fill:#336692;}
|
||||
.st61{clip-path:url(#SVGID_4_);fill:#336793;}
|
||||
.st62{clip-path:url(#SVGID_4_);fill:#346894;}
|
||||
.st63{clip-path:url(#SVGID_4_);fill:#346895;}
|
||||
.st64{clip-path:url(#SVGID_4_);fill:#356996;}
|
||||
.st65{clip-path:url(#SVGID_4_);fill:#356A97;}
|
||||
.st66{clip-path:url(#SVGID_4_);fill:#356B98;}
|
||||
.st67{clip-path:url(#SVGID_4_);fill:#366B99;}
|
||||
.st68{clip-path:url(#SVGID_4_);fill:#366C9A;}
|
||||
.st69{clip-path:url(#SVGID_4_);fill:#376D9B;}
|
||||
.st70{clip-path:url(#SVGID_4_);fill:#376E9C;}
|
||||
.st71{clip-path:url(#SVGID_4_);fill:#386E9D;}
|
||||
.st72{clip-path:url(#SVGID_4_);fill:#386F9E;}
|
||||
.st73{clip-path:url(#SVGID_4_);fill:#38709F;}
|
||||
.st74{clip-path:url(#SVGID_4_);fill:#3971A0;}
|
||||
.st75{clip-path:url(#SVGID_4_);fill:#3971A1;}
|
||||
.st76{clip-path:url(#SVGID_4_);fill:#3A72A2;}
|
||||
.st77{clip-path:url(#SVGID_4_);fill:#3A73A3;}
|
||||
.st78{clip-path:url(#SVGID_4_);fill:#3B74A4;}
|
||||
.st79{clip-path:url(#SVGID_4_);fill:#3B74A5;}
|
||||
.st80{clip-path:url(#SVGID_4_);fill:#3C75A7;}
|
||||
.st81{clip-path:url(#SVGID_4_);fill:#3C76A8;}
|
||||
.st82{clip-path:url(#SVGID_4_);fill:#3C76A9;}
|
||||
.st83{clip-path:url(#SVGID_4_);fill:#3D77AA;}
|
||||
.st84{clip-path:url(#SVGID_4_);fill:#3D78AB;}
|
||||
.st85{clip-path:url(#SVGID_4_);fill:#3E79AC;}
|
||||
.st86{clip-path:url(#SVGID_4_);fill:#3E79AD;}
|
||||
.st87{clip-path:url(#SVGID_4_);fill:#3F7AAE;}
|
||||
.st88{clip-path:url(#SVGID_4_);fill:#3F7BAF;}
|
||||
.st89{clip-path:url(#SVGID_4_);fill:#3F7CB0;}
|
||||
.st90{clip-path:url(#SVGID_4_);fill:#407CB1;}
|
||||
.st91{clip-path:url(#SVGID_4_);fill:#407DB2;}
|
||||
.st92{clip-path:url(#SVGID_4_);fill:#417EB3;}
|
||||
.st93{clip-path:url(#SVGID_4_);fill:#417FB4;}
|
||||
.st94{clip-path:url(#SVGID_4_);fill:#427FB5;}
|
||||
.st95{clip-path:url(#SVGID_4_);fill:#4280B6;}
|
||||
.st96{clip-path:url(#SVGID_4_);fill:#4281B7;}
|
||||
.st97{clip-path:url(#SVGID_4_);fill:#4382B8;}
|
||||
.st98{clip-path:url(#SVGID_4_);fill:#4382B9;}
|
||||
.st99{clip-path:url(#SVGID_4_);fill:#4483BA;}
|
||||
.st100{clip-path:url(#SVGID_4_);fill:#4484BB;}
|
||||
.st101{clip-path:url(#SVGID_4_);fill:#4585BC;}
|
||||
.st102{clip-path:url(#SVGID_4_);fill:#4585BD;}
|
||||
.st103{clip-path:url(#SVGID_4_);fill:#4686BE;}
|
||||
.st104{clip-path:url(#SVGID_4_);fill:#4687BF;}
|
||||
.st105{clip-path:url(#SVGID_4_);fill:#4688C0;}
|
||||
.st106{clip-path:url(#SVGID_4_);fill:#4788C1;}
|
||||
.st107{clip-path:url(#SVGID_4_);fill:#4789C2;}
|
||||
.st108{clip-path:url(#SVGID_4_);fill:#488AC3;}
|
||||
.st109{clip-path:url(#SVGID_4_);fill:#488BC4;}
|
||||
.st110{clip-path:url(#SVGID_4_);fill:#498BC5;}
|
||||
.st111{clip-path:url(#SVGID_4_);fill:#498CC6;}
|
||||
.st112{clip-path:url(#SVGID_6_);fill:#4CE8C6;}
|
||||
.st113{clip-path:url(#SVGID_6_);fill:#4BE8C7;}
|
||||
.st114{clip-path:url(#SVGID_6_);fill:#4AE7C7;}
|
||||
.st115{clip-path:url(#SVGID_6_);fill:#49E7C8;}
|
||||
.st116{clip-path:url(#SVGID_6_);fill:#48E6C8;}
|
||||
.st117{clip-path:url(#SVGID_6_);fill:#47E6C9;}
|
||||
.st118{clip-path:url(#SVGID_6_);fill:#46E6C9;}
|
||||
.st119{clip-path:url(#SVGID_6_);fill:#45E5CA;}
|
||||
.st120{clip-path:url(#SVGID_6_);fill:#44E5CB;}
|
||||
.st121{clip-path:url(#SVGID_6_);fill:#43E4CB;}
|
||||
.st122{clip-path:url(#SVGID_6_);fill:#42E4CC;}
|
||||
.st123{clip-path:url(#SVGID_6_);fill:#41E4CC;}
|
||||
.st124{clip-path:url(#SVGID_6_);fill:#40E3CD;}
|
||||
.st125{clip-path:url(#SVGID_6_);fill:#3FE3CE;}
|
||||
.st126{clip-path:url(#SVGID_6_);fill:#3EE2CE;}
|
||||
.st127{clip-path:url(#SVGID_6_);fill:#3DE2CF;}
|
||||
.st128{clip-path:url(#SVGID_6_);fill:#3CE2CF;}
|
||||
.st129{clip-path:url(#SVGID_6_);fill:#3BE1D0;}
|
||||
.st130{clip-path:url(#SVGID_6_);fill:#3AE1D0;}
|
||||
.st131{clip-path:url(#SVGID_6_);fill:#39E0D1;}
|
||||
.st132{clip-path:url(#SVGID_6_);fill:#38E0D2;}
|
||||
.st133{clip-path:url(#SVGID_6_);fill:#37E0D2;}
|
||||
.st134{clip-path:url(#SVGID_6_);fill:#36DFD3;}
|
||||
.st135{clip-path:url(#SVGID_6_);fill:#35DFD3;}
|
||||
.st136{clip-path:url(#SVGID_6_);fill:#34DED4;}
|
||||
.st137{clip-path:url(#SVGID_6_);fill:#33DED5;}
|
||||
.st138{clip-path:url(#SVGID_6_);fill:#31DED5;}
|
||||
.st139{clip-path:url(#SVGID_6_);fill:#30DDD6;}
|
||||
.st140{clip-path:url(#SVGID_6_);fill:#2FDDD6;}
|
||||
.st141{clip-path:url(#SVGID_6_);fill:#2EDCD7;}
|
||||
.st142{clip-path:url(#SVGID_6_);fill:#2DDCD7;}
|
||||
.st143{clip-path:url(#SVGID_6_);fill:#2CDCD8;}
|
||||
.st144{clip-path:url(#SVGID_6_);fill:#2BDBD9;}
|
||||
.st145{clip-path:url(#SVGID_6_);fill:#2ADBD9;}
|
||||
.st146{clip-path:url(#SVGID_6_);fill:#29DADA;}
|
||||
.st147{clip-path:url(#SVGID_6_);fill:#28DADA;}
|
||||
.st148{clip-path:url(#SVGID_6_);fill:#27DADB;}
|
||||
.st149{clip-path:url(#SVGID_6_);fill:#26D9DB;}
|
||||
.st150{clip-path:url(#SVGID_6_);fill:#25D9DC;}
|
||||
.st151{clip-path:url(#SVGID_6_);fill:#24D8DD;}
|
||||
.st152{clip-path:url(#SVGID_6_);fill:#23D8DD;}
|
||||
.st153{clip-path:url(#SVGID_6_);fill:#22D8DE;}
|
||||
.st154{clip-path:url(#SVGID_6_);fill:#21D7DE;}
|
||||
.st155{clip-path:url(#SVGID_6_);fill:#20D7DF;}
|
||||
.st156{clip-path:url(#SVGID_6_);fill:#1FD6E0;}
|
||||
.st157{clip-path:url(#SVGID_6_);fill:#1ED6E0;}
|
||||
.st158{clip-path:url(#SVGID_6_);fill:#1DD6E1;}
|
||||
.st159{clip-path:url(#SVGID_6_);fill:#1CD5E1;}
|
||||
.st160{clip-path:url(#SVGID_6_);fill:#1BD5E2;}
|
||||
.st161{clip-path:url(#SVGID_6_);fill:#1AD4E2;}
|
||||
.st162{clip-path:url(#SVGID_6_);fill:#19D4E3;}
|
||||
.st163{opacity:0.4;}
|
||||
.st164{clip-path:url(#SVGID_8_);fill:#4CE8C6;}
|
||||
.st165{clip-path:url(#SVGID_8_);fill:#4BE8C7;}
|
||||
.st166{clip-path:url(#SVGID_8_);fill:#4AE7C7;}
|
||||
.st167{clip-path:url(#SVGID_8_);fill:#49E7C8;}
|
||||
.st168{clip-path:url(#SVGID_8_);fill:#48E6C8;}
|
||||
.st169{clip-path:url(#SVGID_8_);fill:#47E6C9;}
|
||||
.st170{clip-path:url(#SVGID_8_);fill:#46E6C9;}
|
||||
.st171{clip-path:url(#SVGID_8_);fill:#45E5CA;}
|
||||
.st172{clip-path:url(#SVGID_8_);fill:#44E5CB;}
|
||||
.st173{clip-path:url(#SVGID_8_);fill:#43E4CB;}
|
||||
.st174{clip-path:url(#SVGID_8_);fill:#42E4CC;}
|
||||
.st175{clip-path:url(#SVGID_8_);fill:#41E4CC;}
|
||||
.st176{clip-path:url(#SVGID_8_);fill:#40E3CD;}
|
||||
.st177{clip-path:url(#SVGID_8_);fill:#3FE3CE;}
|
||||
.st178{clip-path:url(#SVGID_8_);fill:#3EE2CE;}
|
||||
.st179{clip-path:url(#SVGID_8_);fill:#3DE2CF;}
|
||||
.st180{clip-path:url(#SVGID_8_);fill:#3CE2CF;}
|
||||
.st181{clip-path:url(#SVGID_8_);fill:#3BE1D0;}
|
||||
.st182{clip-path:url(#SVGID_8_);fill:#3AE1D0;}
|
||||
.st183{clip-path:url(#SVGID_8_);fill:#39E0D1;}
|
||||
.st184{clip-path:url(#SVGID_8_);fill:#38E0D2;}
|
||||
.st185{clip-path:url(#SVGID_8_);fill:#37E0D2;}
|
||||
.st186{clip-path:url(#SVGID_8_);fill:#36DFD3;}
|
||||
.st187{clip-path:url(#SVGID_8_);fill:#35DFD3;}
|
||||
.st188{clip-path:url(#SVGID_8_);fill:#34DED4;}
|
||||
.st189{clip-path:url(#SVGID_8_);fill:#33DED5;}
|
||||
.st190{clip-path:url(#SVGID_8_);fill:#31DED5;}
|
||||
.st191{clip-path:url(#SVGID_8_);fill:#30DDD6;}
|
||||
.st192{clip-path:url(#SVGID_8_);fill:#2FDDD6;}
|
||||
.st193{clip-path:url(#SVGID_8_);fill:#2EDCD7;}
|
||||
.st194{clip-path:url(#SVGID_8_);fill:#2DDCD7;}
|
||||
.st195{clip-path:url(#SVGID_8_);fill:#2CDCD8;}
|
||||
.st196{clip-path:url(#SVGID_8_);fill:#2BDBD9;}
|
||||
.st197{clip-path:url(#SVGID_8_);fill:#2ADBD9;}
|
||||
.st198{clip-path:url(#SVGID_8_);fill:#29DADA;}
|
||||
.st199{clip-path:url(#SVGID_8_);fill:#28DADA;}
|
||||
.st200{clip-path:url(#SVGID_8_);fill:#27DADB;}
|
||||
.st201{clip-path:url(#SVGID_8_);fill:#26D9DB;}
|
||||
.st202{clip-path:url(#SVGID_8_);fill:#25D9DC;}
|
||||
.st203{clip-path:url(#SVGID_8_);fill:#24D8DD;}
|
||||
.st204{clip-path:url(#SVGID_8_);fill:#23D8DD;}
|
||||
.st205{clip-path:url(#SVGID_8_);fill:#22D8DE;}
|
||||
.st206{clip-path:url(#SVGID_8_);fill:#21D7DE;}
|
||||
.st207{clip-path:url(#SVGID_8_);fill:#20D7DF;}
|
||||
.st208{clip-path:url(#SVGID_8_);fill:#1FD6E0;}
|
||||
.st209{clip-path:url(#SVGID_8_);fill:#1ED6E0;}
|
||||
.st210{clip-path:url(#SVGID_8_);fill:#1DD6E1;}
|
||||
.st211{clip-path:url(#SVGID_8_);fill:#1CD5E1;}
|
||||
.st212{clip-path:url(#SVGID_8_);fill:#1BD5E2;}
|
||||
.st213{clip-path:url(#SVGID_8_);fill:#1AD4E2;}
|
||||
.st214{clip-path:url(#SVGID_8_);fill:#19D4E3;}
|
||||
.st215{opacity:0.5;}
|
||||
.st216{clip-path:url(#SVGID_10_);fill:#316490;}
|
||||
.st217{clip-path:url(#SVGID_10_);fill:#316591;}
|
||||
.st218{clip-path:url(#SVGID_10_);fill:#326692;}
|
||||
.st219{clip-path:url(#SVGID_10_);fill:#326693;}
|
||||
.st220{clip-path:url(#SVGID_10_);fill:#336794;}
|
||||
.st221{clip-path:url(#SVGID_10_);fill:#336895;}
|
||||
.st222{clip-path:url(#SVGID_10_);fill:#346996;}
|
||||
.st223{clip-path:url(#SVGID_10_);fill:#346997;}
|
||||
.st224{clip-path:url(#SVGID_10_);fill:#356A98;}
|
||||
.st225{clip-path:url(#SVGID_10_);fill:#356B99;}
|
||||
.st226{clip-path:url(#SVGID_10_);fill:#366C9A;}
|
||||
.st227{clip-path:url(#SVGID_10_);fill:#366C9B;}
|
||||
.st228{clip-path:url(#SVGID_10_);fill:#366D9C;}
|
||||
.st229{clip-path:url(#SVGID_10_);fill:#376E9D;}
|
||||
.st230{clip-path:url(#SVGID_10_);fill:#376F9E;}
|
||||
.st231{clip-path:url(#SVGID_10_);fill:#386F9F;}
|
||||
.st232{clip-path:url(#SVGID_10_);fill:#3870A0;}
|
||||
.st233{clip-path:url(#SVGID_10_);fill:#3971A1;}
|
||||
.st234{clip-path:url(#SVGID_10_);fill:#3972A2;}
|
||||
.st235{clip-path:url(#SVGID_10_);fill:#3A72A3;}
|
||||
.st236{clip-path:url(#SVGID_10_);fill:#3A73A4;}
|
||||
.st237{clip-path:url(#SVGID_10_);fill:#3B74A5;}
|
||||
.st238{clip-path:url(#SVGID_10_);fill:#3B75A6;}
|
||||
.st239{clip-path:url(#SVGID_10_);fill:#3B75A7;}
|
||||
.st240{clip-path:url(#SVGID_10_);fill:#3C76A8;}
|
||||
.st241{clip-path:url(#SVGID_10_);fill:#3C77A9;}
|
||||
.st242{clip-path:url(#SVGID_10_);fill:#3D78AA;}
|
||||
.st243{clip-path:url(#SVGID_10_);fill:#3D78AC;}
|
||||
.st244{clip-path:url(#SVGID_10_);fill:#3E79AD;}
|
||||
.st245{clip-path:url(#SVGID_10_);fill:#3E7AAE;}
|
||||
.st246{clip-path:url(#SVGID_10_);fill:#3F7BAF;}
|
||||
.st247{clip-path:url(#SVGID_10_);fill:#3F7BB0;}
|
||||
.st248{clip-path:url(#SVGID_10_);fill:#3F7CB1;}
|
||||
.st249{clip-path:url(#SVGID_10_);fill:#407DB2;}
|
||||
.st250{clip-path:url(#SVGID_10_);fill:#407EB3;}
|
||||
.st251{clip-path:url(#SVGID_10_);fill:#417EB4;}
|
||||
.st252{clip-path:url(#SVGID_10_);fill:#417FB5;}
|
||||
.st253{clip-path:url(#SVGID_10_);fill:#4280B6;}
|
||||
.st254{clip-path:url(#SVGID_10_);fill:#4281B7;}
|
||||
.st255{clip-path:url(#SVGID_10_);fill:#4381B8;}
|
||||
.st256{clip-path:url(#SVGID_10_);fill:#4382B9;}
|
||||
.st257{clip-path:url(#SVGID_10_);fill:#4483BA;}
|
||||
.st258{clip-path:url(#SVGID_10_);fill:#4484BB;}
|
||||
.st259{clip-path:url(#SVGID_10_);fill:#4484BC;}
|
||||
.st260{clip-path:url(#SVGID_10_);fill:#4585BD;}
|
||||
.st261{clip-path:url(#SVGID_10_);fill:#4586BE;}
|
||||
.st262{clip-path:url(#SVGID_10_);fill:#4687BF;}
|
||||
.st263{clip-path:url(#SVGID_10_);fill:#4687C0;}
|
||||
.st264{clip-path:url(#SVGID_10_);fill:#4788C1;}
|
||||
.st265{clip-path:url(#SVGID_10_);fill:#4789C2;}
|
||||
.st266{clip-path:url(#SVGID_10_);fill:#488AC3;}
|
||||
.st267{clip-path:url(#SVGID_10_);fill:#488AC4;}
|
||||
.st268{clip-path:url(#SVGID_10_);fill:#498BC5;}
|
||||
.st269{clip-path:url(#SVGID_10_);fill:#498CC6;}
|
||||
.st270{clip-path:url(#SVGID_12_);fill:#5FBBEB;}
|
||||
.st271{clip-path:url(#SVGID_12_);fill:#5EBAEB;}
|
||||
.st272{clip-path:url(#SVGID_12_);fill:#5DB9EA;}
|
||||
.st273{clip-path:url(#SVGID_12_);fill:#5CB8EA;}
|
||||
.st274{clip-path:url(#SVGID_12_);fill:#5BB7E9;}
|
||||
.st275{clip-path:url(#SVGID_12_);fill:#5AB6E9;}
|
||||
.st276{clip-path:url(#SVGID_12_);fill:#59B5E8;}
|
||||
.st277{clip-path:url(#SVGID_12_);fill:#58B4E8;}
|
||||
.st278{clip-path:url(#SVGID_12_);fill:#57B3E7;}
|
||||
.st279{clip-path:url(#SVGID_12_);fill:#56B2E7;}
|
||||
.st280{clip-path:url(#SVGID_12_);fill:#55B1E7;}
|
||||
.st281{clip-path:url(#SVGID_12_);fill:#54B0E6;}
|
||||
.st282{clip-path:url(#SVGID_12_);fill:#53AFE6;}
|
||||
.st283{clip-path:url(#SVGID_12_);fill:#52AEE5;}
|
||||
.st284{clip-path:url(#SVGID_12_);fill:#51ADE5;}
|
||||
.st285{clip-path:url(#SVGID_12_);fill:#50ACE4;}
|
||||
.st286{clip-path:url(#SVGID_12_);fill:#4FABE4;}
|
||||
.st287{clip-path:url(#SVGID_12_);fill:#4EAAE3;}
|
||||
.st288{clip-path:url(#SVGID_12_);fill:#4DA9E3;}
|
||||
.st289{clip-path:url(#SVGID_12_);fill:#4CA8E3;}
|
||||
.st290{clip-path:url(#SVGID_12_);fill:#4BA7E2;}
|
||||
.st291{clip-path:url(#SVGID_12_);fill:#4AA6E2;}
|
||||
.st292{clip-path:url(#SVGID_12_);fill:#49A5E1;}
|
||||
.st293{clip-path:url(#SVGID_12_);fill:#48A4E1;}
|
||||
.st294{clip-path:url(#SVGID_12_);fill:#47A2E0;}
|
||||
.st295{clip-path:url(#SVGID_12_);fill:#46A1E0;}
|
||||
.st296{clip-path:url(#SVGID_12_);fill:#45A0DF;}
|
||||
.st297{clip-path:url(#SVGID_12_);fill:#449FDF;}
|
||||
.st298{clip-path:url(#SVGID_12_);fill:#439EDE;}
|
||||
.st299{clip-path:url(#SVGID_12_);fill:#429DDE;}
|
||||
.st300{clip-path:url(#SVGID_12_);fill:#419CDE;}
|
||||
.st301{clip-path:url(#SVGID_12_);fill:#409BDD;}
|
||||
.st302{clip-path:url(#SVGID_12_);fill:#3F9ADD;}
|
||||
.st303{clip-path:url(#SVGID_12_);fill:#3E99DC;}
|
||||
.st304{clip-path:url(#SVGID_12_);fill:#3D98DC;}
|
||||
.st305{clip-path:url(#SVGID_12_);fill:#3C97DB;}
|
||||
.st306{clip-path:url(#SVGID_12_);fill:#3B96DB;}
|
||||
.st307{clip-path:url(#SVGID_12_);fill:#3A95DA;}
|
||||
.st308{clip-path:url(#SVGID_12_);fill:#3994DA;}
|
||||
.st309{clip-path:url(#SVGID_12_);fill:#3893DA;}
|
||||
.st310{clip-path:url(#SVGID_12_);fill:#3792D9;}
|
||||
.st311{clip-path:url(#SVGID_12_);fill:#3691D9;}
|
||||
.st312{clip-path:url(#SVGID_12_);fill:#3590D8;}
|
||||
.st313{clip-path:url(#SVGID_12_);fill:#348FD8;}
|
||||
.st314{clip-path:url(#SVGID_12_);fill:#338ED7;}
|
||||
.st315{clip-path:url(#SVGID_12_);fill:#328DD7;}
|
||||
.st316{clip-path:url(#SVGID_12_);fill:#318CD6;}
|
||||
.st317{clip-path:url(#SVGID_12_);fill:#308BD6;}
|
||||
.st318{fill:#316490;}
|
||||
</style>
|
||||
<path class="st0" d="M224,81H8c-4.4,0-8-3.6-8-8V8c0-4.4,3.6-8,8-8h216c4.4,0,8,3.6,8,8v65C232,77.4,228.4,81,224,81z"/>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_1_" points="15.2,15 15.2,62.9 59.2,56 59.2,8.1 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<polygon class="st1" points="56.7,62.9 59.2,56 59.2,62.9 "/>
|
||||
<polygon class="st1" points="55.7,62.9 59.2,53.1 59.2,56 56.7,62.9 "/>
|
||||
<polygon class="st2" points="54.6,62.9 59.2,50.3 59.2,53.1 55.7,62.9 "/>
|
||||
<polygon class="st3" points="53.6,62.9 59.2,47.4 59.2,50.3 54.6,62.9 "/>
|
||||
<polygon class="st4" points="52.6,62.9 59.2,44.6 59.2,47.4 53.6,62.9 "/>
|
||||
<polygon class="st5" points="51.5,62.9 59.2,41.7 59.2,44.6 52.6,62.9 "/>
|
||||
<polygon class="st6" points="50.5,62.9 59.2,38.9 59.2,41.7 51.5,62.9 "/>
|
||||
<polygon class="st7" points="49.4,62.9 59.2,36 59.2,38.9 50.5,62.9 "/>
|
||||
<polygon class="st8" points="48.4,62.9 59.2,33.1 59.2,36 49.4,62.9 "/>
|
||||
<polygon class="st9" points="47.4,62.9 59.2,30.3 59.2,33.1 48.4,62.9 "/>
|
||||
<polygon class="st10" points="46.3,62.9 59.2,27.4 59.2,30.3 47.4,62.9 "/>
|
||||
<polygon class="st11" points="45.3,62.9 59.2,24.6 59.2,27.4 46.3,62.9 "/>
|
||||
<polygon class="st12" points="44.2,62.9 59.2,21.7 59.2,24.6 45.3,62.9 "/>
|
||||
<polygon class="st13" points="43.2,62.9 59.2,18.9 59.2,21.7 44.2,62.9 "/>
|
||||
<polygon class="st14" points="42.2,62.9 59.2,16 59.2,18.9 43.2,62.9 "/>
|
||||
<polygon class="st15" points="41.1,62.9 59.2,13.2 59.2,16 42.2,62.9 "/>
|
||||
<polygon class="st16" points="40.1,62.9 59.2,10.3 59.2,13.2 41.1,62.9 "/>
|
||||
<polygon class="st17" points="39,62.9 59,8.1 59.2,8.1 59.2,10.3 40.1,62.9 "/>
|
||||
<polygon class="st18" points="38,62.9 57.9,8.1 59,8.1 39,62.9 "/>
|
||||
<polygon class="st19" points="37,62.9 56.9,8.1 57.9,8.1 38,62.9 "/>
|
||||
<polygon class="st20" points="35.9,62.9 55.9,8.1 56.9,8.1 37,62.9 "/>
|
||||
<polygon class="st21" points="34.9,62.9 54.8,8.1 55.9,8.1 35.9,62.9 "/>
|
||||
<polygon class="st22" points="33.8,62.9 53.8,8.1 54.8,8.1 34.9,62.9 "/>
|
||||
<polygon class="st23" points="32.8,62.9 52.7,8.1 53.8,8.1 33.8,62.9 "/>
|
||||
<polygon class="st24" points="31.8,62.9 51.7,8.1 52.7,8.1 32.8,62.9 "/>
|
||||
<polygon class="st25" points="30.7,62.9 50.7,8.1 51.7,8.1 31.8,62.9 "/>
|
||||
<polygon class="st26" points="29.7,62.9 49.6,8.1 50.7,8.1 30.7,62.9 "/>
|
||||
<polygon class="st27" points="28.7,62.9 48.6,8.1 49.6,8.1 29.7,62.9 "/>
|
||||
<polygon class="st28" points="27.6,62.9 47.5,8.1 48.6,8.1 28.7,62.9 "/>
|
||||
<polygon class="st29" points="26.6,62.9 46.5,8.1 47.5,8.1 27.6,62.9 "/>
|
||||
<polygon class="st30" points="25.5,62.9 45.5,8.1 46.5,8.1 26.6,62.9 "/>
|
||||
<polygon class="st31" points="24.5,62.9 44.4,8.1 45.5,8.1 25.5,62.9 "/>
|
||||
<polygon class="st32" points="23.5,62.9 43.4,8.1 44.4,8.1 24.5,62.9 "/>
|
||||
<polygon class="st33" points="22.4,62.9 42.3,8.1 43.4,8.1 23.5,62.9 "/>
|
||||
<polygon class="st34" points="21.4,62.9 41.3,8.1 42.3,8.1 22.4,62.9 "/>
|
||||
<polygon class="st35" points="20.3,62.9 40.3,8.1 41.3,8.1 21.4,62.9 "/>
|
||||
<polygon class="st36" points="19.3,62.9 39.2,8.1 40.3,8.1 20.3,62.9 "/>
|
||||
<polygon class="st37" points="18.3,62.9 38.2,8.1 39.2,8.1 19.3,62.9 "/>
|
||||
<polygon class="st38" points="17.2,62.9 37.1,8.1 38.2,8.1 18.3,62.9 "/>
|
||||
<polygon class="st39" points="16.2,62.9 36.1,8.1 37.1,8.1 17.2,62.9 "/>
|
||||
<polygon class="st40" points="15.2,62.7 35.1,8.1 36.1,8.1 16.2,62.9 15.2,62.9 "/>
|
||||
<polygon class="st41" points="15.2,59.9 34,8.1 35.1,8.1 15.2,62.7 "/>
|
||||
<polygon class="st42" points="15.2,57 33,8.1 34,8.1 15.2,59.9 "/>
|
||||
<polygon class="st43" points="15.2,54.2 32,8.1 33,8.1 15.2,57 "/>
|
||||
<polygon class="st44" points="15.2,51.3 30.9,8.1 32,8.1 15.2,54.2 "/>
|
||||
<polygon class="st45" points="15.2,48.5 29.9,8.1 30.9,8.1 15.2,51.3 "/>
|
||||
<polygon class="st46" points="15.2,45.6 28.8,8.1 29.9,8.1 15.2,48.5 "/>
|
||||
<polygon class="st47" points="15.2,42.7 27.8,8.1 28.8,8.1 15.2,45.6 "/>
|
||||
<polygon class="st48" points="15.2,39.9 26.8,8.1 27.8,8.1 15.2,42.7 "/>
|
||||
<polygon class="st48" points="26.8,8.1 15.2,39.9 15.2,8.1 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_3_" points="83,68.7 83,20.8 59.2,8.1 59.2,56 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_4_">
|
||||
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<polygon class="st49" points="83,20.8 78.4,8.1 83,8.1 "/>
|
||||
<polygon class="st49" points="83,22 77.9,8.1 78.4,8.1 83,20.8 "/>
|
||||
<polygon class="st50" points="83,23.1 77.5,8.1 77.9,8.1 83,22 "/>
|
||||
<polygon class="st51" points="83,24.3 77.1,8.1 77.5,8.1 83,23.1 "/>
|
||||
<polygon class="st52" points="83,25.4 76.7,8.1 77.1,8.1 83,24.3 "/>
|
||||
<polygon class="st53" points="83,26.6 76.3,8.1 76.7,8.1 83,25.4 "/>
|
||||
<polygon class="st54" points="83,27.7 75.9,8.1 76.3,8.1 83,26.6 "/>
|
||||
<polygon class="st55" points="83,28.8 75.4,8.1 75.9,8.1 83,27.7 "/>
|
||||
<polygon class="st56" points="83,30 75,8.1 75.4,8.1 83,28.8 "/>
|
||||
<polygon class="st57" points="83,31.1 74.6,8.1 75,8.1 83,30 "/>
|
||||
<polygon class="st58" points="83,32.3 74.2,8.1 74.6,8.1 83,31.1 "/>
|
||||
<polygon class="st59" points="83,33.4 73.8,8.1 74.2,8.1 83,32.3 "/>
|
||||
<polygon class="st60" points="83,34.6 73.4,8.1 73.8,8.1 83,33.4 "/>
|
||||
<polygon class="st61" points="83,35.7 72.9,8.1 73.4,8.1 83,34.6 "/>
|
||||
<polygon class="st62" points="83,36.9 72.5,8.1 72.9,8.1 83,35.7 "/>
|
||||
<polygon class="st63" points="83,38 72.1,8.1 72.5,8.1 83,36.9 "/>
|
||||
<polygon class="st64" points="83,39.1 71.7,8.1 72.1,8.1 83,38 "/>
|
||||
<polygon class="st65" points="83,40.3 71.3,8.1 71.7,8.1 83,39.1 "/>
|
||||
<polygon class="st66" points="83,41.4 70.9,8.1 71.3,8.1 83,40.3 "/>
|
||||
<polygon class="st67" points="83,42.6 70.4,8.1 70.9,8.1 83,41.4 "/>
|
||||
<polygon class="st68" points="83,43.7 70,8.1 70.4,8.1 83,42.6 "/>
|
||||
<polygon class="st69" points="83,44.9 69.6,8.1 70,8.1 83,43.7 "/>
|
||||
<polygon class="st70" points="83,46 69.2,8.1 69.6,8.1 83,44.9 "/>
|
||||
<polygon class="st71" points="83,47.2 68.8,8.1 69.2,8.1 83,46 "/>
|
||||
<polygon class="st72" points="83,48.3 68.4,8.1 68.8,8.1 83,47.2 "/>
|
||||
<polygon class="st73" points="83,49.5 67.9,8.1 68.4,8.1 83,48.3 "/>
|
||||
<polygon class="st74" points="83,50.6 67.5,8.1 67.9,8.1 83,49.5 "/>
|
||||
<polygon class="st75" points="83,51.7 67.1,8.1 67.5,8.1 83,50.6 "/>
|
||||
<polygon class="st76" points="83,52.9 66.7,8.1 67.1,8.1 83,51.7 "/>
|
||||
<polygon class="st77" points="83,54 66.3,8.1 66.7,8.1 83,52.9 "/>
|
||||
<polygon class="st78" points="83,55.2 65.9,8.1 66.3,8.1 83,54 "/>
|
||||
<polygon class="st79" points="83,56.3 65.4,8.1 65.9,8.1 83,55.2 "/>
|
||||
<polygon class="st80" points="83,57.5 65,8.1 65.4,8.1 83,56.3 "/>
|
||||
<polygon class="st81" points="83,58.6 64.6,8.1 65,8.1 83,57.5 "/>
|
||||
<polygon class="st82" points="83,59.8 64.2,8.1 64.6,8.1 83,58.6 "/>
|
||||
<polygon class="st83" points="83,60.9 63.8,8.1 64.2,8.1 83,59.8 "/>
|
||||
<polygon class="st84" points="83,62 63.3,8.1 63.8,8.1 83,60.9 "/>
|
||||
<polygon class="st85" points="83,63.2 62.9,8.1 63.3,8.1 83,62 "/>
|
||||
<polygon class="st86" points="83,64.3 62.5,8.1 62.9,8.1 83,63.2 "/>
|
||||
<polygon class="st87" points="83,65.5 62.1,8.1 62.5,8.1 83,64.3 "/>
|
||||
<polygon class="st88" points="83,66.6 61.7,8.1 62.1,8.1 83,65.5 "/>
|
||||
<polygon class="st89" points="83,67.8 61.3,8.1 61.7,8.1 83,66.6 "/>
|
||||
<polygon class="st90" points="82.9,68.7 60.8,8.1 61.3,8.1 83,67.8 83,68.7 "/>
|
||||
<polygon class="st91" points="82.5,68.7 60.4,8.1 60.8,8.1 82.9,68.7 "/>
|
||||
<polygon class="st92" points="82.1,68.7 60,8.1 60.4,8.1 82.5,68.7 "/>
|
||||
<polygon class="st93" points="81.6,68.7 59.6,8.1 60,8.1 82.1,68.7 "/>
|
||||
<polygon class="st94" points="81.2,68.7 59.2,8.1 59.2,8.1 59.6,8.1 81.6,68.7 "/>
|
||||
<polygon class="st95" points="80.8,68.7 59.2,9.3 59.2,8.1 81.2,68.7 "/>
|
||||
<polygon class="st96" points="80.4,68.7 59.2,10.4 59.2,9.3 80.8,68.7 "/>
|
||||
<polygon class="st97" points="80,68.7 59.2,11.6 59.2,10.4 80.4,68.7 "/>
|
||||
<polygon class="st98" points="79.6,68.7 59.2,12.7 59.2,11.6 80,68.7 "/>
|
||||
<polygon class="st99" points="79.1,68.7 59.2,13.8 59.2,12.7 79.6,68.7 "/>
|
||||
<polygon class="st100" points="78.7,68.7 59.2,15 59.2,13.8 79.1,68.7 "/>
|
||||
<polygon class="st101" points="78.3,68.7 59.2,16.1 59.2,15 78.7,68.7 "/>
|
||||
<polygon class="st102" points="77.9,68.7 59.2,17.3 59.2,16.1 78.3,68.7 "/>
|
||||
<polygon class="st103" points="77.5,68.7 59.2,18.4 59.2,17.3 77.9,68.7 "/>
|
||||
<polygon class="st104" points="77.1,68.7 59.2,19.6 59.2,18.4 77.5,68.7 "/>
|
||||
<polygon class="st105" points="76.6,68.7 59.2,20.7 59.2,19.6 77.1,68.7 "/>
|
||||
<polygon class="st106" points="76.2,68.7 59.2,21.9 59.2,20.7 76.6,68.7 "/>
|
||||
<polygon class="st107" points="75.8,68.7 59.2,23 59.2,21.9 76.2,68.7 "/>
|
||||
<polygon class="st108" points="75.4,68.7 59.2,24.1 59.2,23 75.8,68.7 "/>
|
||||
<polygon class="st109" points="75,68.7 59.2,25.3 59.2,24.1 75.4,68.7 "/>
|
||||
<polygon class="st110" points="74.6,68.7 59.2,26.4 59.2,25.3 75,68.7 "/>
|
||||
<polygon class="st111" points="74.1,68.7 59.2,27.6 59.2,26.4 74.6,68.7 "/>
|
||||
<polygon class="st111" points="59.2,27.6 74.1,68.7 59.2,68.7 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_5_" points="39,75.5 83,68.7 59.2,56 15.2,62.9 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_6_">
|
||||
<use xlink:href="#SVGID_5_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path class="st112" d="M83,75.5v-6.9V75.5z"/>
|
||||
<rect x="82.1" y="56" class="st112" width="0.9" height="19.5"/>
|
||||
<rect x="81.2" y="56" class="st113" width="0.9" height="19.5"/>
|
||||
<rect x="80.3" y="56" class="st114" width="0.9" height="19.5"/>
|
||||
<rect x="79.4" y="56" class="st115" width="0.9" height="19.5"/>
|
||||
<rect x="78.5" y="56" class="st116" width="0.9" height="19.5"/>
|
||||
<rect x="77.6" y="56" class="st117" width="0.9" height="19.5"/>
|
||||
<rect x="76.7" y="56" class="st118" width="0.9" height="19.5"/>
|
||||
<rect x="75.8" y="56" class="st119" width="0.9" height="19.5"/>
|
||||
<rect x="74.9" y="56" class="st120" width="0.9" height="19.5"/>
|
||||
<rect x="74" y="56" class="st121" width="0.9" height="19.5"/>
|
||||
<rect x="73.1" y="56" class="st122" width="0.9" height="19.5"/>
|
||||
<rect x="72.2" y="56" class="st123" width="0.9" height="19.5"/>
|
||||
<rect x="71.3" y="56" class="st124" width="0.9" height="19.5"/>
|
||||
<rect x="70.4" y="56" class="st125" width="0.9" height="19.5"/>
|
||||
<rect x="69.5" y="56" class="st126" width="0.9" height="19.5"/>
|
||||
<rect x="68.6" y="56" class="st127" width="0.9" height="19.5"/>
|
||||
<rect x="67.7" y="56" class="st128" width="0.9" height="19.5"/>
|
||||
<rect x="66.8" y="56" class="st129" width="0.9" height="19.5"/>
|
||||
<rect x="65.9" y="56" class="st130" width="0.9" height="19.5"/>
|
||||
<rect x="65" y="56" class="st131" width="0.9" height="19.5"/>
|
||||
<rect x="64.1" y="56" class="st132" width="0.9" height="19.5"/>
|
||||
<rect x="63.2" y="56" class="st133" width="0.9" height="19.5"/>
|
||||
<rect x="62.3" y="56" class="st134" width="0.9" height="19.5"/>
|
||||
<rect x="61.4" y="56" class="st135" width="0.9" height="19.5"/>
|
||||
<rect x="60.5" y="56" class="st136" width="0.9" height="19.5"/>
|
||||
<rect x="59.6" y="56" class="st137" width="0.9" height="19.5"/>
|
||||
<rect x="58.7" y="56" class="st138" width="0.9" height="19.5"/>
|
||||
<rect x="57.8" y="56" class="st139" width="0.9" height="19.5"/>
|
||||
<rect x="56.9" y="56" class="st140" width="0.9" height="19.5"/>
|
||||
<rect x="56" y="56" class="st141" width="0.9" height="19.5"/>
|
||||
<rect x="55.1" y="56" class="st142" width="0.9" height="19.5"/>
|
||||
<rect x="54.2" y="56" class="st143" width="0.9" height="19.5"/>
|
||||
<rect x="53.3" y="56" class="st144" width="0.9" height="19.5"/>
|
||||
<rect x="52.4" y="56" class="st145" width="0.9" height="19.5"/>
|
||||
<rect x="51.5" y="56" class="st146" width="0.9" height="19.5"/>
|
||||
<rect x="50.6" y="56" class="st147" width="0.9" height="19.5"/>
|
||||
<rect x="49.7" y="56" class="st148" width="0.9" height="19.5"/>
|
||||
<rect x="48.8" y="56" class="st149" width="0.9" height="19.5"/>
|
||||
<rect x="47.9" y="56" class="st150" width="0.9" height="19.5"/>
|
||||
<rect x="47" y="56" class="st151" width="0.9" height="19.5"/>
|
||||
<rect x="46.1" y="56" class="st152" width="0.9" height="19.5"/>
|
||||
<rect x="45.2" y="56" class="st153" width="0.9" height="19.5"/>
|
||||
<rect x="44.3" y="56" class="st154" width="0.9" height="19.5"/>
|
||||
<rect x="43.4" y="56" class="st155" width="0.9" height="19.5"/>
|
||||
<rect x="42.5" y="56" class="st156" width="0.9" height="19.5"/>
|
||||
<rect x="41.6" y="56" class="st157" width="0.9" height="19.5"/>
|
||||
<rect x="40.7" y="56" class="st158" width="0.9" height="19.5"/>
|
||||
<rect x="39.8" y="56" class="st159" width="0.9" height="19.5"/>
|
||||
<rect x="38.9" y="56" class="st160" width="0.9" height="19.5"/>
|
||||
<rect x="38" y="56" class="st161" width="0.9" height="19.5"/>
|
||||
<rect x="37.1" y="56" class="st162" width="0.9" height="19.5"/>
|
||||
<rect x="15.2" y="56" class="st162" width="21.9" height="19.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st163">
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_7_" points="39,27.6 15.2,15 15.2,62.9 39,75.5 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_8_">
|
||||
<use xlink:href="#SVGID_7_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<polygon class="st164" points="37.7,75.5 39,73.7 39,75.5 "/>
|
||||
<polygon class="st165" points="36.4,75.5 39,71.8 39,73.7 37.7,75.5 "/>
|
||||
<polygon class="st166" points="35.1,75.5 39,70 39,71.8 36.4,75.5 "/>
|
||||
<polygon class="st167" points="33.8,75.5 39,68.1 39,70 35.1,75.5 "/>
|
||||
<polygon class="st168" points="32.5,75.5 39,66.2 39,68.1 33.8,75.5 "/>
|
||||
<polygon class="st169" points="31.9,75.5 31.4,75.2 39,64.4 39,66.2 32.5,75.5 "/>
|
||||
<polygon class="st170" points="31.4,75.2 30.5,74.6 39,62.5 39,64.4 "/>
|
||||
<polygon class="st171" points="30.5,74.6 29.7,74 39,60.7 39,62.5 "/>
|
||||
<polygon class="st172" points="29.7,74 28.8,73.4 39,58.8 39,60.7 "/>
|
||||
<polygon class="st173" points="28.8,73.4 27.9,72.8 39,57 39,58.8 "/>
|
||||
<polygon class="st174" points="27.9,72.8 27.1,72.1 39,55.1 39,57 "/>
|
||||
<polygon class="st175" points="27.1,72.1 26.2,71.5 39,53.3 39,55.1 "/>
|
||||
<polygon class="st176" points="26.2,71.5 25.3,70.9 39,51.4 39,53.3 "/>
|
||||
<polygon class="st177" points="25.3,70.9 24.4,70.3 39,49.6 39,51.4 "/>
|
||||
<polygon class="st178" points="24.4,70.3 23.6,69.7 39,47.7 39,49.6 "/>
|
||||
<polygon class="st179" points="23.6,69.7 22.7,69.1 39,45.9 39,47.7 "/>
|
||||
<polygon class="st180" points="22.7,69.1 21.8,68.5 39,44 39,45.9 "/>
|
||||
<polygon class="st181" points="21.8,68.5 21,67.9 39,42.2 39,44 "/>
|
||||
<polygon class="st182" points="21,67.9 20.1,67.3 39,40.3 39,42.2 "/>
|
||||
<polygon class="st183" points="20.1,67.3 19.2,66.7 39,38.4 39,40.3 "/>
|
||||
<polygon class="st184" points="19.2,66.7 18.4,66 39,36.6 39,38.4 "/>
|
||||
<polygon class="st185" points="18.4,66 17.5,65.4 39,34.7 39,36.6 "/>
|
||||
<polygon class="st186" points="17.5,65.4 16.6,64.8 39,32.9 39,34.7 "/>
|
||||
<polygon class="st187" points="16.6,64.8 15.7,64.2 39,31 39,32.9 "/>
|
||||
<polygon class="st188" points="15.7,64.2 15.2,63.8 15.2,63.2 39,29.2 39,31 "/>
|
||||
<polygon class="st189" points="15.2,61.3 39,27.3 39,29.2 15.2,63.2 "/>
|
||||
<polygon class="st190" points="15.2,59.5 38.4,26.3 39,26.7 39,27.3 15.2,61.3 "/>
|
||||
<polygon class="st191" points="15.2,57.6 37.5,25.7 38.4,26.3 15.2,59.5 "/>
|
||||
<polygon class="st192" points="15.2,55.7 36.7,25 37.5,25.7 15.2,57.6 "/>
|
||||
<polygon class="st193" points="15.2,53.9 35.8,24.4 36.7,25 15.2,55.7 "/>
|
||||
<polygon class="st194" points="15.2,52 34.9,23.8 35.8,24.4 15.2,53.9 "/>
|
||||
<polygon class="st195" points="15.2,50.2 34.1,23.2 34.9,23.8 15.2,52 "/>
|
||||
<polygon class="st196" points="15.2,48.3 33.2,22.6 34.1,23.2 15.2,50.2 "/>
|
||||
<polygon class="st197" points="15.2,46.5 32.3,22 33.2,22.6 15.2,48.3 "/>
|
||||
<polygon class="st198" points="15.2,44.6 31.5,21.4 32.3,22 15.2,46.5 "/>
|
||||
<polygon class="st199" points="15.2,42.8 30.6,20.8 31.5,21.4 15.2,44.6 "/>
|
||||
<polygon class="st200" points="15.2,40.9 29.7,20.2 30.6,20.8 15.2,42.8 "/>
|
||||
<polygon class="st201" points="15.2,39.1 28.8,19.6 29.7,20.2 15.2,40.9 "/>
|
||||
<polygon class="st202" points="15.2,37.2 28,18.9 28.8,19.6 15.2,39.1 "/>
|
||||
<polygon class="st203" points="15.2,35.4 27.1,18.3 28,18.9 15.2,37.2 "/>
|
||||
<polygon class="st204" points="15.2,33.5 26.2,17.7 27.1,18.3 15.2,35.4 "/>
|
||||
<polygon class="st205" points="15.2,31.6 25.4,17.1 26.2,17.7 15.2,33.5 "/>
|
||||
<polygon class="st206" points="15.2,29.8 24.5,16.5 25.4,17.1 15.2,31.6 "/>
|
||||
<polygon class="st207" points="15.2,27.9 23.6,15.9 24.5,16.5 15.2,29.8 "/>
|
||||
<polygon class="st208" points="15.2,26.1 22.7,15.3 23.6,15.9 15.2,27.9 "/>
|
||||
<polygon class="st209" points="15.2,24.2 21.7,15 22.3,15 22.7,15.3 15.2,26.1 "/>
|
||||
<polygon class="st210" points="15.2,22.4 20.4,15 21.7,15 15.2,24.2 "/>
|
||||
<polygon class="st211" points="15.2,20.5 19.1,15 20.4,15 15.2,22.4 "/>
|
||||
<polygon class="st212" points="15.2,18.7 17.8,15 19.1,15 15.2,20.5 "/>
|
||||
<polygon class="st213" points="15.2,16.8 16.5,15 17.8,15 15.2,18.7 "/>
|
||||
<polygon class="st214" points="15.2,15 15.2,15 16.5,15 15.2,16.8 "/>
|
||||
<polygon class="st214" points="15.2,15 15.2,15 15.2,15 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st215">
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_9_" points="83,20.8 59.2,8.1 15.2,15 39,27.6 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_10_">
|
||||
<use xlink:href="#SVGID_9_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<path class="st216" d="M83,27.6v-6.9V27.6z"/>
|
||||
<rect x="81.7" y="8.1" class="st216" width="1.3" height="19.5"/>
|
||||
<rect x="80.4" y="8.1" class="st217" width="1.3" height="19.5"/>
|
||||
<rect x="79.2" y="8.1" class="st218" width="1.3" height="19.5"/>
|
||||
<rect x="77.9" y="8.1" class="st219" width="1.3" height="19.5"/>
|
||||
<rect x="76.7" y="8.1" class="st220" width="1.3" height="19.5"/>
|
||||
<rect x="75.4" y="8.1" class="st221" width="1.3" height="19.5"/>
|
||||
<rect x="74.2" y="8.1" class="st222" width="1.3" height="19.5"/>
|
||||
<rect x="72.9" y="8.1" class="st223" width="1.3" height="19.5"/>
|
||||
<rect x="71.7" y="8.1" class="st224" width="1.3" height="19.5"/>
|
||||
<rect x="70.4" y="8.1" class="st225" width="1.3" height="19.5"/>
|
||||
<rect x="69.2" y="8.1" class="st226" width="1.3" height="19.5"/>
|
||||
<rect x="67.9" y="8.1" class="st227" width="1.3" height="19.5"/>
|
||||
<rect x="66.6" y="8.1" class="st228" width="1.3" height="19.5"/>
|
||||
<rect x="65.4" y="8.1" class="st229" width="1.3" height="19.5"/>
|
||||
<rect x="64.1" y="8.1" class="st230" width="1.3" height="19.5"/>
|
||||
<rect x="62.9" y="8.1" class="st231" width="1.3" height="19.5"/>
|
||||
<rect x="61.6" y="8.1" class="st232" width="1.3" height="19.5"/>
|
||||
<rect x="60.4" y="8.1" class="st233" width="1.3" height="19.5"/>
|
||||
<rect x="59.1" y="8.1" class="st234" width="1.3" height="19.5"/>
|
||||
<rect x="57.9" y="8.1" class="st235" width="1.3" height="19.5"/>
|
||||
<rect x="56.6" y="8.1" class="st236" width="1.3" height="19.5"/>
|
||||
<rect x="55.3" y="8.1" class="st237" width="1.3" height="19.5"/>
|
||||
<rect x="54.1" y="8.1" class="st238" width="1.3" height="19.5"/>
|
||||
<rect x="52.8" y="8.1" class="st239" width="1.3" height="19.5"/>
|
||||
<rect x="51.6" y="8.1" class="st240" width="1.3" height="19.5"/>
|
||||
<rect x="50.3" y="8.1" class="st241" width="1.3" height="19.5"/>
|
||||
<rect x="49.1" y="8.1" class="st242" width="1.3" height="19.5"/>
|
||||
<rect x="47.8" y="8.1" class="st243" width="1.3" height="19.5"/>
|
||||
<rect x="46.6" y="8.1" class="st244" width="1.3" height="19.5"/>
|
||||
<rect x="45.3" y="8.1" class="st245" width="1.3" height="19.5"/>
|
||||
<rect x="44.1" y="8.1" class="st246" width="1.3" height="19.5"/>
|
||||
<rect x="42.8" y="8.1" class="st247" width="1.3" height="19.5"/>
|
||||
<rect x="41.5" y="8.1" class="st248" width="1.3" height="19.5"/>
|
||||
<rect x="40.3" y="8.1" class="st249" width="1.3" height="19.5"/>
|
||||
<rect x="39" y="8.1" class="st250" width="1.3" height="19.5"/>
|
||||
<rect x="37.8" y="8.1" class="st251" width="1.3" height="19.5"/>
|
||||
<rect x="36.5" y="8.1" class="st252" width="1.3" height="19.5"/>
|
||||
<rect x="35.3" y="8.1" class="st253" width="1.3" height="19.5"/>
|
||||
<rect x="34" y="8.1" class="st254" width="1.3" height="19.5"/>
|
||||
<rect x="32.8" y="8.1" class="st255" width="1.3" height="19.5"/>
|
||||
<rect x="31.5" y="8.1" class="st256" width="1.3" height="19.5"/>
|
||||
<rect x="30.2" y="8.1" class="st257" width="1.3" height="19.5"/>
|
||||
<rect x="29" y="8.1" class="st258" width="1.3" height="19.5"/>
|
||||
<rect x="27.7" y="8.1" class="st259" width="1.3" height="19.5"/>
|
||||
<rect x="26.5" y="8.1" class="st260" width="1.3" height="19.5"/>
|
||||
<rect x="25.2" y="8.1" class="st261" width="1.3" height="19.5"/>
|
||||
<rect x="24" y="8.1" class="st262" width="1.3" height="19.5"/>
|
||||
<rect x="22.7" y="8.1" class="st263" width="1.3" height="19.5"/>
|
||||
<rect x="21.5" y="8.1" class="st264" width="1.3" height="19.5"/>
|
||||
<rect x="20.2" y="8.1" class="st265" width="1.3" height="19.5"/>
|
||||
<rect x="18.9" y="8.1" class="st266" width="1.3" height="19.5"/>
|
||||
<rect x="17.7" y="8.1" class="st267" width="1.3" height="19.5"/>
|
||||
<rect x="16.4" y="8.1" class="st268" width="1.3" height="19.5"/>
|
||||
<polygon class="st269" points="15.2,15 15.2,8.1 16.4,8.1 16.4,27.6 15.2,27.6 "/>
|
||||
<path class="st269" d="M15.2,8.1V15V8.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st215">
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<polygon id="SVGID_11_" points="39,27.6 39,75.5 83,68.7 83,20.8 "/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_12_">
|
||||
<use xlink:href="#SVGID_11_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<polygon class="st270" points="77.2,75.5 83,68.7 83,75.5 "/>
|
||||
<polygon class="st270" points="76.2,75.5 83,67.5 83,68.7 77.2,75.5 "/>
|
||||
<polygon class="st271" points="75.3,75.5 83,66.3 83,67.5 76.2,75.5 "/>
|
||||
<polygon class="st272" points="74.3,75.5 83,65.1 83,66.3 75.3,75.5 "/>
|
||||
<polygon class="st273" points="73.3,75.5 83,64 83,65.1 74.3,75.5 "/>
|
||||
<polygon class="st274" points="72.3,75.5 83,62.8 83,64 73.3,75.5 "/>
|
||||
<polygon class="st275" points="71.3,75.5 83,61.6 83,62.8 72.3,75.5 "/>
|
||||
<polygon class="st276" points="70.3,75.5 83,60.4 83,61.6 71.3,75.5 "/>
|
||||
<polygon class="st277" points="69.3,75.5 83,59.3 83,60.4 70.3,75.5 "/>
|
||||
<polygon class="st278" points="68.4,75.5 83,58.1 83,59.3 69.3,75.5 "/>
|
||||
<polygon class="st279" points="67.4,75.5 83,56.9 83,58.1 68.4,75.5 "/>
|
||||
<polygon class="st280" points="66.4,75.5 83,55.7 83,56.9 67.4,75.5 "/>
|
||||
<polygon class="st281" points="65.4,75.5 83,54.6 83,55.7 66.4,75.5 "/>
|
||||
<polygon class="st282" points="64.4,75.5 83,53.4 83,54.6 65.4,75.5 "/>
|
||||
<polygon class="st283" points="63.4,75.5 83,52.2 83,53.4 64.4,75.5 "/>
|
||||
<polygon class="st284" points="62.4,75.5 83,51 83,52.2 63.4,75.5 "/>
|
||||
<polygon class="st285" points="61.5,75.5 83,49.9 83,51 62.4,75.5 "/>
|
||||
<polygon class="st286" points="60.5,75.5 83,48.7 83,49.9 61.5,75.5 "/>
|
||||
<polygon class="st287" points="59.5,75.5 83,47.5 83,48.7 60.5,75.5 "/>
|
||||
<polygon class="st288" points="58.5,75.5 83,46.3 83,47.5 59.5,75.5 "/>
|
||||
<polygon class="st289" points="57.5,75.5 83,45.2 83,46.3 58.5,75.5 "/>
|
||||
<polygon class="st290" points="56.5,75.5 83,44 83,45.2 57.5,75.5 "/>
|
||||
<polygon class="st291" points="55.6,75.5 83,42.8 83,44 56.5,75.5 "/>
|
||||
<polygon class="st292" points="54.6,75.5 83,41.7 83,42.8 55.6,75.5 "/>
|
||||
<polygon class="st293" points="53.6,75.5 83,40.5 83,41.7 54.6,75.5 "/>
|
||||
<polygon class="st294" points="52.6,75.5 83,39.3 83,40.5 53.6,75.5 "/>
|
||||
<polygon class="st295" points="51.6,75.5 83,38.1 83,39.3 52.6,75.5 "/>
|
||||
<polygon class="st296" points="50.6,75.5 83,37 83,38.1 51.6,75.5 "/>
|
||||
<polygon class="st297" points="49.6,75.5 83,35.8 83,37 50.6,75.5 "/>
|
||||
<polygon class="st298" points="48.7,75.5 83,34.6 83,35.8 49.6,75.5 "/>
|
||||
<polygon class="st299" points="47.7,75.5 83,33.4 83,34.6 48.7,75.5 "/>
|
||||
<polygon class="st300" points="46.7,75.5 83,32.3 83,33.4 47.7,75.5 "/>
|
||||
<polygon class="st301" points="45.7,75.5 83,31.1 83,32.3 46.7,75.5 "/>
|
||||
<polygon class="st302" points="44.7,75.5 83,29.9 83,31.1 45.7,75.5 "/>
|
||||
<polygon class="st303" points="43.7,75.5 83,28.7 83,29.9 44.7,75.5 "/>
|
||||
<polygon class="st304" points="42.8,75.5 83,27.6 83,28.7 43.7,75.5 "/>
|
||||
<polygon class="st305" points="41.8,75.5 83,26.4 83,27.6 42.8,75.5 "/>
|
||||
<polygon class="st306" points="40.8,75.5 83,25.2 83,26.4 41.8,75.5 "/>
|
||||
<polygon class="st307" points="39.8,75.5 83,24 83,25.2 40.8,75.5 "/>
|
||||
<polygon class="st308" points="39,75.4 83,22.9 83,24 39.8,75.5 39,75.5 "/>
|
||||
<polygon class="st309" points="39,74.2 83,21.7 83,22.9 39,75.4 "/>
|
||||
<polygon class="st310" points="39,73 82.8,20.8 83,20.8 83,21.7 39,74.2 "/>
|
||||
<polygon class="st311" points="39,71.8 81.8,20.8 82.8,20.8 39,73 "/>
|
||||
<polygon class="st312" points="39,70.7 80.8,20.8 81.8,20.8 39,71.8 "/>
|
||||
<polygon class="st313" points="39,69.5 79.8,20.8 80.8,20.8 39,70.7 "/>
|
||||
<polygon class="st314" points="39,68.3 78.9,20.8 79.8,20.8 39,69.5 "/>
|
||||
<polygon class="st315" points="39,67.1 77.9,20.8 78.9,20.8 39,68.3 "/>
|
||||
<polygon class="st316" points="39,66 76.9,20.8 77.9,20.8 39,67.1 "/>
|
||||
<polygon class="st317" points="39,64.8 75.9,20.8 76.9,20.8 39,66 "/>
|
||||
<polygon class="st317" points="75.9,20.8 39,64.8 39,20.8 "/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M36.6,28.1c0-1.4,1.1-2.7,2.5-2.9l22.5-3.6v31.9c0,2.6-1.9,4.7-4.4,5.1L36.5,62L36.6,28.1z M56.7,27.3
|
||||
l-15.3,2.4l0,26.6l15.4-2.5V27.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<rect x="36.6" y="48.3" class="st0" width="4.8" height="28.2"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<rect x="59.2" y="3.9" class="st0" width="2.4" height="36.7"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M83,23.4v42.4c0,1.5-1.1,2.9-2.6,3.1l-35.3,5.7c-1.9,0.3-3.6-1.2-3.6-3.1v-7.6c0-1.5,1.1-2.9,2.6-3.1l14-2.2
|
||||
c2-0.3,3.5-2.1,3.5-4.1l0.2-39.7c0-2.4,2.5-3.9,4.6-2.8l14.3,7.7C82.1,20.4,83,21.8,83,23.4z M86.5,16L62.3,3
|
||||
c-0.8-0.6-1.9-0.1-1.9,0.9l-1.1,51c0,0.6-0.4,1.1-1,1.2L40,59c-0.6,0.1-1,0.6-1,1.2l0,18.7c0,0.7,0.7,1.3,1.4,1.2L86,71.8
|
||||
c0.6-0.1,1-0.6,1-1.2V17C87,16.6,86.8,16.3,86.5,16z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M59.2,11.7l0,7.5c0,1.6-1.2,3-2.7,3.2l-17.1,2.8c-1.6,0.3-2.7,1.6-2.7,3.2l0,40.3c0,2.5-2.6,4-4.8,2.9
|
||||
l-14.8-7.9c-1.1-0.6-1.7-1.7-1.7-2.9V17.6c0-1.6,1.2-3,2.8-3.2l37.5-5.8C57.4,8.2,59.2,9.7,59.2,11.7z M58.8,2.6l-45.5,7.9
|
||||
c-0.8,0.1-1.4,0.8-1.4,1.6l-0.2,49.6c-0.1,0.7,0.3,1.3,0.9,1.6l25.2,15.4c1.2,0.6,2.6-0.2,2.5-1.6L39,29.3c0-0.9,0.6-1.7,1.5-1.8
|
||||
l18.5-2.1c0.9-0.1,1.5-0.8,1.5-1.7l0.2-19.4C60.8,3.3,59.8,2.4,58.8,2.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M47.5,43.8c-0.6,0-1.1-0.4-1.2-1c-0.1-0.7,0.3-1.3,1-1.4l10.1-1.6c0.7-0.1,1.3,0.3,1.4,1
|
||||
c0.1,0.7-0.3,1.3-1,1.4l-10.1,1.6C47.6,43.8,47.6,43.8,47.5,43.8z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M55.2,42.6L55.2,42.6c0.8-0.1,1.6,0.5,1.6,1.3v8.7l4.5,0V30.1l-4.5,0.2V38c0,1.1-0.8,2-1.8,2.2l-1.7,0.3
|
||||
L55.2,42.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<polygon class="st318" points="112.5,28.8 112.5,37.1 125.6,37.1 125.6,41.2 112.5,41.2 112.5,49.5 125.6,49.5 125.6,53.6
|
||||
108,53.6 108,24.7 125.6,24.7 125.6,28.8 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st318" d="M147.2,38.3v14.2l-3.8,1.8h-0.6v-16c0-1.7-0.8-1.9-1.5-1.9h-4.3c-0.7,0-1.5,0.2-1.5,1.9v14.2l-3.8,1.8H131
|
||||
v-16c0-4,2-6,6-6h4.3C145.2,32.3,147.2,34.3,147.2,38.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<polygon class="st318" points="161.5,32.3 161.5,32.9 159.8,36.4 156.7,36.4 156.7,52.5 152.8,54.3 152.2,54.3 152.2,27.7
|
||||
156,25.9 156.7,25.9 156.7,32.3 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st318" d="M174.6,32.3h-4.3c-4,0-6,2-6,6v9.3c0,4,2,6,6,6h4.3c0.6,0,1.1-0.1,1.5-0.3v2c0,1.7-0.8,1.9-1.5,1.9h-10.3
|
||||
v4.1h10.3c4,0,6-2,6-6v-17C180.5,34.3,178.5,32.3,174.6,32.3z M176.1,47.6c0,1.7-0.8,1.9-1.5,1.9h-4.3c-0.7,0-1.5-0.2-1.5-1.9
|
||||
v-9.3c0-1.7,0.8-1.9,1.5-1.9h4.3c0.7,0,1.5,0.2,1.5,1.9V47.6z"/>
|
||||
<path class="st318" d="M197,32.3v0.6l-1.6,3.5H192c-0.7,0-1.5,0.2-1.5,1.9v14.2l-3.8,1.8H186v-16c0-4,2-6,6-6H197z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st318" d="M208,32.3h-7v4.1h7c0.7,0,1.5,0.2,1.5,1.9v1.1c-0.5-0.2-1-0.3-1.5-0.3h-3.9c-4,0-6,2-6,6v2.6c0,4,2,6,6,6
|
||||
h3.9c0.6,0,1.1-0.1,1.5-0.3v1.4h0.6l3.8-1.8V38.3C214,34.3,212,32.3,208,32.3z M208,49.5h-3.9c-0.7,0-1.5-0.2-1.5-1.9V45
|
||||
c0-1.7,0.8-1.9,1.5-1.9h3.9c0.7,0,1.5,0.2,1.5,1.9v2.6C209.5,49.3,208.7,49.5,208,49.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 48 KiB |
194
modules/distribution/src/core/resources/extensions/header.jsp
Normal file
194
modules/distribution/src/core/resources/extensions/header.jsp
Normal file
@ -0,0 +1,194 @@
|
||||
|
||||
<%--
|
||||
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
--%>
|
||||
|
||||
<!-- localize.jsp MUST already be included in the calling script -->
|
||||
|
||||
<%@ page import="java.io.File" %>
|
||||
<%@ page import="java.io.FileReader" %>
|
||||
<%@ page import="org.json.simple.parser.JSONParser"%>
|
||||
<%@ page import="org.json.simple.JSONObject"%>
|
||||
<%@ page import="java.net.URI"%>
|
||||
<%@ page import="org.apache.commons.lang.StringUtils"%>
|
||||
|
||||
<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.AuthenticationEndpointUtil" %>
|
||||
<%@ page import="org.wso2.carbon.identity.mgt.endpoint.util.IdentityManagementEndpointUtil" %>
|
||||
|
||||
<%
|
||||
String tenant = request.getParameter("tenantDomain");
|
||||
if (tenant == null) {
|
||||
String cb = request.getParameter("callback");
|
||||
cb = StringUtils.replace(cb, " ", "");
|
||||
if (cb != null) {
|
||||
URI uri = new URI(cb);
|
||||
String decodedValue = uri.getQuery();
|
||||
String[] params = decodedValue.split("&");
|
||||
for (String param : params) {
|
||||
if (param.startsWith("tenantDomain=")) {
|
||||
String[] keyVal = param.split("=");
|
||||
tenant = keyVal[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String headerTitle = "IOT Server";
|
||||
String pageTitle = "Entgra IOT Server";
|
||||
String footerText = "Entgra IOT Server";
|
||||
String faviconSrc = "libs/theme/assets/images/favicon.ico";
|
||||
String logoSrc = null;
|
||||
String logoHeight = "50";
|
||||
String logoWidth = "50";
|
||||
String logoAltText = "";
|
||||
File customCSSFile = null;
|
||||
String customCSS = "";
|
||||
String tenantThemeDirectoryName = "";
|
||||
boolean showCookiePolicy = true;
|
||||
boolean showPrivacyPolicy = true;
|
||||
String cookiePolicyText = null;
|
||||
String privacyPolicyText = null;
|
||||
|
||||
if (tenant != null) {
|
||||
String current = new File(".").getCanonicalPath();
|
||||
String tenantConfLocation = "/repository/deployment/server/jaggeryapps/devportal/site/public/tenant_themes/";
|
||||
tenantThemeDirectoryName = tenant;
|
||||
String tenantThemeFile = current + tenantConfLocation + tenantThemeDirectoryName + "/login/" + "loginTheme.json";
|
||||
customCSS = current + tenantConfLocation + tenantThemeDirectoryName + "/login/css/" + "loginTheme.css";
|
||||
File directory = new File(current + tenantConfLocation + tenantThemeDirectoryName);
|
||||
if (directory != null && directory.exists() && directory.isDirectory()) {
|
||||
File themeFile = new File(tenantThemeFile);
|
||||
customCSSFile = new File(customCSS);
|
||||
if (themeFile != null && themeFile.exists() && themeFile.isFile()) {
|
||||
FileReader fr = new FileReader(themeFile);
|
||||
JSONParser parser = new JSONParser();
|
||||
Object obj = parser.parse(fr);
|
||||
JSONObject jsonObject = (JSONObject) obj;
|
||||
|
||||
pageTitle = (String)jsonObject.get("title") != null ? (String)jsonObject.get("title") : "Entgra IOT Server";
|
||||
|
||||
JSONObject headerThemeObj = (JSONObject)jsonObject.get("header");
|
||||
if (headerThemeObj != null) {
|
||||
headerTitle = (String)(headerThemeObj.get("title")) != null ? (String)(headerThemeObj.get("title")) : "IOT Server";
|
||||
}
|
||||
|
||||
JSONObject footerThemeObj = (JSONObject)jsonObject.get("footer");
|
||||
if (footerThemeObj != null) {
|
||||
footerText = (String)(footerThemeObj.get("name"));
|
||||
}
|
||||
|
||||
JSONObject faviconThemeObj = (JSONObject)jsonObject.get("favicon");
|
||||
if (faviconThemeObj != null) {
|
||||
String fileName = (String)(faviconThemeObj.get("src"));
|
||||
if (!StringUtils.isEmpty(fileName)) {
|
||||
faviconSrc = "/devportal/site/public/tenant_themes/" + tenantThemeDirectoryName + "/login/images/"
|
||||
+ fileName;
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject logoThemeObj = (JSONObject)jsonObject.get("logo");
|
||||
if (logoThemeObj != null) {
|
||||
String fileName = (String)(logoThemeObj.get("src"));
|
||||
if (!StringUtils.isEmpty(fileName)) {
|
||||
logoSrc = "/devportal/site/public/tenant_themes/" + tenantThemeDirectoryName + "/login/images/"
|
||||
+ fileName;
|
||||
}
|
||||
logoHeight = (String)(logoThemeObj.get("height")) != null ? (String)(logoThemeObj.get("height")) : logoHeight;
|
||||
logoWidth = (String)(logoThemeObj.get("width")) != null ? (String)(logoThemeObj.get("width")) : logoWidth;
|
||||
logoAltText = (String)(logoThemeObj.get("alt"));
|
||||
}
|
||||
|
||||
JSONObject cookiePolicyThemeObj = (JSONObject)jsonObject.get("cookie-policy");
|
||||
if (cookiePolicyThemeObj != null) {
|
||||
showCookiePolicy = (Boolean)(cookiePolicyThemeObj.get("visible"));
|
||||
cookiePolicyText = (String)cookiePolicyThemeObj.get("text");
|
||||
}
|
||||
|
||||
JSONObject privacyPolicyThemeObj = (JSONObject)jsonObject.get("privacy-policy");
|
||||
if (privacyPolicyThemeObj != null) {
|
||||
showPrivacyPolicy = (Boolean)(privacyPolicyThemeObj.get("visible"));
|
||||
privacyPolicyText = (String)privacyPolicyThemeObj.get("text");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
request.setAttribute("headerTitle", headerTitle);
|
||||
request.setAttribute("pageTitle", pageTitle);
|
||||
request.setAttribute("footerText", footerText);
|
||||
request.setAttribute("faviconSrc", faviconSrc);
|
||||
request.setAttribute("showCookiePolicy", showCookiePolicy);
|
||||
request.setAttribute("showPrivacyPolicy", showPrivacyPolicy);
|
||||
request.setAttribute("cookiePolicyText", cookiePolicyText);
|
||||
request.setAttribute("privacyPolicyText", privacyPolicyText);
|
||||
request.setAttribute("logoSrc", logoSrc);
|
||||
request.setAttribute("logoHeight", logoHeight);
|
||||
request.setAttribute("logoWidth", logoWidth);
|
||||
request.setAttribute("logoAltText", logoAltText);
|
||||
|
||||
if (customCSSFile != null && customCSSFile.exists() && customCSSFile.isFile()) {
|
||||
String cssRelativePath = "/devportal/site/public/tenant_themes/" + tenantThemeDirectoryName + "/login/css/" + "loginTheme.css";
|
||||
request.setAttribute("customCSS", cssRelativePath);
|
||||
} else {
|
||||
request.setAttribute("customCSS", "");
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="icon" href="libs/themes/default/assets/images/favicon.ico" type="image/x-icon"/>
|
||||
<link href="libs/themes/default/theme.min.css" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
a {
|
||||
color : #1b3bcc
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #1b3bcc
|
||||
}
|
||||
.ui.primary.buttons .button,
|
||||
.ui.primary.button {
|
||||
background-color: #1b3bcc
|
||||
}
|
||||
|
||||
.ui.primary.buttons .button:hover,
|
||||
.ui.primary.button:hover {
|
||||
background-color: #1b3bcc
|
||||
}
|
||||
|
||||
.ui.button.link-button {
|
||||
color: #1b3bcc;
|
||||
}
|
||||
|
||||
.ui.warning.message {
|
||||
background-color: #fbfbff;
|
||||
}
|
||||
</style>
|
||||
<title><%=request.getAttribute("pageTitle")%></title>
|
||||
|
||||
<%
|
||||
String cssPath = request.getAttribute("customCSS") + "";
|
||||
if (!StringUtils.isEmpty(cssPath)) {
|
||||
%>
|
||||
<link href=<%=cssPath%> rel="stylesheet" type="text/css">
|
||||
<% }
|
||||
%>
|
||||
|
||||
<script src="libs/jquery_3.4.1/jquery-3.4.1.js"></script>
|
||||
@ -0,0 +1,292 @@
|
||||
<%--
|
||||
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
--%>
|
||||
|
||||
<!-- page content -->
|
||||
<div class="ui grid">
|
||||
<div class="two column row"></div>
|
||||
<div class="four wide computer four wide tablet column">
|
||||
<div id="toc" class="ui segment toc"></div>
|
||||
</div>
|
||||
<div class="twelve wide computer twelve wide tablet column">
|
||||
<!-- content -->
|
||||
<div>
|
||||
<div>
|
||||
<h1>
|
||||
Entgra IOT Server - Privacy Policy
|
||||
</h1>
|
||||
</div>
|
||||
<div>
|
||||
<%-- Customizable content. Due to this nature, i18n is not implemented for this section --%>
|
||||
<div id="privacyPolicy" class="padding-double">
|
||||
<h4><a href="https://wso2.com/iot/"><strong>About Entgra IOT Server</strong></a></h4>
|
||||
<p>Entgra IoT Server is a complete solution that enables device
|
||||
manufacturers and enterprises to connect and manage their devices,
|
||||
build apps, manage events, secure devices and data, and visualize
|
||||
sensor data in a scalable manner.</p>
|
||||
<p>It also offers a complete and secure Enterprise Mobility Management
|
||||
(EMM/MDM) solution that aims to address mobile computing challenges
|
||||
faced by enterprises today. Supporting iOS, Android, and Windows
|
||||
devices, it helps organizations deal with both Corporate Owned,
|
||||
Personally Enabled (COPE) and employee-owned devices with the Bring
|
||||
Your Own Device (BYOD) concept.</p>
|
||||
<p>Entgra IoT Server comes with advanced analytics, enabling users to
|
||||
analyze speed, proximity, and geo-fencing information of devices
|
||||
including details of those in motion and stationary state.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="privacy-policy"><strong>Privacy Policy</strong></h2>
|
||||
<p>This policy describes how Entgra IoT Server 4.0.0 captures your
|
||||
personal information, the purposes of collection, and information
|
||||
about the retention of your personal information.</p>
|
||||
<p>Please note that this policy is for reference only, and is applicable
|
||||
for the software as a product. Entgra and its developers have no
|
||||
access to the information held within Entgra IoT Server 4.0.0.Please
|
||||
see the Disclaimer section for more information. Entities,
|
||||
organisations or individuals controlling the use and administration of
|
||||
Entgra IoT Server 4.0.0 should create their own privacy policies
|
||||
setting out the manner in which data is controlled or processed by the
|
||||
respective entity, organisation or individual.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="what-are-the-personal-information">What are the personal information ?</h2>
|
||||
<p>Entgra IoT Server 4.0.0 considers anything related to you and by which
|
||||
you may be identified as your personal information.</p>
|
||||
<strong>Signing in to Entgra IoT Server</strong>
|
||||
<ol>
|
||||
<li>
|
||||
Your user name (except in cases where the user name created by your
|
||||
employer is under contract)
|
||||
</li>
|
||||
<li>IP address used to log in</li>
|
||||
<li>Email address</li>
|
||||
</ol>
|
||||
<strong>Enrolling a device with Entgra IoT Server</strong>
|
||||
<ul>
|
||||
<li>
|
||||
Your device ID (e.g., phone or tablet), mobile number, IMEI number,
|
||||
and IMSI number
|
||||
</li>
|
||||
<li>Your device's location</li>
|
||||
<li>Your device's application list, and memory usage</li>
|
||||
<li>
|
||||
Your device's usage statistics, such as RAM, battery level,
|
||||
connected hotspot details, and memory usage
|
||||
</li>
|
||||
</ul>
|
||||
<p>However, Entgra IoT Server 4.0.0 also collects the following
|
||||
information that is not considered personal information, but is used
|
||||
only for <strong>statistica</strong>l purposes. The reason for this
|
||||
is that this information can not be used to track you.</p>
|
||||
|
||||
<ul>
|
||||
<li>City/Country from which you originated the TCP/IP connection</li>
|
||||
<li>
|
||||
Time of the day that you logged in (year, month, week, hour or
|
||||
minute)
|
||||
</li>
|
||||
<li>
|
||||
Type of device that you used to log in (e.g., phone or tablet)
|
||||
</li>
|
||||
<li>Operating system and generic browser information</li>
|
||||
</ul>
|
||||
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="collection-of-your-information">Collection of your information</h2>
|
||||
<p>Entgra IoT Server collects your information only to serve your
|
||||
access requirements.</p>
|
||||
<p>For example,</p>
|
||||
<ul>
|
||||
<li>
|
||||
Entgra IoT Server uses your IP address to detect any
|
||||
suspicious login attempts to your account.
|
||||
</li>
|
||||
<li>
|
||||
Entgra IoT Server uses attributes like your first name, last
|
||||
name, etc., to provide a rich and personalized user experience.
|
||||
</li>
|
||||
<li>
|
||||
Entgra IoT Server uses your security questions and answers
|
||||
only to allow account recovery.
|
||||
</li>
|
||||
</ul>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="tracking-technologies">Tracking Technologies</h3>
|
||||
<p>Entgra IoT Server collects your information by:</p>
|
||||
<ul>
|
||||
<li>
|
||||
Collecting information from the user profile page where you enter
|
||||
your personal data.
|
||||
</li>
|
||||
<li>
|
||||
Tracking your IP address with HTTP request, HTTP headers, and
|
||||
TCP/IP.
|
||||
</li>
|
||||
<li>Tracking your geographic information with the IP address.</li>
|
||||
<li>
|
||||
Tracking your login history with browser cookies. Please see our
|
||||
cookie policy for more information.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="user-of-your-personal-information">Use of your personal information</h2>
|
||||
<p>Entgra IoT Server 4.0.0 will only use your personal information for
|
||||
the purposes for which it was collected (or for a use identified as
|
||||
consistent with that purpose).</p>
|
||||
<p> Entgra IoT Server 4.0.0 uses your personal information only for the
|
||||
following purposes.</p>
|
||||
<ul>
|
||||
<li>
|
||||
To provide you with a personalized user experience. Entgra IoT
|
||||
Server 4.0.0 uses your name and uploaded profile pictures for this
|
||||
purpose.
|
||||
</li>
|
||||
<li>
|
||||
To protect your account from unauthorized access or potential
|
||||
hacking attempts. Entgra IoT Server 4.0.0 uses HTTP or TCP/IP
|
||||
Headers for this purpose.
|
||||
</li>
|
||||
<li>
|
||||
This includes:
|
||||
<ol>
|
||||
<li>IP address</li>
|
||||
<li>Browser fingerprinting</li>
|
||||
<li>Cookies</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
Derive statistical data for analytical purposes on system
|
||||
performance improvements. Entgra IoT Server 4.0.0 will not keep any
|
||||
personal information after statistical calculations. Therefore, the
|
||||
statistical report has no means of identifying an individual person.
|
||||
</li>
|
||||
<li>
|
||||
Entgra IoT Server 4.0.0 may use:
|
||||
<ol>
|
||||
<li>IP Address to derive geographic information</li>
|
||||
<li>
|
||||
Browser fingerprinting to determine the browser technology
|
||||
or/and version
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="disclosure-of-your-personal-information">Disclosure of your personal information</h2>
|
||||
<p>Entgra IoT Server 4.0.0 only discloses personal information to the
|
||||
relevant applications (also known as “Service Providers”) that are
|
||||
registered with Entgra IoT Server 4.0.0. These applications are
|
||||
registered by the identity administrator of your entity or
|
||||
organization. Personal information is disclosed only for the purposes
|
||||
for which it was collected (or for a use identified as consistent with
|
||||
that purpose) as controlled by such Service Providers, unless you have
|
||||
consented otherwise or where it is required by law.</p>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="legal-process">Legal process</h3>
|
||||
<p>Please note that the organisation, entity or individual running Entgra
|
||||
IoT Server 4.0.0 may be compelled to disclose your personal
|
||||
information with or without your consent when it is required by law
|
||||
following due and lawful process.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="how-apim-store-or-keep-your-personal-information">Storage of personal information</h2>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="where-your-personal-information-stored">Where your personal information is stored</h3>
|
||||
<p>Entgra IoT Server 4.0.0 stores your personal information in secured
|
||||
databases. Entgra IoT Server 4.0.0 exercises proper industry accepted
|
||||
security measures to protect the database where your personal
|
||||
information is held.Entgra IoT Server 4.0.0 as a product does not
|
||||
transfer or share your data with any third parties or locations.</p>
|
||||
<p>Entgra IoT Server 4.0.0 may use encryption to keep your personal data
|
||||
with an added level of security.</p>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="how-long-does-apim-keep-your-personal-information">How long your personal information is retaineds ?</h3>
|
||||
<p>Entgra IoT Server 4.0.0 retains your personal data as long as you are
|
||||
an active user of our system. You can update your personal data at any
|
||||
time using the given self-care user portals.</p>
|
||||
<p>Entgra IoT Server 4.0.0 may keep hashed secrets to provide you with an
|
||||
added level of security. This includes:</p>
|
||||
<ul>
|
||||
<li>Current password</li>
|
||||
<li>Previously used passwords</li>
|
||||
</ul>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="how-can-you-request-a-removal-of-your-personal-information">How can you request a removal of your personal information ?</h3>
|
||||
<p>You can request the administrator to delete your account. The
|
||||
administrator is the administrator of the tenant you are registered
|
||||
under, or the super-administrator if you do not use the tenant
|
||||
feature.</p>
|
||||
<p>Additionally, you can request to anonymize all traces of your
|
||||
activities that Entgra IoT Server 4.0.0 may have retained in logs,
|
||||
databases or analytical storage.</p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="about">More Information</h2>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="changes-to-this-policy">Changes to this policy</h3>
|
||||
<p>Upgraded versions of Entgra IoT Server 4.0.0 may contain changes to
|
||||
this policy. Revisions to this policy will be packaged within such
|
||||
upgrades and would only apply to users who choose to use upgraded
|
||||
versions.</p>
|
||||
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="your-choices">Your choices</h3>
|
||||
<p>
|
||||
If you are already have an user account within Entgra IoT Server 4.0.0
|
||||
; you have the right to deactivate your account if you find that this
|
||||
privacy policy is unacceptable to you.
|
||||
</p>
|
||||
<p>
|
||||
If you do not have an account and you do not agree with our privacy
|
||||
policy, you can chose not to create one.
|
||||
</p>
|
||||
<div class="margin-bottom"></div>
|
||||
<h3 id="contact-us">Contact us</h3>
|
||||
<p>Please contact Entgra if you have any question or concerns regarding
|
||||
this privacy policy.</p>
|
||||
<p><a href="https://entgra.io/contact">contact</a></p>
|
||||
<div class="margin-bottom-double"></div>
|
||||
<h2 id="disclaimer">Disclaimer</h2>
|
||||
<p>
|
||||
Entgra, its employees, partners, and affiliates do not have access to
|
||||
and do not require, store, process or control any of the data,
|
||||
including personal data contained in Entgra IoT Server 4.0.0. All
|
||||
data, including personal data is controlled and processed by the
|
||||
entity or individual running Entgra IoT Server 4.0.0. Entgra, its
|
||||
employees partners and affiliates are not a data processor or a data
|
||||
controller within the meaning of any data privacy regulations. Entgra
|
||||
does not provide any warranties or undertake any responsibility or
|
||||
liability in connection with the lawfulness or the manner and purposes
|
||||
for which Entgra IoT Server 4.0.0 is used by such entities or persons.
|
||||
</p>
|
||||
<p>
|
||||
This privacy policy is for the informational purposes of the entity or
|
||||
persons running Entgra IoT Server 4.0.0 and sets out the processes and
|
||||
functionality contained within Entgra IoT Server 4.0.0 regarding
|
||||
personal data protection. It is the responsibility of entities and
|
||||
persons running Entgra IoT Server 4.0.0 to create and administer its
|
||||
own rules and processes governing users’ personal data, Please note
|
||||
that the creation of such rules and processes may change the use,
|
||||
storage and disclosure policies contained herein. Therefore users
|
||||
should consult the entity or persons running Entgra IoT Server 4.0.0
|
||||
for its own privacy policy for details governing users’ personal data.
|
||||
</p>
|
||||
</div>
|
||||
<%-- /Customizable content --%>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /content -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,46 @@
|
||||
<%--
|
||||
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
--%>
|
||||
|
||||
<!-- localize.jsp MUST already be included in the calling script -->
|
||||
|
||||
<%@ page import="org.apache.commons.lang.StringUtils"%>
|
||||
|
||||
<% if ("IOT Server".equals(request.getAttribute("headerTitle"))) { %>
|
||||
<div class="product-title">
|
||||
<div class="theme-icon inline auto transparent product-logo">
|
||||
<img src=extensions/customAssets/logo.svg alt="Logo" />
|
||||
</div>
|
||||
<h1 class="product-title-text">IOT Server</h1>
|
||||
</div>
|
||||
<% } else {
|
||||
|
||||
String logoSrc = (String)request.getAttribute("logoSrc");
|
||||
String logoHeight = (String)request.getAttribute("logoHeight");
|
||||
String logoWidth = (String)request.getAttribute("logoWidth");
|
||||
String logoAltText = (String)request.getAttribute("logoAltText");
|
||||
if (!StringUtils.isEmpty(logoSrc)) {
|
||||
%>
|
||||
<div class="product-title box">
|
||||
<img src=<%=logoSrc%> alt=<%=logoAltText%> height=<%=logoHeight%> width=<%=logoWidth%>>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<div class="product-title box">
|
||||
<h1 class="product-title-text" vertical-align="middle"><%=request.getAttribute("headerTitle")%></h1>
|
||||
</div>
|
||||
<% } %>
|
||||
<% } %>
|
||||
23
modules/distribution/src/core/resources/extensions/title.jsp
Normal file
23
modules/distribution/src/core/resources/extensions/title.jsp
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<%--
|
||||
~ Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
--%>
|
||||
|
||||
<!-- localize.jsp MUST already be included in the calling script -->
|
||||
|
||||
<!-- title -->
|
||||
<title>WSO2 IOT Server</title>
|
||||
@ -0,0 +1,44 @@
|
||||
<api xmlns="http://ws.apache.org/ns/synapse" name="_WSO2AMTokenAPI_" context="/token">
|
||||
<resource methods="POST" url-mapping="/*" faultSequence="_token_fault_">
|
||||
<inSequence>
|
||||
<property name="uri.var.portnum" expression="get-property('system','iot.keymanager.https.port')"/>
|
||||
<property name="uri.var.hostname" expression="get-property('system','iot.keymanager.host')"/>
|
||||
<filter source="$body//scope" regex="PRODUCTION">
|
||||
<then>
|
||||
<payloadFactory media-type="xml">
|
||||
<format>
|
||||
<xformValues>
|
||||
<refresh_token>$1</refresh_token>
|
||||
<grant_type>refresh_token</grant_type>
|
||||
</xformValues>
|
||||
</format>
|
||||
<args>
|
||||
<arg xmlns:m0="http://services.samples/xsd" expression="//refresh_token" />
|
||||
</args>
|
||||
</payloadFactory>
|
||||
<header name="Content-Type" scope="transport" value="application/x-www-form-urlencoded" />
|
||||
<property name="messageType" scope="axis2" type="STRING" value="application/x-www-form-urlencoded" />
|
||||
</then>
|
||||
<else>
|
||||
</else>
|
||||
</filter>
|
||||
<send>
|
||||
<endpoint>
|
||||
<http uri-template="https://{uri.var.hostname}:{uri.var.portnum}/oauth2/token">
|
||||
<timeout>
|
||||
<duration>60000</duration>
|
||||
<responseAction>fault</responseAction>
|
||||
</timeout>
|
||||
</http>
|
||||
</endpoint>
|
||||
</send>
|
||||
</inSequence>
|
||||
<outSequence>
|
||||
<send/>
|
||||
</outSequence>
|
||||
</resource>
|
||||
<handlers>
|
||||
<handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerCacheExtensionHandler"/>
|
||||
<handler class="org.wso2.carbon.apimgt.gateway.handlers.common.SynapsePropertiesHandler"/>
|
||||
</handlers>
|
||||
</api>
|
||||
39
modules/p2-profile/pom.xml
Normal file
39
modules/p2-profile/pom.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>io.entgra.iot</groupId>
|
||||
<artifactId>entgra-iot-server-parent</artifactId>
|
||||
<version>4.1.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>entgra-iot-p2-profile</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Entgra IoT - P2 Profile Module</name>
|
||||
<url>http://entgra.io</url>
|
||||
|
||||
<modules>
|
||||
<module>iot-core-profile</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
||||
352
pom.xml
Normal file
352
pom.xml
Normal file
@ -0,0 +1,352 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing,
|
||||
~ software distributed under the License is distributed on an
|
||||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
~ KIND, either express or implied. See the License for the
|
||||
~ specific language governing permissions and limitations
|
||||
~ under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>io.entgra.iot</groupId>
|
||||
<artifactId>entgra-iot-server-parent</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>4.1.1-SNAPSHOT</version>
|
||||
<name>Entgra IoT - Parent</name>
|
||||
<url>http://entgra.io</url>
|
||||
<description>Entgra IoT Server</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.wso2</groupId>
|
||||
<artifactId>wso2</artifactId>
|
||||
<version>2</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
<module>modules/p2-profile</module>
|
||||
<module>modules/distribution</module>
|
||||
</modules>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!--CDM core dependencies-->
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.core</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.common</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.group.core</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.group.common</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.identity.jwt.client.extension</artifactId>
|
||||
<version>${carbon.device.mgt.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!--Orbit dependencies-->
|
||||
<dependency>
|
||||
<groupId>com.h2database.wso2</groupId>
|
||||
<artifactId>h2-database-engine</artifactId>
|
||||
<version>${orbit.h2.engine.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<properties>
|
||||
|
||||
<wso2am>wso2am-4.0.0</wso2am>
|
||||
<entgra-iot>entgra-iot-${project.version}</entgra-iot>
|
||||
|
||||
<!-- Carbon Device Management-->
|
||||
<carbon.device.mgt.version>4.1.16-SNAPSHOT</carbon.device.mgt.version>
|
||||
|
||||
<carbon.p2.plugin.version>5.1.2</carbon.p2.plugin.version>
|
||||
|
||||
<!--Orbit versions-->
|
||||
<orbit.h2.engine.version>1.2.140.wso2v3</orbit.h2.engine.version>
|
||||
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
<url>https://gitlab.com/entgra/product-iots.git</url>
|
||||
<developerConnection>scm:git:https://gitlab.com/entgra/product-iots.git</developerConnection>
|
||||
<connection>scm:git:https://gitlab.com/entgra/product-iots.git</connection>
|
||||
<tag>HEAD</tag>
|
||||
</scm>
|
||||
|
||||
<build>
|
||||
<extensions>
|
||||
<extension>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-ssh</artifactId>
|
||||
<version>2.1</version>
|
||||
</extension>
|
||||
</extensions>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.jvnet.maven.incrementalbuild</groupId>
|
||||
<artifactId>incremental-build-plugin</artifactId>
|
||||
<version>1.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>incremental-build</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>2.3.1</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<configuration>
|
||||
<preparationGoals>clean install</preparationGoals>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-scr-plugin</artifactId>
|
||||
<version>1.7.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-scr-scrdescriptor</id>
|
||||
<goals>
|
||||
<goal>scr</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<version>2.3.5</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<obrRepository>NONE</obrRepository>
|
||||
<!--<instructions>
|
||||
<_include>-osgi.bnd</_include>
|
||||
</instructions>-->
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>2.1.2</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>3.0.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<version>1.8</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.18.1</version>
|
||||
<!--Need to remove below configuration after fixing tests-->
|
||||
<configuration>
|
||||
<testFailureIgnore>true</testFailureIgnore>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>wso2.releases</id>
|
||||
<name>WSO2 internal Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/repositories/releases/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
<pluginRepository>
|
||||
<id>wso2.snapshots</id>
|
||||
<name>Apache Snapshot Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/repositories/snapshots/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
<pluginRepository>
|
||||
<id>wso2-nexus</id>
|
||||
<name>WSO2 internal Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
|
||||
<repositories>
|
||||
<!-- Before adding ANYTHING in here, please start a discussion on the dev list.
|
||||
Ideally the Axis2 build should only use Maven central (which is available
|
||||
by default) and nothing else. We had troubles with other repositories in
|
||||
the past. Therefore configuring additional repositories here should be
|
||||
considered very carefully. -->
|
||||
<repository>
|
||||
<id>wso2-nexus</id>
|
||||
<name>WSO2 internal Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>wso2.releases</id>
|
||||
<name>WSO2 internal Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/repositories/releases/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>wso2.snapshots</id>
|
||||
<name>WSO2 Snapshot Repository</name>
|
||||
<url>http://maven.wso2.org/nexus/content/repositories/snapshots/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>entgra-nexus</id>
|
||||
<name>Entgra internal Repository</name>
|
||||
<url>http://nexus.entgra.io/repository/maven-public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>entgra.snapshots</id>
|
||||
<name>Entgra Snapshot Repository</name>
|
||||
<url>http://nexus.entgra.io/repository/maven-snapshots/</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>entgra.releases</id>
|
||||
<name>Entgra internal Repository</name>
|
||||
<url>http://nexus.entgra.io/repository/maven-releases/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
<checksumPolicy>ignore</checksumPolicy>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<id>maven-snapshots</id>
|
||||
<url>http://nexus.entgra.io/repository/maven-snapshots/</url>
|
||||
</snapshotRepository>
|
||||
<repository>
|
||||
<id>maven-release</id>
|
||||
<url>http://nexus.entgra.io/repository/maven-releases/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</project>
|
||||
Loading…
Reference in New Issue
Block a user