├── boss.json ├── samples ├── delphi │ ├── boss.json │ ├── Samples.dpr │ ├── boss-lock.json │ └── Samples.dproj └── lazarus │ ├── boss.json │ ├── boss-lock.json │ ├── Samples.lpr │ └── Samples.lpi ├── boss-lock.json ├── LICENSE ├── src └── Horse.Etag.pas ├── README.md └── .gitignore /boss.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Horse-ETag", 3 | "description": "", 4 | "version": "1.0.0", 5 | "homepage": "", 6 | "mainsrc": "src", 7 | "projects": [], 8 | "dependencies": { 9 | "github.com/hashload/horse": "^3.0.0" 10 | } 11 | } -------------------------------------------------------------------------------- /samples/delphi/boss.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "samples", 3 | "description": "", 4 | "version": "1.0.0", 5 | "homepage": "", 6 | "mainsrc": "./", 7 | "projects": [], 8 | "dependencies": { 9 | "github.com/hashload/horse": "^3.0.0", 10 | "github.com/hashload/jhonson": "^1.1.4" 11 | } 12 | } -------------------------------------------------------------------------------- /samples/lazarus/boss.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lazarus", 3 | "description": "", 4 | "version": "1.0.0", 5 | "homepage": "", 6 | "mainsrc": "./", 7 | "projects": [], 8 | "dependencies": { 9 | "github.com/hashload/horse": "^3.0.0", 10 | "github.com/hashload/jhonson": "^1.1.4" 11 | } 12 | } -------------------------------------------------------------------------------- /boss-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "fbc6f09c72a42c05ced242f13f509205", 3 | "updated": "2022-02-18T08:59:17.6034478-03:00", 4 | "installedModules": { 5 | "github.com/hashload/horse": { 6 | "name": "horse", 7 | "version": "3.0.0", 8 | "hash": "195e14c9c225f81a8c69d18b5118c149", 9 | "artifacts": {}, 10 | "failed": false, 11 | "changed": false 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /samples/delphi/Samples.dpr: -------------------------------------------------------------------------------- 1 | program Samples; 2 | 3 | uses 4 | Horse, 5 | Horse.Etag, 6 | Horse.Jhonson, 7 | System.JSON; 8 | 9 | begin 10 | THorse 11 | .Use(Jhonson) 12 | .Use(eTag); 13 | 14 | THorse.Get('ping', 15 | procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc) 16 | begin 17 | Res.Send(TJsonObject.Create.AddPair('Teste', 'Teste1')); 18 | end); 19 | 20 | THorse.Listen(9000); 21 | end. 22 | -------------------------------------------------------------------------------- /samples/delphi/boss-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "6ef9161b900632671022358216c7dfe7", 3 | "updated": "2022-02-18T08:58:48.4400411-03:00", 4 | "installedModules": { 5 | "github.com/hashload/horse": { 6 | "name": "horse", 7 | "version": "3.0.0", 8 | "hash": "195e14c9c225f81a8c69d18b5118c149", 9 | "artifacts": {}, 10 | "failed": false, 11 | "changed": false 12 | }, 13 | "github.com/hashload/jhonson": { 14 | "name": "jhonson", 15 | "version": "1.1.4", 16 | "hash": "7f48e0509b98505a12fa80ee39b53aea", 17 | "artifacts": {}, 18 | "failed": false, 19 | "changed": false 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /samples/lazarus/boss-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "a4a6a33a3c5fb414fef69b653c591e0a", 3 | "updated": "2022-02-18T08:59:10.2376391-03:00", 4 | "installedModules": { 5 | "github.com/hashload/horse": { 6 | "name": "horse", 7 | "version": "3.0.0", 8 | "hash": "195e14c9c225f81a8c69d18b5118c149", 9 | "artifacts": {}, 10 | "failed": false, 11 | "changed": false 12 | }, 13 | "github.com/hashload/jhonson": { 14 | "name": "jhonson", 15 | "version": "1.1.4", 16 | "hash": "7f48e0509b98505a12fa80ee39b53aea", 17 | "artifacts": {}, 18 | "failed": false, 19 | "changed": false 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /samples/lazarus/Samples.lpr: -------------------------------------------------------------------------------- 1 | program Samples; 2 | 3 | {$MODE DELPHI}{$H+} 4 | 5 | uses 6 | {$IFDEF UNIX}{$IFDEF UseCThreads} 7 | cthreads, 8 | {$ENDIF}{$ENDIF} 9 | Horse, 10 | Horse.Etag, 11 | Horse.Jhonson, 12 | SysUtils, 13 | fpjson; 14 | 15 | procedure GetPing(Req: THorseRequest; Res: THorseResponse; Next: TNextProc); 16 | var 17 | LContent: TJSONObject; 18 | begin 19 | LContent := TJSONObject.Create; 20 | LContent.Add('Teste', 'Teste1'); 21 | Res.Send(LContent); 22 | end; 23 | 24 | begin 25 | THorse 26 | .Use(Jhonson) 27 | .Use(eTag); 28 | 29 | THorse.Get('/ping', GetPing); 30 | 31 | THorse.Listen(9000); 32 | end. 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Thulio Bittencourt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/Horse.Etag.pas: -------------------------------------------------------------------------------- 1 | unit Horse.Etag; 2 | 3 | {$IF DEFINED(FPC)} 4 | {$MODE DELPHI}{$H+} 5 | {$ENDIF} 6 | 7 | interface 8 | 9 | uses 10 | Horse, 11 | Horse.Commons, 12 | {$IF DEFINED(FPC)} 13 | md5, 14 | fpjson; 15 | {$ELSE} 16 | System.SysUtils, 17 | System.Classes, 18 | System.JSON, 19 | Web.HTTPApp, 20 | IdHashMessageDigest; 21 | {$ENDIF} 22 | 23 | procedure eTag(Req: THorseRequest; Res: THorseResponse; Next: {$IF DEFINED(FPC)}TNextProc{$ELSE}TProc{$ENDIF}); 24 | 25 | implementation 26 | 27 | procedure eTag(Req: THorseRequest; Res: THorseResponse; Next: {$IF DEFINED(FPC)}TNextProc{$ELSE}TProc{$ENDIF}); 28 | var 29 | LContent: TObject; 30 | {$IFNDEF FPC} 31 | Hash: TIdHashMessageDigest5; 32 | {$ENDIF} 33 | eTag: String; 34 | begin 35 | try 36 | Next; 37 | finally 38 | LContent := Res.Content; 39 | 40 | if Assigned(LContent) and LContent.InheritsFrom({$IF DEFINED(FPC)}TJSONData{$ELSE}TJSONValue{$ENDIF}) then 41 | begin 42 | {$IF DEFINED(FPC)} 43 | eTag := MD5Print(MD5String(TJSONData(LContent).AsJSON)); 44 | {$ELSE} 45 | Hash := TIdHashMessageDigest5.Create; 46 | try 47 | eTag := Hash.HashStringAsHex(TJSONValue(LContent).ToString); 48 | finally 49 | Hash.Free; 50 | end; 51 | {$ENDIF} 52 | end; 53 | 54 | if (Req.Headers['If-None-Match'] = eTag) and (eTag <> '') then 55 | begin 56 | Res.Status(THTTPStatus.NotModified); 57 | Res.RawWebResponse.Content := ''; 58 | end; 59 | 60 | Res.RawWebResponse.SetCustomHeader('ETag', eTag); 61 | end; 62 | end; 63 | 64 | end. 65 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # eTag 2 | eTag is not an official middleware. It was created to facilitate working with eTag using the Horse framework. 3 |
We created a channel on Telegram for questions and support:

4 | 5 | 6 | 7 | 8 | ## ⚙️ Installation 9 | Installation is done using the [`boss install`](https://github.com/HashLoad/boss) command: 10 | ``` sh 11 | boss install bittencourtthulio/Horse-ETag 12 | ``` 13 | If you choose to install manually, simply add the following folders to your project, in *Project > Options > Resource Compiler > Directories and Conditionals > Include file search path* 14 | ``` 15 | ../Horse-ETag/src 16 | ``` 17 | 18 | ## ✔️ Compatibility 19 | This middleware is compatible with projects developed in: 20 | - [X] Delphi 21 | - [X] Lazarus 22 | 23 | ## ⚡️ Quickstart 24 | ```delphi 25 | uses Horse, Horse.Etag, Horse.Jhonson, System.JSON; 26 | 27 | begin 28 | THorse 29 | .Use(Jhonson) 30 | .Use(eTag); 31 | 32 | THorse.Get('ping', 33 | procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc) 34 | begin 35 | Res.Send(TJsonObject.Create.AddPair('Teste', 'Teste')); 36 | end); 37 | 38 | THorse.Listen(9000); 39 | end. 40 | ``` 41 | 42 | ![image](https://github.com/academiadocodigo/Horse-ETag/assets/16382981/ed4d8553-cf5f-413c-8522-8b6c08961bb0) 43 | 44 | ![image](https://github.com/academiadocodigo/Horse-ETag/assets/16382981/5a61fe20-9218-4416-bb25-c5ceca4765e9) 45 | 46 | ## ⚠️ License 47 | `eTag` is free and open-source middleware licensed under the [MIT License](https://github.com/bittencourtthulio/Horse-ETag/blob/master/LICENSE). 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Uncomment these types if you want even more clean repository. But be careful. 2 | # It can make harm to an existing project source. Read explanations below. 3 | 4 | # Resource files are binaries containing manifest, project icon and version info. 5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. 6 | *.res 7 | 8 | # Type library file (binary). In old Delphi versions it should be stored. 9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored. 10 | #*.tlb 11 | # 12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7. 13 | # Uncomment this if you are not using diagrams or use newer Delphi version. 14 | #*.ddp 15 | # 16 | # Visual LiveBindings file. Added in Delphi XE2. 17 | # Uncomment this if you are not using LiveBindings Designer. 18 | #*.vlb 19 | # 20 | # Deployment Manager configuration file for your project. Added in Delphi XE2. 21 | # Uncomment this if it is not mobile development and you do not use remote debug feature. 22 | #*.deployproj 23 | # 24 | # C++ object files produced when C/C++ Output file generation is configured. 25 | # Uncomment this if you are not using external objects (zlib library for example). 26 | #*.obj 27 | # 28 | 29 | # Delphi compiler-generated binaries (safe to delete) 30 | *.exe 31 | *.dll 32 | *.bpl 33 | *.bpi 34 | *.dcp 35 | *.so 36 | *.apk 37 | *.drc 38 | *.map 39 | *.dres 40 | *.rsm 41 | *.tds 42 | *.dcu 43 | *.lib 44 | *.a 45 | *.o 46 | *.ocx 47 | 48 | # Delphi autogenerated files (duplicated info) 49 | *.cfg 50 | *.hpp 51 | *Resource.rc 52 | 53 | # Delphi local files (user-specific info) 54 | *.local 55 | *.identcache 56 | *.projdata 57 | *.tvsconfig 58 | *.dsk 59 | 60 | # Delphi history and backups 61 | __history/ 62 | __recovery/ 63 | *.~* 64 | 65 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi) 66 | *.stat 67 | 68 | # Boss dependency manager vendor folder https://github.com/HashLoad/boss 69 | modules/ 70 | *.bak 71 | -------------------------------------------------------------------------------- /samples/lazarus/Samples.lpi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | <UseAppBundle Value="False"/> 15 | <ResourceType Value="res"/> 16 | </General> 17 | <BuildModes Count="1"> 18 | <Item1 Name="Default" Default="True"/> 19 | </BuildModes> 20 | <PublishOptions> 21 | <Version Value="2"/> 22 | <UseFileFilters Value="True"/> 23 | </PublishOptions> 24 | <RunParams> 25 | <FormatVersion Value="2"/> 26 | <Modes Count="0"/> 27 | </RunParams> 28 | <RequiredPackages Count="1"> 29 | <Item1> 30 | <PackageName Value="indylaz"/> 31 | </Item1> 32 | </RequiredPackages> 33 | <Units Count="1"> 34 | <Unit0> 35 | <Filename Value="Samples.lpr"/> 36 | <IsPartOfProject Value="True"/> 37 | </Unit0> 38 | </Units> 39 | </ProjectOptions> 40 | <CompilerOptions> 41 | <Version Value="11"/> 42 | <PathDelim Value="\"/> 43 | <Target> 44 | <Filename Value="Samples"/> 45 | </Target> 46 | <SearchPaths> 47 | <IncludeFiles Value="$(ProjOutDir)"/> 48 | <OtherUnitFiles Value="..\..\src;modules\.dcp;modules\.dcu;modules;modules\horse\src;modules\jhonson\src"/> 49 | <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 50 | </SearchPaths> 51 | </CompilerOptions> 52 | <Debugging> 53 | <Exceptions Count="4"> 54 | <Item1> 55 | <Name Value="EAbort"/> 56 | </Item1> 57 | <Item2> 58 | <Name Value="ECodetoolError"/> 59 | </Item2> 60 | <Item3> 61 | <Name Value="EFOpenError"/> 62 | </Item3> 63 | <Item4> 64 | <Name Value="EResNotFound"/> 65 | </Item4> 66 | </Exceptions> 67 | </Debugging> 68 | </CONFIG> 69 | -------------------------------------------------------------------------------- /samples/delphi/Samples.dproj: -------------------------------------------------------------------------------- 1 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 2 | <PropertyGroup> 3 | <ProjectGuid>{E06B1E6A-5ABC-47EE-8765-70AED8D11FD1}</ProjectGuid> 4 | <ProjectVersion>18.8</ProjectVersion> 5 | <FrameworkType>None</FrameworkType> 6 | <MainSource>Samples.dpr</MainSource> 7 | <Base>True</Base> 8 | <Config Condition="'$(Config)'==''">Debug</Config> 9 | <Platform Condition="'$(Platform)'==''">Win32</Platform> 10 | <TargetedPlatforms>1</TargetedPlatforms> 11 | <AppType>Console</AppType> 12 | </PropertyGroup> 13 | <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> 14 | <Base>true</Base> 15 | </PropertyGroup> 16 | <PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''"> 17 | <Base_Android>true</Base_Android> 18 | <CfgParent>Base</CfgParent> 19 | <Base>true</Base> 20 | </PropertyGroup> 21 | <PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Base)'=='true') or '$(Base_Android64)'!=''"> 22 | <Base_Android64>true</Base_Android64> 23 | <CfgParent>Base</CfgParent> 24 | <Base>true</Base> 25 | </PropertyGroup> 26 | <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> 27 | <Base_Win32>true</Base_Win32> 28 | <CfgParent>Base</CfgParent> 29 | <Base>true</Base> 30 | </PropertyGroup> 31 | <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> 32 | <Base_Win64>true</Base_Win64> 33 | <CfgParent>Base</CfgParent> 34 | <Base>true</Base> 35 | </PropertyGroup> 36 | <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> 37 | <Cfg_1>true</Cfg_1> 38 | <CfgParent>Base</CfgParent> 39 | <Base>true</Base> 40 | </PropertyGroup> 41 | <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''"> 42 | <Cfg_1_Win32>true</Cfg_1_Win32> 43 | <CfgParent>Cfg_1</CfgParent> 44 | <Cfg_1>true</Cfg_1> 45 | <Base>true</Base> 46 | </PropertyGroup> 47 | <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> 48 | <Cfg_2>true</Cfg_2> 49 | <CfgParent>Base</CfgParent> 50 | <Base>true</Base> 51 | </PropertyGroup> 52 | <PropertyGroup Condition="'$(Base)'!=''"> 53 | <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput> 54 | <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput> 55 | <DCC_E>false</DCC_E> 56 | <DCC_N>false</DCC_N> 57 | <DCC_S>false</DCC_S> 58 | <DCC_F>false</DCC_F> 59 | <DCC_K>false</DCC_K> 60 | <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)</DCC_Namespace> 61 | <SanitizedProjectName>Samples</SanitizedProjectName> 62 | <DCC_UnitSearchPath>$(DCC_UnitSearchPath);modules\.dcp;modules\.dcu;modules;modules\horse\src;modules\jhonson\src</DCC_UnitSearchPath> 63 | </PropertyGroup> 64 | <PropertyGroup Condition="'$(Base_Android)'!=''"> 65 | <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;MaterialDesign;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;GridSystem;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)</DCC_UsePackage> 66 | <Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36> 67 | <Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48> 68 | <Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72> 69 | <Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96> 70 | <Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144> 71 | <Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426> 72 | <Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470> 73 | <Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640> 74 | <Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960> 75 | <Android_NotificationIcon24>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png</Android_NotificationIcon24> 76 | <Android_NotificationIcon36>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png</Android_NotificationIcon36> 77 | <Android_NotificationIcon48>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png</Android_NotificationIcon48> 78 | <Android_NotificationIcon72>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png</Android_NotificationIcon72> 79 | <Android_NotificationIcon96>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png</Android_NotificationIcon96> 80 | <EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars> 81 | </PropertyGroup> 82 | <PropertyGroup Condition="'$(Base_Android64)'!=''"> 83 | <DCC_UsePackage>DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;soaprtl;DbxCommonDriver;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)</DCC_UsePackage> 84 | <Android_LauncherIcon36>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png</Android_LauncherIcon36> 85 | <Android_LauncherIcon48>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png</Android_LauncherIcon48> 86 | <Android_LauncherIcon72>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png</Android_LauncherIcon72> 87 | <Android_LauncherIcon96>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png</Android_LauncherIcon96> 88 | <Android_LauncherIcon144>$(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png</Android_LauncherIcon144> 89 | <Android_SplashImage426>$(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png</Android_SplashImage426> 90 | <Android_SplashImage470>$(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png</Android_SplashImage470> 91 | <Android_SplashImage640>$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png</Android_SplashImage640> 92 | <Android_SplashImage960>$(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png</Android_SplashImage960> 93 | <Android_NotificationIcon24>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png</Android_NotificationIcon24> 94 | <Android_NotificationIcon36>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png</Android_NotificationIcon36> 95 | <Android_NotificationIcon48>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png</Android_NotificationIcon48> 96 | <Android_NotificationIcon72>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png</Android_NotificationIcon72> 97 | <Android_NotificationIcon96>$(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png</Android_NotificationIcon96> 98 | <EnabledSysJars>android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar</EnabledSysJars> 99 | </PropertyGroup> 100 | <PropertyGroup Condition="'$(Base_Win32)'!=''"> 101 | <DCC_UsePackage>DBXSqliteDriver;RESTComponents;TVidGrab;DBXDb2Driver;DBXInterBaseDriver;vclactnband;ACBr_TEFD;vclFireDAC;emsclientfiredac;IWBootstrapD103;tethering;svnui;DataSnapFireDAC;TBGConnection;FireDACADSDriver;DBXMSSQLDriver;DUPCORE;ACBr_MDFeDamdfeRL;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;ACBr_NFe;ACBrDFeReportRL;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;ACBr_NFeDanfeESCPOS;ACBr_Diversos;ACBr_TXTComum;emsedge;fmx;FireDACIBDriver;fmxdae;ACBr_Ponto;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;ACBr_SATExtratoRL;ACBr_PCNComum;RESTBackendComponents;DataSnapConnectors;ACBR_DeSTDA;VCLRESTComponents;soapserver;ACBr_SAT;TBGQuery;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;ACBr_PAF;ACBr_Sintegra;FireDACCommonODBC;FireDACCommonDriver;ACBr_GNRE;DataSnapClient;inet;IndyIPCommon;bindcompdbx;ACBr_TCP;ACBr_CTeDacteRL;vcl;IndyIPServer;DBXSybaseASEDriver;ACBr_CTe;TBGWebCharts;ACBr_NFeDanfeRL;IndySystem;FireDACDb2Driver;dsnapcon;TBGFiredacDriver;ACBr_synapse;CData.Excel.D26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;ACBr_SPEDImportar;FireDAC;ACBr_SPED;ACBr_MDFe;emshosting;ACBr_Comum;ACBr_BoletoRL;FireDACSqliteDriver;FireDACPgDriver;ACBr_LFD;FireDACASADriver;ACBr_GNREGuiaRL;DBXOdbcDriver;FireDACTDataDriver;MaterialDesign;Player;soaprtl;DbxCommonDriver;ACBr_NFSeDanfseRL;TBGDBExpressDriver;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ACBr_OpenSSL;DBXSybaseASADriver;ACBr_DFeComum;CustomIPTransport;vcldsnap;DCEF_DX10;ACBr_Convenio115;bindcomp;appanalytics;ACBr_Serial;DBXInformixDriver;IndyIPClient;frce;bindcompvcl;GridSystem;CData.GoogleSheets.D26;ACBr_BlocoX;dbxcds;VclSmp;ACBr_NFCeECFVirtual;adortl;FireDACODBCDriver;Intraweb_15_D10_3;DataSnapIndy10ServerTransport;ACBr_Boleto;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;ACBr_SEF2;Windows;IndyProtocols;ACBr_NFSe;ACBr_MTER;fmxase;$(DCC_UsePackage)</DCC_UsePackage> 102 | <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> 103 | <BT_BuildType>Debug</BT_BuildType> 104 | <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> 105 | <VerInfo_Locale>1033</VerInfo_Locale> 106 | <DCC_ConsoleTarget>true</DCC_ConsoleTarget> 107 | <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> 108 | <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> 109 | </PropertyGroup> 110 | <PropertyGroup Condition="'$(Base_Win64)'!=''"> 111 | <DCC_UsePackage>DBXSqliteDriver;RESTComponents;TVidGrab;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;TBGConnection;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;CData.Excel.D26;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;MaterialDesign;soaprtl;DbxCommonDriver;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;DCEF_DX10;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;GridSystem;CData.GoogleSheets.D26;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage)</DCC_UsePackage> 112 | <DCC_ConsoleTarget>true</DCC_ConsoleTarget> 113 | <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> 114 | <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> 115 | </PropertyGroup> 116 | <PropertyGroup Condition="'$(Cfg_1)'!=''"> 117 | <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> 118 | <DCC_DebugDCUs>true</DCC_DebugDCUs> 119 | <DCC_Optimize>false</DCC_Optimize> 120 | <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> 121 | <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> 122 | <DCC_RemoteDebug>true</DCC_RemoteDebug> 123 | </PropertyGroup> 124 | <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> 125 | <DCC_RemoteDebug>false</DCC_RemoteDebug> 126 | <DCC_UnitSearchPath>..\..\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> 127 | <VerInfo_Locale>1033</VerInfo_Locale> 128 | <Manifest_File>(None)</Manifest_File> 129 | </PropertyGroup> 130 | <PropertyGroup Condition="'$(Cfg_2)'!=''"> 131 | <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> 132 | <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> 133 | <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> 134 | <DCC_DebugInformation>0</DCC_DebugInformation> 135 | </PropertyGroup> 136 | <ItemGroup> 137 | <DelphiCompile Include="$(MainSource)"> 138 | <MainSource>MainSource</MainSource> 139 | </DelphiCompile> 140 | <BuildConfiguration Include="Release"> 141 | <Key>Cfg_2</Key> 142 | <CfgParent>Base</CfgParent> 143 | </BuildConfiguration> 144 | <BuildConfiguration Include="Base"> 145 | <Key>Base</Key> 146 | </BuildConfiguration> 147 | <BuildConfiguration Include="Debug"> 148 | <Key>Cfg_1</Key> 149 | <CfgParent>Base</CfgParent> 150 | </BuildConfiguration> 151 | </ItemGroup> 152 | <ProjectExtensions> 153 | <Borland.Personality>Delphi.Personality.12</Borland.Personality> 154 | <Borland.ProjectType>Application</Borland.ProjectType> 155 | <BorlandProject> 156 | <Delphi.Personality> 157 | <Source> 158 | <Source Name="MainSource">Samples.dpr</Source> 159 | </Source> 160 | <Excluded_Packages> 161 | <Excluded_Packages Name="C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\dclcxPivotGridOLAPRS26.bpl">ExpressPivotGrid OLAP by Developer Express Inc.</Excluded_Packages> 162 | <Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages> 163 | <Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> 164 | </Excluded_Packages> 165 | </Delphi.Personality> 166 | <Deployment Version="3"> 167 | <DeployFile LocalName="$(BDS)\Redist\osx32\libcgunwind.1.0.dylib" Class="DependencyModule"> 168 | <Platform Name="OSX32"> 169 | <Overwrite>true</Overwrite> 170 | </Platform> 171 | </DeployFile> 172 | <DeployFile LocalName="$(BDS)\Redist\iossimulator\libcgunwind.1.0.dylib" Class="DependencyModule"> 173 | <Platform Name="iOSSimulator"> 174 | <Overwrite>true</Overwrite> 175 | </Platform> 176 | </DeployFile> 177 | <DeployFile LocalName="$(BDS)\Redist\iossimulator\libpcre.dylib" Class="DependencyModule"> 178 | <Platform Name="iOSSimulator"> 179 | <Overwrite>true</Overwrite> 180 | </Platform> 181 | </DeployFile> 182 | <DeployFile LocalName="Win32\Debug\Samples.exe" Configuration="Debug" Class="ProjectOutput"> 183 | <Platform Name="Win32"> 184 | <RemoteName>Samples.exe</RemoteName> 185 | <Overwrite>true</Overwrite> 186 | </Platform> 187 | </DeployFile> 188 | <DeployFile LocalName="Win32\Debug\Samples.exe" Configuration="Debug" Class="ProjectOutput"> 189 | <Platform Name="Win32"> 190 | <RemoteName>Samples.exe</RemoteName> 191 | <Overwrite>true</Overwrite> 192 | </Platform> 193 | </DeployFile> 194 | <DeployClass Name="AdditionalDebugSymbols"> 195 | <Platform Name="iOSSimulator"> 196 | <Operation>1</Operation> 197 | </Platform> 198 | <Platform Name="OSX32"> 199 | <RemoteDir>Contents\MacOS</RemoteDir> 200 | <Operation>1</Operation> 201 | </Platform> 202 | <Platform Name="Win32"> 203 | <Operation>0</Operation> 204 | </Platform> 205 | </DeployClass> 206 | <DeployClass Name="AndroidClassesDexFile"> 207 | <Platform Name="Android"> 208 | <RemoteDir>classes</RemoteDir> 209 | <Operation>1</Operation> 210 | </Platform> 211 | <Platform Name="Android64"> 212 | <RemoteDir>classes</RemoteDir> 213 | <Operation>1</Operation> 214 | </Platform> 215 | </DeployClass> 216 | <DeployClass Name="AndroidFileProvider"> 217 | <Platform Name="Android"> 218 | <RemoteDir>res\xml</RemoteDir> 219 | <Operation>1</Operation> 220 | </Platform> 221 | <Platform Name="Android64"> 222 | <RemoteDir>res\xml</RemoteDir> 223 | <Operation>1</Operation> 224 | </Platform> 225 | </DeployClass> 226 | <DeployClass Name="AndroidGDBServer"> 227 | <Platform Name="Android"> 228 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 229 | <Operation>1</Operation> 230 | </Platform> 231 | </DeployClass> 232 | <DeployClass Name="AndroidLibnativeArmeabiFile"> 233 | <Platform Name="Android"> 234 | <RemoteDir>library\lib\armeabi</RemoteDir> 235 | <Operation>1</Operation> 236 | </Platform> 237 | <Platform Name="Android64"> 238 | <RemoteDir>library\lib\armeabi</RemoteDir> 239 | <Operation>1</Operation> 240 | </Platform> 241 | </DeployClass> 242 | <DeployClass Name="AndroidLibnativeArmeabiv7aFile"> 243 | <Platform Name="Android64"> 244 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 245 | <Operation>1</Operation> 246 | </Platform> 247 | </DeployClass> 248 | <DeployClass Name="AndroidLibnativeMipsFile"> 249 | <Platform Name="Android"> 250 | <RemoteDir>library\lib\mips</RemoteDir> 251 | <Operation>1</Operation> 252 | </Platform> 253 | <Platform Name="Android64"> 254 | <RemoteDir>library\lib\mips</RemoteDir> 255 | <Operation>1</Operation> 256 | </Platform> 257 | </DeployClass> 258 | <DeployClass Name="AndroidServiceOutput"> 259 | <Platform Name="Android"> 260 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 261 | <Operation>1</Operation> 262 | </Platform> 263 | <Platform Name="Android64"> 264 | <RemoteDir>library\lib\arm64-v8a</RemoteDir> 265 | <Operation>1</Operation> 266 | </Platform> 267 | </DeployClass> 268 | <DeployClass Name="AndroidServiceOutput_Android32"> 269 | <Platform Name="Android64"> 270 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 271 | <Operation>1</Operation> 272 | </Platform> 273 | </DeployClass> 274 | <DeployClass Name="AndroidSplashImageDef"> 275 | <Platform Name="Android"> 276 | <RemoteDir>res\drawable</RemoteDir> 277 | <Operation>1</Operation> 278 | </Platform> 279 | <Platform Name="Android64"> 280 | <RemoteDir>res\drawable</RemoteDir> 281 | <Operation>1</Operation> 282 | </Platform> 283 | </DeployClass> 284 | <DeployClass Name="AndroidSplashStyles"> 285 | <Platform Name="Android"> 286 | <RemoteDir>res\values</RemoteDir> 287 | <Operation>1</Operation> 288 | </Platform> 289 | <Platform Name="Android64"> 290 | <RemoteDir>res\values</RemoteDir> 291 | <Operation>1</Operation> 292 | </Platform> 293 | </DeployClass> 294 | <DeployClass Name="AndroidSplashStylesV21"> 295 | <Platform Name="Android"> 296 | <RemoteDir>res\values-v21</RemoteDir> 297 | <Operation>1</Operation> 298 | </Platform> 299 | <Platform Name="Android64"> 300 | <RemoteDir>res\values-v21</RemoteDir> 301 | <Operation>1</Operation> 302 | </Platform> 303 | </DeployClass> 304 | <DeployClass Name="Android_Colors"> 305 | <Platform Name="Android"> 306 | <RemoteDir>res\values</RemoteDir> 307 | <Operation>1</Operation> 308 | </Platform> 309 | <Platform Name="Android64"> 310 | <RemoteDir>res\values</RemoteDir> 311 | <Operation>1</Operation> 312 | </Platform> 313 | </DeployClass> 314 | <DeployClass Name="Android_DefaultAppIcon"> 315 | <Platform Name="Android"> 316 | <RemoteDir>res\drawable</RemoteDir> 317 | <Operation>1</Operation> 318 | </Platform> 319 | <Platform Name="Android64"> 320 | <RemoteDir>res\drawable</RemoteDir> 321 | <Operation>1</Operation> 322 | </Platform> 323 | </DeployClass> 324 | <DeployClass Name="Android_LauncherIcon144"> 325 | <Platform Name="Android"> 326 | <RemoteDir>res\drawable-xxhdpi</RemoteDir> 327 | <Operation>1</Operation> 328 | </Platform> 329 | <Platform Name="Android64"> 330 | <RemoteDir>res\drawable-xxhdpi</RemoteDir> 331 | <Operation>1</Operation> 332 | </Platform> 333 | </DeployClass> 334 | <DeployClass Name="Android_LauncherIcon36"> 335 | <Platform Name="Android"> 336 | <RemoteDir>res\drawable-ldpi</RemoteDir> 337 | <Operation>1</Operation> 338 | </Platform> 339 | <Platform Name="Android64"> 340 | <RemoteDir>res\drawable-ldpi</RemoteDir> 341 | <Operation>1</Operation> 342 | </Platform> 343 | </DeployClass> 344 | <DeployClass Name="Android_LauncherIcon48"> 345 | <Platform Name="Android"> 346 | <RemoteDir>res\drawable-mdpi</RemoteDir> 347 | <Operation>1</Operation> 348 | </Platform> 349 | <Platform Name="Android64"> 350 | <RemoteDir>res\drawable-mdpi</RemoteDir> 351 | <Operation>1</Operation> 352 | </Platform> 353 | </DeployClass> 354 | <DeployClass Name="Android_LauncherIcon72"> 355 | <Platform Name="Android"> 356 | <RemoteDir>res\drawable-hdpi</RemoteDir> 357 | <Operation>1</Operation> 358 | </Platform> 359 | <Platform Name="Android64"> 360 | <RemoteDir>res\drawable-hdpi</RemoteDir> 361 | <Operation>1</Operation> 362 | </Platform> 363 | </DeployClass> 364 | <DeployClass Name="Android_LauncherIcon96"> 365 | <Platform Name="Android"> 366 | <RemoteDir>res\drawable-xhdpi</RemoteDir> 367 | <Operation>1</Operation> 368 | </Platform> 369 | <Platform Name="Android64"> 370 | <RemoteDir>res\drawable-xhdpi</RemoteDir> 371 | <Operation>1</Operation> 372 | </Platform> 373 | </DeployClass> 374 | <DeployClass Name="Android_NotificationIcon24"> 375 | <Platform Name="Android"> 376 | <RemoteDir>res\drawable-mdpi</RemoteDir> 377 | <Operation>1</Operation> 378 | </Platform> 379 | <Platform Name="Android64"> 380 | <RemoteDir>res\drawable-mdpi</RemoteDir> 381 | <Operation>1</Operation> 382 | </Platform> 383 | </DeployClass> 384 | <DeployClass Name="Android_NotificationIcon36"> 385 | <Platform Name="Android"> 386 | <RemoteDir>res\drawable-hdpi</RemoteDir> 387 | <Operation>1</Operation> 388 | </Platform> 389 | <Platform Name="Android64"> 390 | <RemoteDir>res\drawable-hdpi</RemoteDir> 391 | <Operation>1</Operation> 392 | </Platform> 393 | </DeployClass> 394 | <DeployClass Name="Android_NotificationIcon48"> 395 | <Platform Name="Android"> 396 | <RemoteDir>res\drawable-xhdpi</RemoteDir> 397 | <Operation>1</Operation> 398 | </Platform> 399 | <Platform Name="Android64"> 400 | <RemoteDir>res\drawable-xhdpi</RemoteDir> 401 | <Operation>1</Operation> 402 | </Platform> 403 | </DeployClass> 404 | <DeployClass Name="Android_NotificationIcon72"> 405 | <Platform Name="Android"> 406 | <RemoteDir>res\drawable-xxhdpi</RemoteDir> 407 | <Operation>1</Operation> 408 | </Platform> 409 | <Platform Name="Android64"> 410 | <RemoteDir>res\drawable-xxhdpi</RemoteDir> 411 | <Operation>1</Operation> 412 | </Platform> 413 | </DeployClass> 414 | <DeployClass Name="Android_NotificationIcon96"> 415 | <Platform Name="Android"> 416 | <RemoteDir>res\drawable-xxxhdpi</RemoteDir> 417 | <Operation>1</Operation> 418 | </Platform> 419 | <Platform Name="Android64"> 420 | <RemoteDir>res\drawable-xxxhdpi</RemoteDir> 421 | <Operation>1</Operation> 422 | </Platform> 423 | </DeployClass> 424 | <DeployClass Name="Android_SplashImage426"> 425 | <Platform Name="Android"> 426 | <RemoteDir>res\drawable-small</RemoteDir> 427 | <Operation>1</Operation> 428 | </Platform> 429 | <Platform Name="Android64"> 430 | <RemoteDir>res\drawable-small</RemoteDir> 431 | <Operation>1</Operation> 432 | </Platform> 433 | </DeployClass> 434 | <DeployClass Name="Android_SplashImage470"> 435 | <Platform Name="Android"> 436 | <RemoteDir>res\drawable-normal</RemoteDir> 437 | <Operation>1</Operation> 438 | </Platform> 439 | <Platform Name="Android64"> 440 | <RemoteDir>res\drawable-normal</RemoteDir> 441 | <Operation>1</Operation> 442 | </Platform> 443 | </DeployClass> 444 | <DeployClass Name="Android_SplashImage640"> 445 | <Platform Name="Android"> 446 | <RemoteDir>res\drawable-large</RemoteDir> 447 | <Operation>1</Operation> 448 | </Platform> 449 | <Platform Name="Android64"> 450 | <RemoteDir>res\drawable-large</RemoteDir> 451 | <Operation>1</Operation> 452 | </Platform> 453 | </DeployClass> 454 | <DeployClass Name="Android_SplashImage960"> 455 | <Platform Name="Android"> 456 | <RemoteDir>res\drawable-xlarge</RemoteDir> 457 | <Operation>1</Operation> 458 | </Platform> 459 | <Platform Name="Android64"> 460 | <RemoteDir>res\drawable-xlarge</RemoteDir> 461 | <Operation>1</Operation> 462 | </Platform> 463 | </DeployClass> 464 | <DeployClass Name="Android_Strings"> 465 | <Platform Name="Android"> 466 | <RemoteDir>res\values</RemoteDir> 467 | <Operation>1</Operation> 468 | </Platform> 469 | <Platform Name="Android64"> 470 | <RemoteDir>res\values</RemoteDir> 471 | <Operation>1</Operation> 472 | </Platform> 473 | </DeployClass> 474 | <DeployClass Name="DebugSymbols"> 475 | <Platform Name="iOSSimulator"> 476 | <Operation>1</Operation> 477 | </Platform> 478 | <Platform Name="OSX32"> 479 | <RemoteDir>Contents\MacOS</RemoteDir> 480 | <Operation>1</Operation> 481 | </Platform> 482 | <Platform Name="Win32"> 483 | <Operation>0</Operation> 484 | </Platform> 485 | </DeployClass> 486 | <DeployClass Name="DependencyFramework"> 487 | <Platform Name="OSX32"> 488 | <RemoteDir>Contents\MacOS</RemoteDir> 489 | <Operation>1</Operation> 490 | <Extensions>.framework</Extensions> 491 | </Platform> 492 | <Platform Name="OSX64"> 493 | <RemoteDir>Contents\MacOS</RemoteDir> 494 | <Operation>1</Operation> 495 | <Extensions>.framework</Extensions> 496 | </Platform> 497 | <Platform Name="Win32"> 498 | <Operation>0</Operation> 499 | </Platform> 500 | </DeployClass> 501 | <DeployClass Name="DependencyModule"> 502 | <Platform Name="iOSDevice32"> 503 | <Operation>1</Operation> 504 | <Extensions>.dylib</Extensions> 505 | </Platform> 506 | <Platform Name="iOSDevice64"> 507 | <Operation>1</Operation> 508 | <Extensions>.dylib</Extensions> 509 | </Platform> 510 | <Platform Name="iOSSimulator"> 511 | <Operation>1</Operation> 512 | <Extensions>.dylib</Extensions> 513 | </Platform> 514 | <Platform Name="OSX32"> 515 | <RemoteDir>Contents\MacOS</RemoteDir> 516 | <Operation>1</Operation> 517 | <Extensions>.dylib</Extensions> 518 | </Platform> 519 | <Platform Name="OSX64"> 520 | <RemoteDir>Contents\MacOS</RemoteDir> 521 | <Operation>1</Operation> 522 | <Extensions>.dylib</Extensions> 523 | </Platform> 524 | <Platform Name="Win32"> 525 | <Operation>0</Operation> 526 | <Extensions>.dll;.bpl</Extensions> 527 | </Platform> 528 | </DeployClass> 529 | <DeployClass Required="true" Name="DependencyPackage"> 530 | <Platform Name="iOSDevice32"> 531 | <Operation>1</Operation> 532 | <Extensions>.dylib</Extensions> 533 | </Platform> 534 | <Platform Name="iOSDevice64"> 535 | <Operation>1</Operation> 536 | <Extensions>.dylib</Extensions> 537 | </Platform> 538 | <Platform Name="iOSSimulator"> 539 | <Operation>1</Operation> 540 | <Extensions>.dylib</Extensions> 541 | </Platform> 542 | <Platform Name="OSX32"> 543 | <RemoteDir>Contents\MacOS</RemoteDir> 544 | <Operation>1</Operation> 545 | <Extensions>.dylib</Extensions> 546 | </Platform> 547 | <Platform Name="OSX64"> 548 | <RemoteDir>Contents\MacOS</RemoteDir> 549 | <Operation>1</Operation> 550 | <Extensions>.dylib</Extensions> 551 | </Platform> 552 | <Platform Name="Win32"> 553 | <Operation>0</Operation> 554 | <Extensions>.bpl</Extensions> 555 | </Platform> 556 | </DeployClass> 557 | <DeployClass Name="File"> 558 | <Platform Name="Android"> 559 | <Operation>0</Operation> 560 | </Platform> 561 | <Platform Name="Android64"> 562 | <Operation>0</Operation> 563 | </Platform> 564 | <Platform Name="iOSDevice32"> 565 | <Operation>0</Operation> 566 | </Platform> 567 | <Platform Name="iOSDevice64"> 568 | <Operation>0</Operation> 569 | </Platform> 570 | <Platform Name="iOSSimulator"> 571 | <Operation>0</Operation> 572 | </Platform> 573 | <Platform Name="OSX32"> 574 | <RemoteDir>Contents\Resources\StartUp\</RemoteDir> 575 | <Operation>0</Operation> 576 | </Platform> 577 | <Platform Name="OSX64"> 578 | <RemoteDir>Contents\Resources\StartUp\</RemoteDir> 579 | <Operation>0</Operation> 580 | </Platform> 581 | <Platform Name="Win32"> 582 | <Operation>0</Operation> 583 | </Platform> 584 | </DeployClass> 585 | <DeployClass Name="iPad_Launch1024x768"> 586 | <Platform Name="iOSDevice32"> 587 | <Operation>1</Operation> 588 | </Platform> 589 | <Platform Name="iOSDevice64"> 590 | <Operation>1</Operation> 591 | </Platform> 592 | <Platform Name="iOSSimulator"> 593 | <Operation>1</Operation> 594 | </Platform> 595 | </DeployClass> 596 | <DeployClass Name="iPad_Launch1536x2048"> 597 | <Platform Name="iOSDevice32"> 598 | <Operation>1</Operation> 599 | </Platform> 600 | <Platform Name="iOSDevice64"> 601 | <Operation>1</Operation> 602 | </Platform> 603 | <Platform Name="iOSSimulator"> 604 | <Operation>1</Operation> 605 | </Platform> 606 | </DeployClass> 607 | <DeployClass Name="iPad_Launch1668"> 608 | <Platform Name="iOSDevice32"> 609 | <Operation>1</Operation> 610 | </Platform> 611 | <Platform Name="iOSDevice64"> 612 | <Operation>1</Operation> 613 | </Platform> 614 | <Platform Name="iOSSimulator"> 615 | <Operation>1</Operation> 616 | </Platform> 617 | </DeployClass> 618 | <DeployClass Name="iPad_Launch1668x2388"> 619 | <Platform Name="iOSDevice32"> 620 | <Operation>1</Operation> 621 | </Platform> 622 | <Platform Name="iOSDevice64"> 623 | <Operation>1</Operation> 624 | </Platform> 625 | <Platform Name="iOSSimulator"> 626 | <Operation>1</Operation> 627 | </Platform> 628 | </DeployClass> 629 | <DeployClass Name="iPad_Launch2048x1536"> 630 | <Platform Name="iOSDevice32"> 631 | <Operation>1</Operation> 632 | </Platform> 633 | <Platform Name="iOSDevice64"> 634 | <Operation>1</Operation> 635 | </Platform> 636 | <Platform Name="iOSSimulator"> 637 | <Operation>1</Operation> 638 | </Platform> 639 | </DeployClass> 640 | <DeployClass Name="iPad_Launch2048x2732"> 641 | <Platform Name="iOSDevice32"> 642 | <Operation>1</Operation> 643 | </Platform> 644 | <Platform Name="iOSDevice64"> 645 | <Operation>1</Operation> 646 | </Platform> 647 | <Platform Name="iOSSimulator"> 648 | <Operation>1</Operation> 649 | </Platform> 650 | </DeployClass> 651 | <DeployClass Name="iPad_Launch2224"> 652 | <Platform Name="iOSDevice32"> 653 | <Operation>1</Operation> 654 | </Platform> 655 | <Platform Name="iOSDevice64"> 656 | <Operation>1</Operation> 657 | </Platform> 658 | <Platform Name="iOSSimulator"> 659 | <Operation>1</Operation> 660 | </Platform> 661 | </DeployClass> 662 | <DeployClass Name="iPad_Launch2388x1668"> 663 | <Platform Name="iOSDevice32"> 664 | <Operation>1</Operation> 665 | </Platform> 666 | <Platform Name="iOSDevice64"> 667 | <Operation>1</Operation> 668 | </Platform> 669 | <Platform Name="iOSSimulator"> 670 | <Operation>1</Operation> 671 | </Platform> 672 | </DeployClass> 673 | <DeployClass Name="iPad_Launch2732x2048"> 674 | <Platform Name="iOSDevice32"> 675 | <Operation>1</Operation> 676 | </Platform> 677 | <Platform Name="iOSDevice64"> 678 | <Operation>1</Operation> 679 | </Platform> 680 | <Platform Name="iOSSimulator"> 681 | <Operation>1</Operation> 682 | </Platform> 683 | </DeployClass> 684 | <DeployClass Name="iPad_Launch768x1024"> 685 | <Platform Name="iOSDevice32"> 686 | <Operation>1</Operation> 687 | </Platform> 688 | <Platform Name="iOSDevice64"> 689 | <Operation>1</Operation> 690 | </Platform> 691 | <Platform Name="iOSSimulator"> 692 | <Operation>1</Operation> 693 | </Platform> 694 | </DeployClass> 695 | <DeployClass Name="iPhone_Launch1125"> 696 | <Platform Name="iOSDevice32"> 697 | <Operation>1</Operation> 698 | </Platform> 699 | <Platform Name="iOSDevice64"> 700 | <Operation>1</Operation> 701 | </Platform> 702 | <Platform Name="iOSSimulator"> 703 | <Operation>1</Operation> 704 | </Platform> 705 | </DeployClass> 706 | <DeployClass Name="iPhone_Launch1136x640"> 707 | <Platform Name="iOSDevice32"> 708 | <Operation>1</Operation> 709 | </Platform> 710 | <Platform Name="iOSDevice64"> 711 | <Operation>1</Operation> 712 | </Platform> 713 | <Platform Name="iOSSimulator"> 714 | <Operation>1</Operation> 715 | </Platform> 716 | </DeployClass> 717 | <DeployClass Name="iPhone_Launch1242"> 718 | <Platform Name="iOSDevice32"> 719 | <Operation>1</Operation> 720 | </Platform> 721 | <Platform Name="iOSDevice64"> 722 | <Operation>1</Operation> 723 | </Platform> 724 | <Platform Name="iOSSimulator"> 725 | <Operation>1</Operation> 726 | </Platform> 727 | </DeployClass> 728 | <DeployClass Name="iPhone_Launch1242x2688"> 729 | <Platform Name="iOSDevice32"> 730 | <Operation>1</Operation> 731 | </Platform> 732 | <Platform Name="iOSDevice64"> 733 | <Operation>1</Operation> 734 | </Platform> 735 | <Platform Name="iOSSimulator"> 736 | <Operation>1</Operation> 737 | </Platform> 738 | </DeployClass> 739 | <DeployClass Name="iPhone_Launch1334"> 740 | <Platform Name="iOSDevice32"> 741 | <Operation>1</Operation> 742 | </Platform> 743 | <Platform Name="iOSDevice64"> 744 | <Operation>1</Operation> 745 | </Platform> 746 | <Platform Name="iOSSimulator"> 747 | <Operation>1</Operation> 748 | </Platform> 749 | </DeployClass> 750 | <DeployClass Name="iPhone_Launch1792"> 751 | <Platform Name="iOSDevice32"> 752 | <Operation>1</Operation> 753 | </Platform> 754 | <Platform Name="iOSDevice64"> 755 | <Operation>1</Operation> 756 | </Platform> 757 | <Platform Name="iOSSimulator"> 758 | <Operation>1</Operation> 759 | </Platform> 760 | </DeployClass> 761 | <DeployClass Name="iPhone_Launch2208"> 762 | <Platform Name="iOSDevice32"> 763 | <Operation>1</Operation> 764 | </Platform> 765 | <Platform Name="iOSDevice64"> 766 | <Operation>1</Operation> 767 | </Platform> 768 | <Platform Name="iOSSimulator"> 769 | <Operation>1</Operation> 770 | </Platform> 771 | </DeployClass> 772 | <DeployClass Name="iPhone_Launch2436"> 773 | <Platform Name="iOSDevice32"> 774 | <Operation>1</Operation> 775 | </Platform> 776 | <Platform Name="iOSDevice64"> 777 | <Operation>1</Operation> 778 | </Platform> 779 | <Platform Name="iOSSimulator"> 780 | <Operation>1</Operation> 781 | </Platform> 782 | </DeployClass> 783 | <DeployClass Name="iPhone_Launch2688x1242"> 784 | <Platform Name="iOSDevice32"> 785 | <Operation>1</Operation> 786 | </Platform> 787 | <Platform Name="iOSDevice64"> 788 | <Operation>1</Operation> 789 | </Platform> 790 | <Platform Name="iOSSimulator"> 791 | <Operation>1</Operation> 792 | </Platform> 793 | </DeployClass> 794 | <DeployClass Name="iPhone_Launch320"> 795 | <Platform Name="iOSDevice32"> 796 | <Operation>1</Operation> 797 | </Platform> 798 | <Platform Name="iOSDevice64"> 799 | <Operation>1</Operation> 800 | </Platform> 801 | <Platform Name="iOSSimulator"> 802 | <Operation>1</Operation> 803 | </Platform> 804 | </DeployClass> 805 | <DeployClass Name="iPhone_Launch640"> 806 | <Platform Name="iOSDevice32"> 807 | <Operation>1</Operation> 808 | </Platform> 809 | <Platform Name="iOSDevice64"> 810 | <Operation>1</Operation> 811 | </Platform> 812 | <Platform Name="iOSSimulator"> 813 | <Operation>1</Operation> 814 | </Platform> 815 | </DeployClass> 816 | <DeployClass Name="iPhone_Launch640x1136"> 817 | <Platform Name="iOSDevice32"> 818 | <Operation>1</Operation> 819 | </Platform> 820 | <Platform Name="iOSDevice64"> 821 | <Operation>1</Operation> 822 | </Platform> 823 | <Platform Name="iOSSimulator"> 824 | <Operation>1</Operation> 825 | </Platform> 826 | </DeployClass> 827 | <DeployClass Name="iPhone_Launch750"> 828 | <Platform Name="iOSDevice32"> 829 | <Operation>1</Operation> 830 | </Platform> 831 | <Platform Name="iOSDevice64"> 832 | <Operation>1</Operation> 833 | </Platform> 834 | <Platform Name="iOSSimulator"> 835 | <Operation>1</Operation> 836 | </Platform> 837 | </DeployClass> 838 | <DeployClass Name="iPhone_Launch828"> 839 | <Platform Name="iOSDevice32"> 840 | <Operation>1</Operation> 841 | </Platform> 842 | <Platform Name="iOSDevice64"> 843 | <Operation>1</Operation> 844 | </Platform> 845 | <Platform Name="iOSSimulator"> 846 | <Operation>1</Operation> 847 | </Platform> 848 | </DeployClass> 849 | <DeployClass Name="ProjectAndroidManifest"> 850 | <Platform Name="Android"> 851 | <Operation>1</Operation> 852 | </Platform> 853 | <Platform Name="Android64"> 854 | <Operation>1</Operation> 855 | </Platform> 856 | </DeployClass> 857 | <DeployClass Name="ProjectiOSDeviceDebug"> 858 | <Platform Name="iOSDevice32"> 859 | <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> 860 | <Operation>1</Operation> 861 | </Platform> 862 | <Platform Name="iOSDevice64"> 863 | <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> 864 | <Operation>1</Operation> 865 | </Platform> 866 | </DeployClass> 867 | <DeployClass Name="ProjectiOSDeviceResourceRules"> 868 | <Platform Name="iOSDevice32"> 869 | <Operation>1</Operation> 870 | </Platform> 871 | <Platform Name="iOSDevice64"> 872 | <Operation>1</Operation> 873 | </Platform> 874 | </DeployClass> 875 | <DeployClass Name="ProjectiOSEntitlements"> 876 | <Platform Name="iOSDevice32"> 877 | <RemoteDir>..\</RemoteDir> 878 | <Operation>1</Operation> 879 | </Platform> 880 | <Platform Name="iOSDevice64"> 881 | <RemoteDir>..\</RemoteDir> 882 | <Operation>1</Operation> 883 | </Platform> 884 | </DeployClass> 885 | <DeployClass Name="ProjectiOSInfoPList"> 886 | <Platform Name="iOSDevice32"> 887 | <Operation>1</Operation> 888 | </Platform> 889 | <Platform Name="iOSDevice64"> 890 | <Operation>1</Operation> 891 | </Platform> 892 | <Platform Name="iOSSimulator"> 893 | <Operation>1</Operation> 894 | </Platform> 895 | </DeployClass> 896 | <DeployClass Name="ProjectiOSResource"> 897 | <Platform Name="iOSDevice32"> 898 | <Operation>1</Operation> 899 | </Platform> 900 | <Platform Name="iOSDevice64"> 901 | <Operation>1</Operation> 902 | </Platform> 903 | <Platform Name="iOSSimulator"> 904 | <Operation>1</Operation> 905 | </Platform> 906 | </DeployClass> 907 | <DeployClass Name="ProjectOSXDebug"> 908 | <Platform Name="OSX64"> 909 | <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir> 910 | <Operation>1</Operation> 911 | </Platform> 912 | </DeployClass> 913 | <DeployClass Name="ProjectOSXEntitlements"> 914 | <Platform Name="OSX32"> 915 | <RemoteDir>..\</RemoteDir> 916 | <Operation>1</Operation> 917 | </Platform> 918 | <Platform Name="OSX64"> 919 | <RemoteDir>..\</RemoteDir> 920 | <Operation>1</Operation> 921 | </Platform> 922 | </DeployClass> 923 | <DeployClass Name="ProjectOSXInfoPList"> 924 | <Platform Name="OSX32"> 925 | <RemoteDir>Contents</RemoteDir> 926 | <Operation>1</Operation> 927 | </Platform> 928 | <Platform Name="OSX64"> 929 | <RemoteDir>Contents</RemoteDir> 930 | <Operation>1</Operation> 931 | </Platform> 932 | </DeployClass> 933 | <DeployClass Name="ProjectOSXResource"> 934 | <Platform Name="OSX32"> 935 | <RemoteDir>Contents\Resources</RemoteDir> 936 | <Operation>1</Operation> 937 | </Platform> 938 | <Platform Name="OSX64"> 939 | <RemoteDir>Contents\Resources</RemoteDir> 940 | <Operation>1</Operation> 941 | </Platform> 942 | </DeployClass> 943 | <DeployClass Required="true" Name="ProjectOutput"> 944 | <Platform Name="Android"> 945 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 946 | <Operation>1</Operation> 947 | </Platform> 948 | <Platform Name="Android64"> 949 | <RemoteDir>library\lib\arm64-v8a</RemoteDir> 950 | <Operation>1</Operation> 951 | </Platform> 952 | <Platform Name="iOSDevice32"> 953 | <Operation>1</Operation> 954 | </Platform> 955 | <Platform Name="iOSDevice64"> 956 | <Operation>1</Operation> 957 | </Platform> 958 | <Platform Name="iOSSimulator"> 959 | <Operation>1</Operation> 960 | </Platform> 961 | <Platform Name="Linux64"> 962 | <Operation>1</Operation> 963 | </Platform> 964 | <Platform Name="OSX32"> 965 | <RemoteDir>Contents\MacOS</RemoteDir> 966 | <Operation>1</Operation> 967 | </Platform> 968 | <Platform Name="OSX64"> 969 | <RemoteDir>Contents\MacOS</RemoteDir> 970 | <Operation>1</Operation> 971 | </Platform> 972 | <Platform Name="Win32"> 973 | <Operation>0</Operation> 974 | </Platform> 975 | </DeployClass> 976 | <DeployClass Name="ProjectOutput_Android32"> 977 | <Platform Name="Android64"> 978 | <RemoteDir>library\lib\armeabi-v7a</RemoteDir> 979 | <Operation>1</Operation> 980 | </Platform> 981 | </DeployClass> 982 | <DeployClass Name="ProjectUWPManifest"> 983 | <Platform Name="Win32"> 984 | <Operation>1</Operation> 985 | </Platform> 986 | <Platform Name="Win64"> 987 | <Operation>1</Operation> 988 | </Platform> 989 | </DeployClass> 990 | <DeployClass Name="UWP_DelphiLogo150"> 991 | <Platform Name="Win32"> 992 | <RemoteDir>Assets</RemoteDir> 993 | <Operation>1</Operation> 994 | </Platform> 995 | <Platform Name="Win64"> 996 | <RemoteDir>Assets</RemoteDir> 997 | <Operation>1</Operation> 998 | </Platform> 999 | </DeployClass> 1000 | <DeployClass Name="UWP_DelphiLogo44"> 1001 | <Platform Name="Win32"> 1002 | <RemoteDir>Assets</RemoteDir> 1003 | <Operation>1</Operation> 1004 | </Platform> 1005 | <Platform Name="Win64"> 1006 | <RemoteDir>Assets</RemoteDir> 1007 | <Operation>1</Operation> 1008 | </Platform> 1009 | </DeployClass> 1010 | <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/> 1011 | <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/> 1012 | <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/> 1013 | <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/> 1014 | <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/> 1015 | <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/> 1016 | <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/> 1017 | <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/> 1018 | <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/> 1019 | <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/> 1020 | </Deployment> 1021 | <Platforms> 1022 | <Platform value="Android">False</Platform> 1023 | <Platform value="Android64">False</Platform> 1024 | <Platform value="Win32">True</Platform> 1025 | <Platform value="Win64">False</Platform> 1026 | </Platforms> 1027 | </BorlandProject> 1028 | <ProjectFileVersion>12</ProjectFileVersion> 1029 | </ProjectExtensions> 1030 | <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> 1031 | <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> 1032 | <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/> 1033 | </Project> 1034 | --------------------------------------------------------------------------------