#ifndef MINIMAL
#  define MINIMAL
#endif
#ifndef NDEBUG
#  define NDEBUG
#endif
#define GPSUSIONE

#include "../../osl/lib/rating/feature.cc"
#include "../../osl/lib/rating/group.cc"
#include "../../osl/lib/rating/featureSet.cc"
#include "../../osl/lib/rating/ratedMove.cc"
#include "../../osl/lib/rating/ratedMoveVector.cc"
#include "../../osl/lib/rating/ratingEnv.cc"
#include "../../osl/lib/rating/feature/pattern.cc"
#include "../../osl/lib/rating/feature/capture.cc"
#include "../../osl/lib/rating/feature/checkmate.cc"
#include "../../osl/lib/rating/feature/square.cc"
#include "../../osl/lib/rating/feature/countEffect2.cc"
#include "../../osl/lib/rating/feature/bigramAttack.cc"
#include "../../osl/lib/rating/feature/king8.cc"
#include "../../osl/lib/rating/group/bigramGroup.cc"
#include "../../osl/lib/rating/group/captureGroup.cc"
#include "../../osl/lib/rating/group/squareGroup.cc"
#include "../../osl/lib/rating/group/patternGroup.cc"
#include "../../osl/lib/rating/group/escape.cc"
#include "../../osl/lib/rating/group/king8Group.cc"

#include "../../osl/lib/move_probability/feature.cc"
#include "../../osl/lib/move_probability/moveInfo.cc"
#include "../../osl/lib/move_probability/featureSet.cc"
#include "../../osl/lib/move_probability/stateInfo.cc"
#include "../../osl/lib/record/opening/bookInMemory.cc"

#include "../../osl/lib/search/killerMoveTable.cc"
#include "../../osl/lib/search/bigramKillerMove.cc"
#include "../../osl/lib/search/quiescenceSearch2.cc"
#include "../../osl/lib/search/searchRecorder.cc"
#include "../../osl/lib/search/sortCaptureMoves.cc"
#include "../../osl/lib/search/simpleHashTable.cc"
#include "../../osl/lib/search/quiescenceGenerator.cc"
#include "../../osl/lib/search/timeControl.cc"
#include "../../osl/lib/search/threatmateState.cc"
#include "../../osl/lib/search/searchState2.cc"
#include "../../osl/lib/search/searchTimer.cc"
#include "../../osl/lib/search/breakThreatmate.cc"
#include "../../osl/lib/search/simpleHashRecord.cc"
#include "../../osl/lib/search/quiescenceRecord.cc"
#include "../../osl/lib/checkmate/limitToCheckCount.cc"
#include "../../osl/lib/search/alphaBeta2.cc"
#include "../../osl/lib/search/alphaBeta2Parallel.cc"
#include "../../osl/lib/search/moveGenerator.cc"
#include "../../osl/lib/search/moveWithComment.cc"
#include "../../osl/lib/search/moveStackRejections.cc"
#include "../../osl/lib/search/usiReporter.cc"
#include "../../osl/lib/search/searchMonitor.cc"
#include "../../osl/lib/threatmate/kfendPredictor.cc"

