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