#include "../../osl/lib/stl/pool_allocator.cc"
#include "../../osl/lib/hash/boardKey.cc"
#ifndef OSL_LONG_HASH_KEY
#  include "../../osl/lib/hash/boardKey128.cc"
#endif
#include "../../osl/lib/hash/hashKey.cc"
#include "../../osl/lib/hash/hashKeyStack.cc"
#include "../../osl/lib/effect/numBitmapEffect.cc"
#include "../../osl/lib/effect/boardBitMask.cc"
#include "../../osl/lib/effect/liberty8.cc"
#include "../../osl/lib/effect/liberty8Table.cc"
#include "../../osl/lib/effect/numSimpleEffect.cc"
#include "../../osl/lib/effect/effectedNumTable.cc"
#include "../../osl/lib/mobility/mobilityTable.cc"
#include "../../osl/lib/container/bitXmask.cc"
#include "../../osl/lib/container/pieceMask.cc"
#include "../../osl/lib/container/moveStack.cc"
#include "../../osl/lib/container/moveLogProbVector.cc"
#include "../../osl/lib/container/pieceVector.cc"
#include "../../osl/lib/container/ptypeOSquareVector.cc"
#include "../../osl/lib/container/nearMask.cc"
#include "../../osl/lib/container/pieceValues.cc"
#include "../../osl/lib/container/square8.cc"
#include "../../osl/lib/container/boardMask.cc"
#include "../../osl/lib/eval/pieceEval.cc"
#include "../../osl/lib/eval/see.cc"
#include "../../osl/lib/eval/ml/weights.cc"
#include "../../osl/lib/eval/ml/piecePair.cc"
#include "../../osl/lib/eval/ml/piecePairKing.cc"
#include "../../osl/lib/eval/ml/openMidEndingEval.cc"
#include "../../osl/lib/eval/ml/pieceEval.cc"
#include "../../osl/lib/eval/ml/pin.cc"
#include "../../osl/lib/eval/ml/pieceStand.cc"
#include "../../osl/lib/eval/ml/mobility.cc"
#include "../../osl/lib/eval/ml/kingTable.cc"
#include "../../osl/lib/eval/ml/king8.cc"
#include "../../osl/lib/eval/ml/minorPiece.cc"
#include "../../osl/lib/eval/ml/majorPiece.cc"
#include "../../osl/lib/eval/ml/progress.cc"
#include "../../osl/lib/progress/ml/newProgress.cc"
#include "../../osl/lib/state/simpleState.cc"
#include "../../osl/lib/state/numEffectState.cc"
#include "../../osl/lib/state/historyState.cc"
#include "../../osl/lib/progress/effect5x3.cc"
#include "../../osl/lib/progress/effect5x3d.cc"
#include "../../osl/lib/progress/effect5x3Table.cc"
#include "../../osl/lib/ptype.cc"
#include "../../osl/lib/square.cc"
#include "../../osl/lib/player.cc"
#include "../../osl/lib/piece.cc"
#include "../../osl/lib/offset.cc"
#include "../../osl/lib/offset32.cc"
#include "../../osl/lib/pieceTable.cc"
#include "../../osl/lib/boardTable.cc"
#include "../../osl/lib/ptypeTable.cc"
#include "../../osl/lib/move.cc"
#include "../../osl/lib/direction.cc"
#include "../../osl/lib/sennichite.cc"
#include "../../osl/lib/centering3x3.cc"
#include "../../osl/lib/centering5x3.cc"
#include "../../osl/lib/moveLogProb.cc"
#include "../../osl/lib/pieceStand.cc"
#include "../../osl/lib/pieceStandIO.cc"
#include "../../osl/lib/pathEncoding.cc"
#include "../../osl/lib/tables.cc"
#include "../../osl/lib/repetitionCounter.cc"
#include "../../osl/lib/oslConfig.cc"
#include "../../osl/lib/misc/mask.cc"
#include "../../osl/lib/misc/milliSeconds.cc"
#include "../../osl/lib/misc/random.cc"
#include "../../osl/lib/misc/perfmon.cc"
#include "../../osl/lib/misc/nonBlockDelete.cc"
#include "../../osl/lib/misc/ncores.cc"
#include "../../osl/lib/misc/ctime.cc"
#include "../../osl/lib/misc/align16New.cc"
#include "../../osl/lib/misc/binaryIO.cc"
#include "../../osl/lib/enter_king/enterKing.cc"

#include "../../osl/lib/move_generator/open.cc"
#include "../../osl/lib/move_generator/drop.cc"
#include "../../osl/lib/move_generator/allMoves.cc"
#include "../../osl/lib/move_generator/addEffectWithEffect.cc"
#include "../../osl/lib/move_generator/escape_.cc"
#include "../../osl/lib/move_generator/pieceOnBoard.cc"
#include "../../osl/lib/move_generator/capture_.cc"
#include "../../osl/lib/move_generator/promote_.cc"
#include "../../osl/lib/move_generator/legalMoves.cc"
#include "../../osl/lib/move_generator/addEffect8.cc"
#include "../../osl/lib/move_generator/attackToPinned.cc"
#include "../../osl/lib/move_generator/additionalLance.cc"
#include "../../osl/lib/move_generator/addEffect8Table.cc"

#include "../../osl/lib/move_classifier/check_.cc"
#include "../../osl/lib/move_classifier/safeMove.cc"
#include "../../osl/lib/move_classifier/kingOpenMove.cc"
#include "../../osl/lib/move_classifier/blockLongEffect.cc"

#include "../../osl/lib/effect_util/additionalEffect.cc"
#include "../../osl/lib/effect_util/effectUtil.cc"
#include "../../osl/lib/effect_util/shadowEffect.cc"
#include "../../osl/lib/effect_util/neighboring8Direct.cc"
#include "../../osl/lib/effect_util/neighboring25Direct.cc"
#include "../../osl/lib/effect_util/sendOffSquare.cc"
#include "../../osl/lib/effect_util/neighboring8Effect.cc"

#include "../../osl/lib/checkmate/immediateCheckmateTable.cc"
#include "../../osl/lib/checkmate/proofNumberTable.cc"
#include "../../osl/lib/checkmate/king8Info.cc"

#include "../../osl/lib/checkmate/pieceCost.cc"
#include "../../osl/lib/checkmate/fixedDepthSearcher.cc"
#include "../../osl/lib/checkmate/proofDisproof.cc"
#include "../../osl/lib/checkmate/proofTreeDepthDfpn.cc"
#include "../../osl/lib/checkmate/dfpn.cc"
#include "../../osl/lib/checkmate/dfpnParallel.cc"
#include "../../osl/lib/checkmate/dualDfpn.cc"
#include "../../osl/lib/checkmate/checkmateIfCapture.cc"
#include "../../osl/lib/checkmate/immediateCheckmate.cc"

#include "../../osl/lib/game_playing/usiState.cc"
#include "../../osl/lib/game_playing/usiResponse.cc"
#include "../../osl/lib/game_playing/gameState.cc"
#include "../../osl/lib/game_playing/computerPlayer.cc"
#include "../../osl/lib/game_playing/csaLogger.cc"
#include "../../osl/lib/game_playing/gameManager.cc"
#include "../../osl/lib/game_playing/csaClient.cc"
#include "../../osl/lib/game_playing/cuiClient.cc"
#include "../../osl/lib/game_playing/alphaBetaPlayer.cc"
#include "../../osl/lib/game_playing/bookPlayer.cc"
#include "../../osl/lib/game_playing/timeKeeper.cc"
#include "../../osl/lib/game_playing/csaTime.cc"
#include "../../osl/lib/game_playing/weightTracer.cc"
#include "../../osl/lib/game_playing/openingBookTracer.cc"
#include "../../osl/lib/game_playing/historyToTable.cc"
#include "../../osl/lib/game_playing/searchPlayer.cc"
#include "../../osl/lib/game_playing/speculativeSearchPlayer.cc"
#include "../../osl/lib/game_playing/speculativeModel.cc"
#include "../../osl/lib/game_playing/speculativeAllMoves.cc"

#include "../../osl/lib/record/record.cc"
#include "../../osl/lib/record/usi.cc"
#include "../../osl/lib/record/psn.cc"
#include "../../osl/lib/record/csa.cc"
#include "../../osl/lib/record/csaString.cc"
#include "../../osl/lib/record/opening/openingBook.cc"
#include "../../osl/lib/record/csaRecord.cc"
#include "../../osl/lib/record/compactBoard.cc"

#include "../../osl/lib/stat/twoDimensionalStatistics.cc"
#include "../../osl/lib/stat/histogram.cc"
#include "../../osl/lib/stat/ratio.cc"

#include "gpsusi.cc"
